@@ -22,7 +22,7 @@ pub(crate) fn codegen_llvm_intrinsic_call<'tcx>(
22
22
} ;
23
23
24
24
// Used by `_mm_movemask_epi8` and `_mm256_movemask_epi8`
25
- llvm. x86. sse2. pmovmskb. 128 | llvm. x86. avx2. pmovmskb | llvm. x86. sse2. movmsk. pd, ( c a) {
25
+ " llvm.x86.sse2.pmovmskb.128" | " llvm.x86.avx2.pmovmskb" | " llvm.x86.sse2.movmsk.pd" , ( c a) {
26
26
let ( lane_count, lane_ty) = a. layout( ) . ty. simd_size_and_type( fx. tcx) ;
27
27
let lane_ty = fx. clif_type( lane_ty) . unwrap( ) ;
28
28
assert!( lane_count <= 32 ) ;
@@ -51,7 +51,7 @@ pub(crate) fn codegen_llvm_intrinsic_call<'tcx>(
51
51
let res = CValue :: by_val( res, fx. layout_of( fx. tcx. types. i32 ) ) ;
52
52
ret. write_cvalue( fx, res) ;
53
53
} ;
54
- llvm. x86. sse2. cmp. ps | llvm. x86. sse2. cmp. pd, ( c x, c y, o kind) {
54
+ " llvm.x86.sse2.cmp.ps" | " llvm.x86.sse2.cmp.pd" , ( c x, c y, o kind) {
55
55
let kind_const = crate :: constant:: mir_operand_get_const_val( fx, kind) . expect( "llvm.x86.sse2.cmp.* kind not const" ) ;
56
56
let flt_cc = match kind_const. try_to_bits( Size :: from_bytes( 1 ) ) . unwrap_or_else( || panic!( "kind not scalar: {:?}" , kind_const) ) {
57
57
0 => FloatCC :: Equal ,
@@ -81,7 +81,7 @@ pub(crate) fn codegen_llvm_intrinsic_call<'tcx>(
81
81
bool_to_zero_or_max_uint( fx, res_lane_layout, res_lane)
82
82
} ) ;
83
83
} ;
84
- llvm. x86. sse2. psrli. d, ( c a, o imm8) {
84
+ " llvm.x86.sse2.psrli.d" , ( c a, o imm8) {
85
85
let imm8 = crate :: constant:: mir_operand_get_const_val( fx, imm8) . expect( "llvm.x86.sse2.psrli.d imm8 not const" ) ;
86
86
simd_for_each_lane( fx, a, ret, |fx, _lane_layout, res_lane_layout, lane| {
87
87
let res_lane = match imm8. try_to_bits( Size :: from_bytes( 4 ) ) . unwrap_or_else( || panic!( "imm8 not scalar: {:?}" , imm8) ) {
@@ -91,7 +91,7 @@ pub(crate) fn codegen_llvm_intrinsic_call<'tcx>(
91
91
CValue :: by_val( res_lane, res_lane_layout)
92
92
} ) ;
93
93
} ;
94
- llvm. x86. sse2. pslli. d, ( c a, o imm8) {
94
+ " llvm.x86.sse2.pslli.d" , ( c a, o imm8) {
95
95
let imm8 = crate :: constant:: mir_operand_get_const_val( fx, imm8) . expect( "llvm.x86.sse2.psrli.d imm8 not const" ) ;
96
96
simd_for_each_lane( fx, a, ret, |fx, _lane_layout, res_lane_layout, lane| {
97
97
let res_lane = match imm8. try_to_bits( Size :: from_bytes( 4 ) ) . unwrap_or_else( || panic!( "imm8 not scalar: {:?}" , imm8) ) {
@@ -101,7 +101,7 @@ pub(crate) fn codegen_llvm_intrinsic_call<'tcx>(
101
101
CValue :: by_val( res_lane, res_lane_layout)
102
102
} ) ;
103
103
} ;
104
- llvm. x86. sse2. storeu. dq, ( v mem_addr, c a) {
104
+ " llvm.x86.sse2.storeu.dq" , ( v mem_addr, c a) {
105
105
// FIXME correctly handle the unalignment
106
106
let dest = CPlace :: for_ptr( Pointer :: new( mem_addr) , a. layout( ) ) ;
107
107
dest. write_cvalue( fx, a) ;
0 commit comments