@@ -1540,18 +1540,21 @@ __m256 test_mm256_set_m128(__m128 A, __m128 B) {
1540
1540
// CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
1541
1541
return _mm256_set_m128 (A , B );
1542
1542
}
1543
+ TEST_CONSTEXPR (match_m256 (_mm256_set_m128 ((__m128 ){10.0f , 20.0f , 30.0f , 40.0f }, (__m128 ){1.0f , 2.0f , 3.0f , 4.0f }), 1.0f , 2.0f , 3.0f , 4.0f , 10.0f , 20.0f , 30.0f , 40.0f ));
1543
1544
1544
1545
__m256d test_mm256_set_m128d (__m128d A , __m128d B ) {
1545
1546
// CHECK-LABEL: test_mm256_set_m128d
1546
1547
// CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
1547
1548
return _mm256_set_m128d (A , B );
1548
1549
}
1550
+ TEST_CONSTEXPR (match_m256d (_mm256_set_m128d ((__m128d ){10.0 , 20.0 }, (__m128d ){1.0 , 2.0 }), 1.0 , 2.0 , 10.0 , 20.0 ));
1549
1551
1550
1552
__m256i test_mm256_set_m128i (__m128i A , __m128i B ) {
1551
1553
// CHECK-LABEL: test_mm256_set_m128i
1552
1554
// CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
1553
1555
return _mm256_set_m128i (A , B );
1554
1556
}
1557
+ TEST_CONSTEXPR (match_m256i (_mm256_set_m128i ((__m128i ){10LL , 20LL }, (__m128i ){1LL , 2LL }), 1LL , 2LL , 10LL , 20LL ));
1555
1558
1556
1559
__m256d test_mm256_set_pd (double A0 , double A1 , double A2 , double A3 ) {
1557
1560
// CHECK-LABEL: test_mm256_set_pd
@@ -1778,18 +1781,21 @@ __m256 test_mm256_setr_m128(__m128 A, __m128 B) {
1778
1781
// CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
1779
1782
return _mm256_setr_m128 (A , B );
1780
1783
}
1784
+ TEST_CONSTEXPR (match_m256 (_mm256_setr_m128 ((__m128 ){1.0f , 2.0f , 3.0f , 4.0f }, (__m128 ){10.0f , 20.0f , 30.0f , 40.0f }), 1.0f , 2.0f , 3.0f , 4.0f , 10.0f , 20.0f , 30.0f , 40.0f ));
1781
1785
1782
1786
__m256d test_mm256_setr_m128d (__m128d A , __m128d B ) {
1783
1787
// CHECK-LABEL: test_mm256_setr_m128d
1784
1788
// CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
1785
1789
return _mm256_setr_m128d (A , B );
1786
1790
}
1791
+ TEST_CONSTEXPR (match_m256d (_mm256_setr_m128d ((__m128d ){1.0 , 2.0 }, (__m128d ){10.0 , 20.0 }), 1.0 , 2.0 , 10.0 , 20.0 ));
1787
1792
1788
1793
__m256i test_mm256_setr_m128i (__m128i A , __m128i B ) {
1789
1794
// CHECK-LABEL: test_mm256_setr_m128i
1790
1795
// CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
1791
1796
return _mm256_setr_m128i (A , B );
1792
1797
}
1798
+ TEST_CONSTEXPR (match_m256i (_mm256_setr_m128i ((__m128i ){1LL , 2LL }, (__m128i ){10LL , 20LL }), 1LL , 2LL , 10LL , 20LL ));
1793
1799
1794
1800
__m256d test_mm256_setr_pd (double A0 , double A1 , double A2 , double A3 ) {
1795
1801
// CHECK-LABEL: test_mm256_setr_pd
0 commit comments