@@ -772,8 +772,6 @@ pub fn generic_simd_intrinsic<'a, 'gcc, 'tcx>(
772
772
sym:: simd_floor => "floor" ,
773
773
sym:: simd_fma => "fma" ,
774
774
sym:: simd_relaxed_fma => "fma" , // FIXME: this should relax to non-fused multiply-add when necessary
775
- sym:: simd_fpowi => "__builtin_powi" ,
776
- sym:: simd_fpow => "pow" ,
777
775
sym:: simd_fsin => "sin" ,
778
776
sym:: simd_fsqrt => "sqrt" ,
779
777
sym:: simd_round => "round" ,
@@ -788,24 +786,16 @@ pub fn generic_simd_intrinsic<'a, 'gcc, 'tcx>(
788
786
let mut vector_elements = vec ! [ ] ;
789
787
for i in 0 ..in_len {
790
788
let index = bx. context . new_rvalue_from_long ( bx. ulong_type , i as i64 ) ;
791
- // we have to treat fpowi specially, since fpowi's second argument is always an i32
792
789
let mut arguments = vec ! [ ] ;
793
- if name == sym:: simd_fpowi {
794
- arguments = vec ! [
795
- bx. extract_element( args[ 0 ] . immediate( ) , index) . to_rvalue( ) ,
796
- args[ 1 ] . immediate( ) ,
797
- ] ;
798
- } else {
799
- for arg in args {
800
- let mut element = bx. extract_element ( arg. immediate ( ) , index) . to_rvalue ( ) ;
801
- // FIXME: it would probably be better to not have casts here and use the proper
802
- // instructions.
803
- if let Some ( typ) = cast_type {
804
- element = bx. context . new_cast ( None , element, typ) ;
805
- }
806
- arguments. push ( element) ;
790
+ for arg in args {
791
+ let mut element = bx. extract_element ( arg. immediate ( ) , index) . to_rvalue ( ) ;
792
+ // FIXME: it would probably be better to not have casts here and use the proper
793
+ // instructions.
794
+ if let Some ( typ) = cast_type {
795
+ element = bx. context . new_cast ( None , element, typ) ;
807
796
}
808
- } ;
797
+ arguments. push ( element) ;
798
+ }
809
799
let mut result = bx. context . new_call ( None , function, & arguments) ;
810
800
if cast_type. is_some ( ) {
811
801
result = bx. context . new_cast ( None , result, elem_ty) ;
@@ -829,8 +819,6 @@ pub fn generic_simd_intrinsic<'a, 'gcc, 'tcx>(
829
819
| sym:: simd_floor
830
820
| sym:: simd_fma
831
821
| sym:: simd_relaxed_fma
832
- | sym:: simd_fpow
833
- | sym:: simd_fpowi
834
822
| sym:: simd_fsin
835
823
| sym:: simd_fsqrt
836
824
| sym:: simd_round
0 commit comments