@@ -93,6 +93,7 @@ fn main() {
93
93
94
94
println ! ( "{:?}" , std:: intrinsics:: caller_location( ) ) ;
95
95
96
+ #[ cfg( feature="master" ) ]
96
97
unsafe {
97
98
test_simd ( ) ;
98
99
}
@@ -104,6 +105,7 @@ fn main() {
104
105
println ! ( "End" ) ;
105
106
}
106
107
108
+ #[ cfg( feature="master" ) ]
107
109
#[ target_feature( enable = "sse2" ) ]
108
110
unsafe fn test_simd ( ) {
109
111
let x = _mm_setzero_si128 ( ) ;
@@ -131,6 +133,7 @@ unsafe fn test_simd() {
131
133
assert_eq ! ( mask1, 1 ) ;
132
134
}
133
135
136
+ #[ cfg( feature="master" ) ]
134
137
#[ target_feature( enable = "sse2" ) ]
135
138
unsafe fn test_mm_slli_si128 ( ) {
136
139
#[ rustfmt:: skip]
@@ -158,6 +161,7 @@ unsafe fn test_mm_slli_si128() {
158
161
}
159
162
160
163
164
+ #[ cfg( feature="master" ) ]
161
165
#[ target_feature( enable = "sse2" ) ]
162
166
unsafe fn test_mm_movemask_epi8 ( ) {
163
167
#[ rustfmt:: skip]
@@ -171,6 +175,7 @@ unsafe fn test_mm_movemask_epi8() {
171
175
assert_eq ! ( r, 0b10100100_00100101 ) ;
172
176
}
173
177
178
+ #[ cfg( feature="master" ) ]
174
179
#[ target_feature( enable = "avx2" ) ]
175
180
unsafe fn test_mm256_movemask_epi8 ( ) {
176
181
let a = _mm256_set1_epi8 ( -1 ) ;
@@ -179,6 +184,7 @@ unsafe fn test_mm256_movemask_epi8() {
179
184
assert_eq ! ( r, e) ;
180
185
}
181
186
187
+ #[ cfg( feature="master" ) ]
182
188
#[ target_feature( enable = "sse2" ) ]
183
189
unsafe fn test_mm_add_epi8 ( ) {
184
190
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() {
194
200
assert_eq_m128i ( r, e) ;
195
201
}
196
202
203
+ #[ cfg( feature="master" ) ]
197
204
#[ target_feature( enable = "sse2" ) ]
198
205
unsafe fn test_mm_add_pd ( ) {
199
206
let a = _mm_setr_pd ( 1.0 , 2.0 ) ;
@@ -202,25 +209,29 @@ unsafe fn test_mm_add_pd() {
202
209
assert_eq_m128d ( r, _mm_setr_pd ( 6.0 , 12.0 ) ) ;
203
210
}
204
211
212
+ #[ cfg( feature="master" ) ]
205
213
fn assert_eq_m128i ( x : std:: arch:: x86_64:: __m128i , y : std:: arch:: x86_64:: __m128i ) {
206
214
unsafe {
207
215
assert_eq ! ( std:: mem:: transmute:: <_, [ u8 ; 16 ] >( x) , std:: mem:: transmute:: <_, [ u8 ; 16 ] >( y) ) ;
208
216
}
209
217
}
210
218
219
+ #[ cfg( feature="master" ) ]
211
220
#[ target_feature( enable = "sse2" ) ]
212
221
pub unsafe fn assert_eq_m128d ( a : __m128d , b : __m128d ) {
213
222
if _mm_movemask_pd ( _mm_cmpeq_pd ( a, b) ) != 0b11 {
214
223
panic ! ( "{:?} != {:?}" , a, b) ;
215
224
}
216
225
}
217
226
227
+ #[ cfg( feature="master" ) ]
218
228
#[ target_feature( enable = "sse2" ) ]
219
229
unsafe fn test_mm_cvtsi128_si64 ( ) {
220
230
let r = _mm_cvtsi128_si64 ( std:: mem:: transmute :: < [ i64 ; 2 ] , _ > ( [ 5 , 0 ] ) ) ;
221
231
assert_eq ! ( r, 5 ) ;
222
232
}
223
233
234
+ #[ cfg( feature="master" ) ]
224
235
#[ target_feature( enable = "sse4.1" ) ]
225
236
unsafe fn test_mm_cvtepi8_epi16 ( ) {
226
237
let a = _mm_set1_epi8 ( 10 ) ;
@@ -233,6 +244,7 @@ unsafe fn test_mm_cvtepi8_epi16() {
233
244
assert_eq_m128i ( r, e) ;
234
245
}
235
246
247
+ #[ cfg( feature="master" ) ]
236
248
#[ target_feature( enable = "sse4.1" ) ]
237
249
unsafe fn test_mm_extract_epi8 ( ) {
238
250
#[ rustfmt:: skip]
@@ -246,7 +258,7 @@ unsafe fn test_mm_extract_epi8() {
246
258
assert_eq ! ( r2, 3 ) ;
247
259
}
248
260
249
- #[ cfg( target_arch = "x86_64" ) ]
261
+ #[ cfg( all ( feature= "master" , target_arch = "x86_64" ) ) ]
250
262
#[ target_feature( enable = "sse2" ) ]
251
263
unsafe fn test_mm_insert_epi16 ( ) {
252
264
let a = _mm_setr_epi16 ( 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ) ;
0 commit comments