@@ -11038,41 +11038,47 @@ __m512d test_mm512_zextpd128_pd512(__m128d A) {
1103811038 // CHECK: shufflevector <2 x double> %{{.*}}, <2 x double> %{{.*}}, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 2, i32 3, i32 2, i32 3>
1103911039 return _mm512_zextpd128_pd512 (A );
1104011040}
11041+ TEST_CONSTEXPR (match_m512d (_mm512_zextpd128_pd512 ((__m128d ){+99.0 , -1.0 }), +99.0 , -1.0 , +0.0 , +0.0 , 0.0 , 0.0 , 0.0 , 0.0 ));
1104111042
1104211043__m512d test_mm512_zextpd256_pd512 (__m256d A ) {
1104311044 // CHECK-LABEL: test_mm512_zextpd256_pd512
1104411045 // CHECK: store <4 x double> zeroinitializer
1104511046 // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> %{{.*}}, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
1104611047 return _mm512_zextpd256_pd512 (A );
1104711048}
11049+ TEST_CONSTEXPR (match_m512d (_mm512_zextpd256_pd512 ((__m256d ){1.0 , 2.0 , 3.0 , 4.0 }), 1.0 , 2.0 , 3.0 , 4.0 , 0.0 , 0.0 , 0.0 , 0.0 ));
1104811050
1104911051__m512 test_mm512_zextps128_ps512 (__m128 A ) {
1105011052 // CHECK-LABEL: test_mm512_zextps128_ps512
1105111053 // CHECK: store <4 x float> zeroinitializer
1105211054 // CHECK: shufflevector <4 x float> %{{.*}}, <4 x float> %{{.*}}, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 4, i32 5, i32 6, i32 7, i32 4, i32 5, i32 6, i32 7>
1105311055 return _mm512_zextps128_ps512 (A );
1105411056}
11057+ TEST_CONSTEXPR (match_m512 (_mm512_zextps128_ps512 ((__m128 ){1.0f , 2.0f , 3.0f , 4.0f }), 1.0f , 2.0f , 3.0f , 4.0f , 0.0f , 0.0f , 0.0f , 0.0f , 0.0f , 0.0f , 0.0f , 0.0f , 0.0f , 0.0f , 0.0f , 0.0f ));
1105511058
1105611059__m512 test_mm512_zextps256_ps512 (__m256 A ) {
1105711060 // CHECK-LABEL: test_mm512_zextps256_ps512
1105811061 // CHECK: store <8 x float> zeroinitializer
1105911062 // CHECK: shufflevector <8 x float> %{{.*}}, <8 x float> %{{.*}}, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
1106011063 return _mm512_zextps256_ps512 (A );
1106111064}
11065+ TEST_CONSTEXPR (match_m512 (_mm512_zextps256_ps512 ((__m256 ){1.0f , 2.0f , 3.0f , 4.0f , 5.0f , 6.0f , 7.0f , 8.0f }), 1.0f , 2.0f , 3.0f , 4.0f , 5.0f , 6.0f , 7.0f , 8.0f , 0.0f , 0.0f , 0.0f , 0.0f , 0.0f , 0.0f , 0.0f , 0.0f ));
1106211066
1106311067__m512i test_mm512_zextsi128_si512 (__m128i A ) {
1106411068 // CHECK-LABEL: test_mm512_zextsi128_si512
1106511069 // CHECK: store <2 x i64> zeroinitializer
1106611070 // CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 2, i32 3, i32 2, i32 3>
1106711071 return _mm512_zextsi128_si512 (A );
1106811072}
11073+ TEST_CONSTEXPR (match_m512i (_mm512_zextsi128_si512 ((__m128i ){1 , 2 }), 1 , 2 , 0 , 0 , 0 , 0 , 0 , 0 ));
1106911074
1107011075__m512i test_mm512_zextsi256_si512 (__m256i A ) {
1107111076 // CHECK-LABEL: test_mm512_zextsi256_si512
1107211077 // CHECK: store <4 x i64> zeroinitializer
1107311078 // CHECK: shufflevector <4 x i64> %{{.*}}, <4 x i64> %{{.*}}, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
1107411079 return _mm512_zextsi256_si512 (A );
1107511080}
11081+ TEST_CONSTEXPR (match_m512i (_mm512_zextsi256_si512 ((__m256i ){1 , 2 , 3 , 4 }), 1 , 2 , 3 , 4 , 0 , 0 , 0 , 0 ));
1107611082
1107711083__m512d test_mm512_i32logather_pd (__m512i __index , void const * __addr ) {
1107811084 // CHECK-LABEL: test_mm512_i32logather_pd
0 commit comments