@@ -65,7 +65,7 @@ pub unsafe fn _mm_blend_ps(a: f32x4, b: f32x4, imm4: u8) -> f32x4 {
65
65
#[ inline( always) ]
66
66
#[ target_feature = "+sse4.1" ]
67
67
#[ cfg_attr( test, assert_instr( extractps, imm2=0 ) ) ]
68
- pub unsafe fn _mm_extract_ps ( a : f32x4 , imm2 : u8 ) -> i32 {
68
+ pub unsafe extern "vectorcall" fn _mm_extract_ps ( a : f32x4 , imm2 : u8 ) -> i32 {
69
69
macro_rules! call {
70
70
( $imm2: expr) => { mem:: transmute( a. extract( $imm2) ) }
71
71
}
@@ -76,7 +76,7 @@ pub unsafe fn _mm_extract_ps(a: f32x4, imm2: u8) -> i32 {
76
76
#[ inline( always) ]
77
77
#[ target_feature = "+sse4.1" ]
78
78
#[ cfg_attr( test, assert_instr( pextrb, imm4=0 ) ) ]
79
- pub unsafe fn _mm_extract_epi8 ( a : i8x16 , imm4 : u8 ) -> i8 {
79
+ pub unsafe extern "vectorcall" fn _mm_extract_epi8 ( a : i8x16 , imm4 : u8 ) -> i8 {
80
80
macro_rules! call {
81
81
( $imm4: expr) => { a. extract( $imm4) }
82
82
}
@@ -87,7 +87,7 @@ pub unsafe fn _mm_extract_epi8(a: i8x16, imm4: u8) -> i8 {
87
87
#[ inline( always) ]
88
88
#[ target_feature = "+sse4.1" ]
89
89
#[ cfg_attr( test, assert_instr( pextrd, imm2=1 ) ) ]
90
- pub unsafe fn _mm_extract_epi32 ( a : i32x4 , imm2 : u8 ) -> i32 {
90
+ pub unsafe extern "vectorcall" fn _mm_extract_epi32 ( a : i32x4 , imm2 : u8 ) -> i32 {
91
91
macro_rules! call {
92
92
( $imm2: expr) => { a. extract( $imm2) }
93
93
}
@@ -99,7 +99,7 @@ pub unsafe fn _mm_extract_epi32(a: i32x4, imm2: u8) -> i32 {
99
99
#[ inline( always) ]
100
100
#[ target_feature = "+sse4.1" ]
101
101
#[ cfg_attr( test, assert_instr( pextrq, imm1=1 ) ) ]
102
- pub unsafe fn _mm_extract_epi64 ( a : i64x2 , imm1 : u8 ) -> i64 {
102
+ pub unsafe extern "vectorcall" fn _mm_extract_epi64 ( a : i64x2 , imm1 : u8 ) -> i64 {
103
103
macro_rules! call {
104
104
( $imm1: expr) => { a. extract( $imm1) }
105
105
}
0 commit comments