File tree 1 file changed +3
-4
lines changed
1 file changed +3
-4
lines changed Original file line number Diff line number Diff line change @@ -25,7 +25,7 @@ pub struct i32x4([i32; 4]);
25
25
26
26
extern "C" {
27
27
// _mm_sll_epi32
28
- #[ cfg( all ( any( target_arch = "x86" , target_arch = "x86-64 " ) , target_feature = "sse2 " ) ) ]
28
+ #[ cfg( any( all ( target_arch = "x86" , target_feature = "sse2 " ) , target_arch = "x86-64 " ) ) ]
29
29
#[ link_name = "llvm.x86.sse2.psll.d" ]
30
30
fn integer ( a : i32x4 , b : i32x4 ) -> i32x4 ;
31
31
@@ -38,15 +38,14 @@ extern "C" {
38
38
#[ link_name = "llvm.aarch64.neon.maxs.v4i32" ]
39
39
fn integer ( a : i32x4 , b : i32x4 ) -> i32x4 ;
40
40
41
- // just some substitute foreign symbol, not an LLVM intrinsic; so
42
- // we still get type checking, but not as detailed as (ab)using
43
- // LLVM.
41
+ // Use a generic LLVM intrinsic to do type checking on other platforms
44
42
#[ cfg( not( any(
45
43
all( target_arch = "x86" , target_feature = "sse2" ) ,
46
44
target_arch = "x86-64" ,
47
45
target_arch = "arm" ,
48
46
target_arch = "aarch64"
49
47
) ) ) ]
48
+ #[ link_name = "llvm.smax.v4i32" ]
50
49
fn integer ( a : i32x4 , b : i32x4 ) -> i32x4 ;
51
50
}
52
51
You can’t perform that action at this time.
0 commit comments