@@ -1443,6 +1443,7 @@ __m256i test_mm256_set_epi8(char A0, char A1, char A2, char A3, char A4, char A5
1443
1443
// CHECK: insertelement <32 x i8> %{{.*}}, i8 %{{.*}}, i32 31
1444
1444
return _mm256_set_epi8 (A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 );
1445
1445
}
1446
+ TEST_CONSTEXPR (match_v32qi (_mm256_set_epi8 (0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 ), 31 , 30 , 29 , 28 , 27 , 26 , 25 , 24 , 23 , 22 , 21 , 20 , 19 , 18 , 17 , 16 , 15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 ));
1446
1447
1447
1448
__m256i test_mm256_set_epi16 (short A0 , short A1 , short A2 , short A3 , short A4 , short A5 , short A6 , short A7 ,
1448
1449
short A8 , short A9 , short A10 , short A11 , short A12 , short A13 , short A14 , short A15 ) {
@@ -1465,6 +1466,7 @@ __m256i test_mm256_set_epi16(short A0, short A1, short A2, short A3, short A4, s
1465
1466
// CHECK: insertelement <16 x i16> %{{.*}}, i16 %{{.*}}, i32 15
1466
1467
return _mm256_set_epi16 (A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 );
1467
1468
}
1469
+ TEST_CONSTEXPR (match_v16hi (_mm256_set_epi16 (0 , -1 , -2 , -3 , -4 , -5 , -6 , -7 , -8 , -9 , -10 , -11 , -12 , -13 , -14 , -15 ), -15 , -14 , -13 , -12 , -11 , -10 , -9 , -8 , -7 , -6 , -5 , -4 , -3 , -2 , -1 , 0 ));
1468
1470
1469
1471
__m256i test_mm256_set_epi32 (int A0 , int A1 , int A2 , int A3 , int A4 , int A5 , int A6 , int A7 ) {
1470
1472
// CHECK-LABEL: test_mm256_set_epi32
@@ -1478,6 +1480,7 @@ __m256i test_mm256_set_epi32(int A0, int A1, int A2, int A3, int A4, int A5, int
1478
1480
// CHECK: insertelement <8 x i32> %{{.*}}, i32 %{{.*}}, i32 7
1479
1481
return _mm256_set_epi32 (A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 );
1480
1482
}
1483
+ TEST_CONSTEXPR (match_v8si (_mm256_set_epi32 (1 , -3 , 5 , -7 , 9 , -11 , 13 , -15 ), -15 , 13 , -11 , 9 , -7 , 5 , -3 , 1 ));
1481
1484
1482
1485
__m256i test_mm256_set_epi64x (long long A0 , long long A1 , long long A2 , long long A3 ) {
1483
1486
// CHECK-LABEL: test_mm256_set_epi64x
@@ -1487,6 +1490,7 @@ __m256i test_mm256_set_epi64x(long long A0, long long A1, long long A2, long lon
1487
1490
// CHECK: insertelement <4 x i64> %{{.*}}, i64 %{{.*}}, i32 3
1488
1491
return _mm256_set_epi64x (A0 , A1 , A2 , A3 );
1489
1492
}
1493
+ TEST_CONSTEXPR (match_v4di (_mm256_set_epi64x (100 , -1000 , 2000 , -200 ), -200 , 2000 , -1000 , 100 ));
1490
1494
1491
1495
__m256 test_mm256_set_m128 (__m128 A , __m128 B ) {
1492
1496
// CHECK-LABEL: test_mm256_set_m128
@@ -1566,6 +1570,7 @@ __m256i test_mm256_set1_epi8(char A) {
1566
1570
// CHECK: insertelement <32 x i8> %{{.*}}, i8 %{{.*}}, i32 31
1567
1571
return _mm256_set1_epi8 (A );
1568
1572
}
1573
+ TEST_CONSTEXPR (match_v32qi (_mm256_set1_epi8 (99 ), 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 ));
1569
1574
1570
1575
__m256i test_mm256_set1_epi16 (short A ) {
1571
1576
// CHECK-LABEL: test_mm256_set1_epi16
@@ -1587,6 +1592,7 @@ __m256i test_mm256_set1_epi16(short A) {
1587
1592
// CHECK: insertelement <16 x i16> %{{.*}}, i16 %{{.*}}, i32 15
1588
1593
return _mm256_set1_epi16 (A );
1589
1594
}
1595
+ TEST_CONSTEXPR (match_v16hi (_mm256_set1_epi16 (-128 ), -128 , -128 , -128 , -128 , -128 , -128 , -128 , -128 , -128 , -128 , -128 , -128 , -128 , -128 , -128 , -128 ));
1590
1596
1591
1597
__m256i test_mm256_set1_epi32 (int A ) {
1592
1598
// CHECK-LABEL: test_mm256_set1_epi32
@@ -1600,6 +1606,7 @@ __m256i test_mm256_set1_epi32(int A) {
1600
1606
// CHECK: insertelement <8 x i32> %{{.*}}, i32 %{{.*}}, i32 7
1601
1607
return _mm256_set1_epi32 (A );
1602
1608
}
1609
+ TEST_CONSTEXPR (match_v8si (_mm256_set1_epi32 (55 ), 55 , 55 , 55 , 55 , 55 , 55 , 55 , 55 ));
1603
1610
1604
1611
__m256i test_mm256_set1_epi64x (long long A ) {
1605
1612
// CHECK-LABEL: test_mm256_set1_epi64x
@@ -1609,6 +1616,7 @@ __m256i test_mm256_set1_epi64x(long long A) {
1609
1616
// CHECK: insertelement <4 x i64> %{{.*}}, i64 %{{.*}}, i32 3
1610
1617
return _mm256_set1_epi64x (A );
1611
1618
}
1619
+ TEST_CONSTEXPR (match_v4di (_mm256_set1_epi64x (-65535 ), -65535 , -65535 , -65535 , -65535 ));
1612
1620
1613
1621
__m256d test_mm256_set1_pd (double A ) {
1614
1622
// CHECK-LABEL: test_mm256_set1_pd
@@ -1673,6 +1681,7 @@ __m256i test_mm256_setr_epi8(char A0, char A1, char A2, char A3, char A4, char A
1673
1681
// CHECK: insertelement <32 x i8> %{{.*}}, i8 %{{.*}}, i32 31
1674
1682
return _mm256_setr_epi8 (A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 );
1675
1683
}
1684
+ TEST_CONSTEXPR (match_v32qi (_mm256_setr_epi8 (0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 ), 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 ));
1676
1685
1677
1686
__m256i test_mm256_setr_epi16 (short A0 , short A1 , short A2 , short A3 , short A4 , short A5 , short A6 , short A7 ,
1678
1687
short A8 , short A9 , short A10 , short A11 , short A12 , short A13 , short A14 , short A15 ) {
@@ -1695,6 +1704,7 @@ __m256i test_mm256_setr_epi16(short A0, short A1, short A2, short A3, short A4,
1695
1704
// CHECK: insertelement <16 x i16> %{{.*}}, i16 %{{.*}}, i32 15
1696
1705
return _mm256_setr_epi16 (A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 );
1697
1706
}
1707
+ TEST_CONSTEXPR (match_v16hi (_mm256_setr_epi16 (0 , -1 , -2 , -3 , -4 , -5 , -6 , -7 , -8 , -9 , -10 , -11 , -12 , -13 , -14 , -15 ), 0 , -1 , -2 , -3 , -4 , -5 , -6 , -7 , -8 , -9 , -10 , -11 , -12 , -13 , -14 , -15 ));
1698
1708
1699
1709
__m256i test_mm256_setr_epi32 (int A0 , int A1 , int A2 , int A3 , int A4 , int A5 , int A6 , int A7 ) {
1700
1710
// CHECK-LABEL: test_mm256_setr_epi32
@@ -1708,6 +1718,7 @@ __m256i test_mm256_setr_epi32(int A0, int A1, int A2, int A3, int A4, int A5, in
1708
1718
// CHECK: insertelement <8 x i32> %{{.*}}, i32 %{{.*}}, i32 7
1709
1719
return _mm256_setr_epi32 (A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 );
1710
1720
}
1721
+ TEST_CONSTEXPR (match_v8si (_mm256_setr_epi32 (1 , -3 , 5 , -7 , 9 , -11 , 13 , -15 ), 1 , -3 , 5 , -7 , 9 , -11 , 13 , -15 ));
1711
1722
1712
1723
__m256i test_mm256_setr_epi64x (long long A0 , long long A1 , long long A2 , long long A3 ) {
1713
1724
// CHECK-LABEL: test_mm256_setr_epi64x
@@ -1717,6 +1728,7 @@ __m256i test_mm256_setr_epi64x(long long A0, long long A1, long long A2, long lo
1717
1728
// CHECK: insertelement <4 x i64> %{{.*}}, i64 %{{.*}}, i32 3
1718
1729
return _mm256_setr_epi64x (A0 , A1 , A2 , A3 );
1719
1730
}
1731
+ TEST_CONSTEXPR (match_v4di (_mm256_setr_epi64x (100 , -1000 , 2000 , -200 ), 100 , -1000 , 2000 , -200 ));
1720
1732
1721
1733
__m256 test_mm256_setr_m128 (__m128 A , __m128 B ) {
1722
1734
// CHECK-LABEL: test_mm256_setr_m128
0 commit comments