@@ -290,48 +290,62 @@ __m256i test_mm256_cmpeq_epi8(__m256i a, __m256i b) {
290290 // CHECK: icmp eq <32 x i8>
291291 return _mm256_cmpeq_epi8 (a , b );
292292}
293+ TEST_CONSTEXPR (match_v16qi (_mm_cmpeq_epi8 (
294+ (__m128i )(__v16qs ){1 ,-2 ,3 ,-4 ,-5 ,6 ,-7 ,8 ,-9 ,10 ,-11 ,12 ,-13 ,14 ,-15 ,16 },
295+ (__m128i )(__v16qs ){10 ,-2 ,6 ,-4 ,-5 ,12 ,-14 ,8 ,-9 ,20 ,-22 ,12 ,-26 ,14 ,-30 ,16 }),
296+ 0 ,-1 ,0 ,-1 ,-1 ,0 ,0 ,-1 ,-1 ,0 ,0 ,-1 ,0 ,-1 ,0 ,-1 ));
293297
294298__m256i test_mm256_cmpeq_epi16 (__m256i a , __m256i b ) {
295299 // CHECK-LABEL: test_mm256_cmpeq_epi16
296300 // CHECK: icmp eq <16 x i16>
297301 return _mm256_cmpeq_epi16 (a , b );
298302}
303+ TEST_CONSTEXPR (match_v16hi (_mm256_cmpeq_epi16 ((__m256i )(__v16hi ){+1 , -2 , +3 , -4 , +5 , -6 , +7 , -8 , +9 , -10 , +11 , -12 , +13 , -14 , +15 , -16 }, (__m256i )(__v16hi ){-10 , -2 , +6 , -4 , +5 , -12 , +14 , -8 , +9 , -20 , +22 , -12 , +26 , -14 , +30 , -16 }), 0 , -1 , 0 , -1 , -1 , 0 , 0 , -1 , -1 , 0 , 0 , -1 , 0 , -1 , 0 , -1 ));
299304
300305__m256i test_mm256_cmpeq_epi32 (__m256i a , __m256i b ) {
301306 // CHECK-LABEL: test_mm256_cmpeq_epi32
302307 // CHECK: icmp eq <8 x i32>
303308 return _mm256_cmpeq_epi32 (a , b );
304309}
310+ TEST_CONSTEXPR (match_v8si (_mm256_cmpeq_epi32 ((__m256i )(__v8si ){+1 , -2 , +3 , -4 , +5 , -6 , +7 , -8 }, (__m256i )(__v8si ){-10 , -2 , +6 , -4 , +5 , -12 , +14 , -8 }), 0 , -1 , 0 , -1 , -1 , 0 , 0 , -1 ));
305311
306312__m256i test_mm256_cmpeq_epi64 (__m256i a , __m256i b ) {
307313 // CHECK-LABEL: test_mm256_cmpeq_epi64
308314 // CHECK: icmp eq <4 x i64>
309315 return _mm256_cmpeq_epi64 (a , b );
310316}
317+ TEST_CONSTEXPR (match_v4di (_mm256_cmpeq_epi64 ((__m256i )(__v4di ){+1 , -2 , +3 , -4 }, (__m256i )(__v4di ){-10 , -2 , +6 , -4 }), 0 , -1 , 0 , -1 ));
311318
312319__m256i test_mm256_cmpgt_epi8 (__m256i a , __m256i b ) {
313320 // CHECK-LABEL: test_mm256_cmpgt_epi8
314321 // CHECK: icmp sgt <32 x i8>
315322 return _mm256_cmpgt_epi8 (a , b );
316323}
324+ TEST_CONSTEXPR (match_v32qi (_mm256_cmpgt_epi8 (
325+ (__m256i )(__v32qs ){1 , -2 , 3 , -4 , 5 , -6 , 7 , -8 , 9 , -10 , 11 , -12 , 13 , -14 , 15 , -16 , -1 , 2 , -3 , 4 , -5 , 6 , -7 , 8 , -9 , 10 , -11 , 12 , -13 , 14 , -15 , 16 },
326+ (__m256i )(__v32qs ){10 , -2 , 6 , -5 , 30 , -7 , 8 , -1 , 20 , -3 , 12 , -8 , 25 , -10 , 9 , -2 , -10 , 2 , -6 , 5 , -30 , 7 , -8 , 1 , -20 , 3 , -12 , 8 , -25 , 10 , -9 , 2 }),
327+ 0 , 0 , 0 , -1 , 0 , -1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , -1 , 0 , -1 , 0 , -1 , 0 , -1 , 0 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , 0 , -1 ));
317328
318329__m256i test_mm256_cmpgt_epi16 (__m256i a , __m256i b ) {
319330 // CHECK-LABEL: test_mm256_cmpgt_epi16
320331 // CHECK: icmp sgt <16 x i16>
321332 return _mm256_cmpgt_epi16 (a , b );
322333}
334+ TEST_CONSTEXPR (match_v16hi (_mm256_cmpgt_epi16 ((__m256i )(__v16hi ){+1 , -2 , +3 , -4 , +5 , -6 , +7 , -8 , +1 , -2 , +3 , -4 , +5 , -6 , +7 , -8 }, (__m256i )(__v16hi ){-10 , -2 , +6 , -5 , +30 , -7 , +8 , -1 , -10 , -2 , +6 , -5 , +30 , -7 , +8 , -1 }), -1 , 0 , 0 , -1 , 0 , -1 , 0 , 0 , -1 , 0 , 0 , -1 , 0 , -1 , 0 , 0 ));
323335
324336__m256i test_mm256_cmpgt_epi32 (__m256i a , __m256i b ) {
325337 // CHECK-LABEL: test_mm256_cmpgt_epi32
326338 // CHECK: icmp sgt <8 x i32>
327339 return _mm256_cmpgt_epi32 (a , b );
328340}
341+ TEST_CONSTEXPR (match_v8si (_mm256_cmpgt_epi32 ((__m256i )(__v8si ){+1 , -2 , +3 , -4 , +5 , -6 , +7 , -8 }, (__m256i )(__v8si ){-10 , -2 , +6 , -5 , +30 , -7 , +8 , -1 }), -1 , 0 , 0 , -1 , 0 , -1 , 0 , 0 ));
329342
330343__m256i test_mm256_cmpgt_epi64 (__m256i a , __m256i b ) {
331344 // CHECK-LABEL: test_mm256_cmpgt_epi64
332345 // CHECK: icmp sgt <4 x i64>
333346 return _mm256_cmpgt_epi64 (a , b );
334347}
348+ TEST_CONSTEXPR (match_v4di (_mm256_cmpgt_epi64 ((__m256i )(__v4di ){+1 , -2 , +3 , -4 }, (__m256i )(__v4di ){-10 , -2 , +6 , -5 }), -1 , 0 , 0 , -1 ));
335349
336350__m256i test_mm256_cvtepi8_epi16 (__m128i a ) {
337351 // CHECK-LABEL: test_mm256_cvtepi8_epi16
0 commit comments