@@ -93,6 +93,7 @@ fn main() {
9393
9494 println ! ( "{:?}" , std:: intrinsics:: caller_location( ) ) ;
9595
96+ #[ cfg( feature="master" ) ]
9697 unsafe {
9798 test_simd ( ) ;
9899 }
@@ -104,6 +105,7 @@ fn main() {
104105 println ! ( "End" ) ;
105106}
106107
108+ #[ cfg( feature="master" ) ]
107109#[ target_feature( enable = "sse2" ) ]
108110unsafe fn test_simd ( ) {
109111 let x = _mm_setzero_si128 ( ) ;
@@ -131,6 +133,7 @@ unsafe fn test_simd() {
131133 assert_eq ! ( mask1, 1 ) ;
132134}
133135
136+ #[ cfg( feature="master" ) ]
134137#[ target_feature( enable = "sse2" ) ]
135138unsafe fn test_mm_slli_si128 ( ) {
136139 #[ rustfmt:: skip]
@@ -158,6 +161,7 @@ unsafe fn test_mm_slli_si128() {
158161}
159162
160163
164+ #[ cfg( feature="master" ) ]
161165#[ target_feature( enable = "sse2" ) ]
162166unsafe fn test_mm_movemask_epi8 ( ) {
163167 #[ rustfmt:: skip]
@@ -171,6 +175,7 @@ unsafe fn test_mm_movemask_epi8() {
171175 assert_eq ! ( r, 0b10100100_00100101 ) ;
172176}
173177
178+ #[ cfg( feature="master" ) ]
174179#[ target_feature( enable = "avx2" ) ]
175180unsafe fn test_mm256_movemask_epi8 ( ) {
176181 let a = _mm256_set1_epi8 ( -1 ) ;
@@ -179,6 +184,7 @@ unsafe fn test_mm256_movemask_epi8() {
179184 assert_eq ! ( r, e) ;
180185}
181186
187+ #[ cfg( feature="master" ) ]
182188#[ target_feature( enable = "sse2" ) ]
183189unsafe fn test_mm_add_epi8 ( ) {
184190 let a = _mm_setr_epi8 ( 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 ) ;
@@ -194,6 +200,7 @@ unsafe fn test_mm_add_epi8() {
194200 assert_eq_m128i ( r, e) ;
195201}
196202
203+ #[ cfg( feature="master" ) ]
197204#[ target_feature( enable = "sse2" ) ]
198205unsafe fn test_mm_add_pd ( ) {
199206 let a = _mm_setr_pd ( 1.0 , 2.0 ) ;
@@ -202,25 +209,29 @@ unsafe fn test_mm_add_pd() {
202209 assert_eq_m128d ( r, _mm_setr_pd ( 6.0 , 12.0 ) ) ;
203210}
204211
212+ #[ cfg( feature="master" ) ]
205213fn assert_eq_m128i ( x : std:: arch:: x86_64:: __m128i , y : std:: arch:: x86_64:: __m128i ) {
206214 unsafe {
207215 assert_eq ! ( std:: mem:: transmute:: <_, [ u8 ; 16 ] >( x) , std:: mem:: transmute:: <_, [ u8 ; 16 ] >( y) ) ;
208216 }
209217}
210218
219+ #[ cfg( feature="master" ) ]
211220#[ target_feature( enable = "sse2" ) ]
212221pub unsafe fn assert_eq_m128d ( a : __m128d , b : __m128d ) {
213222 if _mm_movemask_pd ( _mm_cmpeq_pd ( a, b) ) != 0b11 {
214223 panic ! ( "{:?} != {:?}" , a, b) ;
215224 }
216225}
217226
227+ #[ cfg( feature="master" ) ]
218228#[ target_feature( enable = "sse2" ) ]
219229unsafe fn test_mm_cvtsi128_si64 ( ) {
220230 let r = _mm_cvtsi128_si64 ( std:: mem:: transmute :: < [ i64 ; 2 ] , _ > ( [ 5 , 0 ] ) ) ;
221231 assert_eq ! ( r, 5 ) ;
222232}
223233
234+ #[ cfg( feature="master" ) ]
224235#[ target_feature( enable = "sse4.1" ) ]
225236unsafe fn test_mm_cvtepi8_epi16 ( ) {
226237 let a = _mm_set1_epi8 ( 10 ) ;
@@ -233,6 +244,7 @@ unsafe fn test_mm_cvtepi8_epi16() {
233244 assert_eq_m128i ( r, e) ;
234245}
235246
247+ #[ cfg( feature="master" ) ]
236248#[ target_feature( enable = "sse4.1" ) ]
237249unsafe fn test_mm_extract_epi8 ( ) {
238250 #[ rustfmt:: skip]
@@ -246,7 +258,7 @@ unsafe fn test_mm_extract_epi8() {
246258 assert_eq ! ( r2, 3 ) ;
247259}
248260
249- #[ cfg( target_arch = "x86_64" ) ]
261+ #[ cfg( all ( feature= "master" , target_arch = "x86_64" ) ) ]
250262#[ target_feature( enable = "sse2" ) ]
251263unsafe fn test_mm_insert_epi16 ( ) {
252264 let a = _mm_setr_epi16 ( 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ) ;
0 commit comments