@@ -5988,111 +5988,127 @@ __m128i test_mm_mask_sllv_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i
59885988 // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
59895989 return _mm_mask_sllv_epi64 (__W , __U , __X , __Y );
59905990}
5991+ TEST_CONSTEXPR (match_v2di (_mm_mask_sllv_epi64 ((__m128i )(__v2di ){99 , 99 }, (__mmask8 )0x1 , (__m128i )(__v2di ){1 , -3 }, (__m128i )(__v2di ){8 , 63 }), 256 , 99 ));
59915992
59925993__m128i test_mm_maskz_sllv_epi64 (__mmask8 __U , __m128i __X , __m128i __Y ) {
59935994 // CHECK-LABEL: test_mm_maskz_sllv_epi64
59945995 // CHECK: @llvm.x86.avx2.psllv.q
59955996 // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
59965997 return _mm_maskz_sllv_epi64 (__U , __X , __Y );
59975998}
5999+ TEST_CONSTEXPR (match_m128i (_mm_maskz_sllv_epi64 ((__mmask8 )0x2 , (__m128i )(__v2di ){1 , -3 }, (__m128i )(__v2di ){8 , 63 }), 0 , 0x8000000000000000ULL ));
59986000
59996001__m256i test_mm256_mask_sllv_epi64 (__m256i __W , __mmask8 __U , __m256i __X , __m256i __Y ) {
60006002 // CHECK-LABEL: test_mm256_mask_sllv_epi64
60016003 // CHECK: @llvm.x86.avx2.psllv.q.256
60026004 // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
60036005 return _mm256_mask_sllv_epi64 (__W , __U , __X , __Y );
60046006}
6007+ TEST_CONSTEXPR (match_v4di (_mm256_mask_sllv_epi64 ((__m256i )(__v4di ){99 , 99 , 99 , 99 }, (__mmask8 )0x6 , (__m256i )(__v4di ){1 , -2 , 3 , -4 }, (__m256i )(__v4di ){1 , 2 , 3 , -4 }), 99 , -8 , 24 , 99 ));
60056008
60066009__m256i test_mm256_maskz_sllv_epi64 (__mmask8 __U , __m256i __X , __m256i __Y ) {
60076010 // CHECK-LABEL: test_mm256_maskz_sllv_epi64
60086011 // CHECK: @llvm.x86.avx2.psllv.q.256
60096012 // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
60106013 return _mm256_maskz_sllv_epi64 (__U , __X , __Y );
60116014}
6015+ TEST_CONSTEXPR (match_v4di (_mm256_maskz_sllv_epi64 ((__mmask8 )0x9 , (__m256i )(__v4di ){1 , -2 , 3 , -4 }, (__m256i )(__v4di ){1 , 2 , 3 , -4 }), 2 , 0 , 0 , 0 ));
60126016
60136017__m128i test_mm_mask_sllv_epi32 (__m128i __W , __mmask8 __U , __m128i __X , __m128i __Y ) {
60146018 // CHECK-LABEL: test_mm_mask_sllv_epi32
60156019 // CHECK: @llvm.x86.avx2.psllv.d
60166020 // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
60176021 return _mm_mask_sllv_epi32 (__W , __U , __X , __Y );
60186022}
6023+ TEST_CONSTEXPR (match_v4si (_mm_mask_sllv_epi32 ((__m128i )(__v4si ){99 , 99 , 99 , 99 }, (__mmask8 )0x0E , (__m128i )(__v4si ){1 , -2 , 3 , -4 }, (__m128i )(__v4si ){1 , 2 , 3 , -4 }), 99 , -8 , 24 , 0 ));
60196024
60206025__m128i test_mm_maskz_sllv_epi32 (__mmask8 __U , __m128i __X , __m128i __Y ) {
60216026 // CHECK-LABEL: test_mm_maskz_sllv_epi32
60226027 // CHECK: @llvm.x86.avx2.psllv.d
60236028 // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
60246029 return _mm_maskz_sllv_epi32 (__U , __X , __Y );
60256030}
6031+ TEST_CONSTEXPR (match_v4si (_mm_maskz_sllv_epi32 ((__mmask8 )0xC , (__m128i )(__v4si ){1 , -2 , 3 , -4 }, (__m128i )(__v4si ){1 , 2 , 3 , -4 }), 0 , 0 , 24 , 0 ));
60266032
60276033__m256i test_mm256_mask_sllv_epi32 (__m256i __W , __mmask8 __U , __m256i __X , __m256i __Y ) {
60286034 // CHECK-LABEL: test_mm256_mask_sllv_epi32
60296035 // CHECK: @llvm.x86.avx2.psllv.d.256
60306036 // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
60316037 return _mm256_mask_sllv_epi32 (__W , __U , __X , __Y );
60326038}
6039+ TEST_CONSTEXPR (match_v8si (_mm256_mask_sllv_epi32 ((__m256i )(__v8si ){99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 }, (__mmask8 )0x3C , (__m256i )(__v8si ){1 , -2 , 3 , -4 , 5 , -6 , 7 , -8 }, (__m256i )(__v8si ){1 , 2 , 3 , 4 , -17 , 31 , 33 , 29 }), 99 , 99 , 24 , -64 , 0 , 0 , 99 , 99 ));
60336040
60346041__m256i test_mm256_maskz_sllv_epi32 (__mmask8 __U , __m256i __X , __m256i __Y ) {
60356042 // CHECK-LABEL: test_mm256_maskz_sllv_epi32
60366043 // CHECK: @llvm.x86.avx2.psllv.d.256
60376044 // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
60386045 return _mm256_maskz_sllv_epi32 (__U , __X , __Y );
60396046}
6047+ TEST_CONSTEXPR (match_v8si (_mm256_maskz_sllv_epi32 ((__mmask8 )0xFE , (__m256i )(__v8si ){1 , -2 , 3 , -4 , 5 , -6 , 7 , -8 }, (__m256i )(__v8si ){1 , 2 , 3 , 4 , -17 , 31 , 33 , 29 }), 0 , -8 , 24 , -64 , 0 , 0 , 0 , 0 ));
60406048
60416049__m128i test_mm_mask_srlv_epi64 (__m128i __W , __mmask8 __U , __m128i __X , __m128i __Y ) {
60426050 // CHECK-LABEL: test_mm_mask_srlv_epi64
60436051 // CHECK: @llvm.x86.avx2.psrlv.q
60446052 // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
60456053 return _mm_mask_srlv_epi64 (__W , __U , __X , __Y );
60466054}
6055+ TEST_CONSTEXPR (match_m128i (_mm_mask_srlv_epi64 ((__m128i )(__v2di ){99 , 99 }, (__mmask8 )0x1 , (__m128i )(__v2di ){1 , -3 }, (__m128i )(__v2di ){8 , 63 }), 0 , 99 ));
60476056
60486057__m128i test_mm_maskz_srlv_epi64 (__mmask8 __U , __m128i __X , __m128i __Y ) {
60496058 // CHECK-LABEL: test_mm_maskz_srlv_epi64
60506059 // CHECK: @llvm.x86.avx2.psrlv.q
60516060 // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
60526061 return _mm_maskz_srlv_epi64 (__U , __X , __Y );
60536062}
6063+ TEST_CONSTEXPR (match_m128i (_mm_maskz_srlv_epi64 ((__mmask8 )0x2 , (__m128i )(__v2di ){1 , -3 }, (__m128i )(__v2di ){8 , 63 }), 0 , 1 ));
60546064
60556065__m256i test_mm256_mask_srlv_epi64 (__m256i __W , __mmask8 __U , __m256i __X , __m256i __Y ) {
60566066 // CHECK-LABEL: test_mm256_mask_srlv_epi64
60576067 // CHECK: @llvm.x86.avx2.psrlv.q.256
60586068 // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
60596069 return _mm256_mask_srlv_epi64 (__W , __U , __X , __Y );
60606070}
6071+ TEST_CONSTEXPR (match_m256i (_mm256_mask_srlv_epi64 ((__m256i )(__v4di ){99 , 99 , 99 , 99 }, (__mmask8 )0x6 , (__m256i )(__v4di ){1 , -2 , 3 , -4 }, (__m256i )(__v4di ){1 , 2 , 3 , -4 }), 99 , 0x3FFFFFFFFFFFFFFFULL , 0 , 99 ));
60616072
60626073__m256i test_mm256_maskz_srlv_epi64 (__mmask8 __U , __m256i __X , __m256i __Y ) {
60636074 // CHECK-LABEL: test_mm256_maskz_srlv_epi64
60646075 // CHECK: @llvm.x86.avx2.psrlv.q.256
60656076 // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
60666077 return _mm256_maskz_srlv_epi64 (__U , __X , __Y );
60676078}
6079+ TEST_CONSTEXPR (match_m256i (_mm256_maskz_srlv_epi64 ((__mmask8 )0x1 , (__m256i )(__v4di ){1 , -2 , 3 , -4 }, (__m256i )(__v4di ){1 , 2 , 3 , -4 }), 0 , 0 , 0 , 0 ));
60686080
60696081__m128i test_mm_mask_srlv_epi32 (__m128i __W , __mmask8 __U , __m128i __X , __m128i __Y ) {
60706082 // CHECK-LABEL: test_mm_mask_srlv_epi32
60716083 // CHECK: @llvm.x86.avx2.psrlv.d
60726084 // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
60736085 return _mm_mask_srlv_epi32 (__W , __U , __X , __Y );
60746086}
6087+ TEST_CONSTEXPR (match_v4si (_mm_mask_srlv_epi32 ((__m128i )(__v4si ){99 , 99 , 99 , 99 }, (__mmask8 )0x0E , (__m128i )(__v4si ){1 , -2 , 3 , -4 }, (__m128i )(__v4si ){1 , 2 , 3 , -4 }), 99 , 1073741823 , 0 , 0 ));
60756088
60766089__m128i test_mm_maskz_srlv_epi32 (__mmask8 __U , __m128i __X , __m128i __Y ) {
60776090 // CHECK-LABEL: test_mm_maskz_srlv_epi32
60786091 // CHECK: @llvm.x86.avx2.psrlv.d
60796092 // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
60806093 return _mm_maskz_srlv_epi32 (__U , __X , __Y );
60816094}
6095+ TEST_CONSTEXPR (match_v4si (_mm_maskz_srlv_epi32 ((__mmask8 )0xC , (__m128i )(__v4si ){1 , -2 , 3 , -4 }, (__m128i )(__v4si ){1 , 2 , 3 , -4 }), 0 , 0 , 0 , 0 ));
60826096
60836097__m256i test_mm256_mask_srlv_epi32 (__m256i __W , __mmask8 __U , __m256i __X , __m256i __Y ) {
60846098 // CHECK-LABEL: test_mm256_mask_srlv_epi32
60856099 // CHECK: @llvm.x86.avx2.psrlv.d.256
60866100 // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
60876101 return _mm256_mask_srlv_epi32 (__W , __U , __X , __Y );
60886102}
6103+ TEST_CONSTEXPR (match_v8si (_mm256_mask_srlv_epi32 ((__m256i )(__v8si ){99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 }, (__mmask8 )0x3C , (__m256i )(__v8si ){1 , -2 , 3 , -4 , 5 , -6 , 7 , -8 }, (__m256i )(__v8si ){1 , 2 , 3 , 4 , -17 , 31 , 33 , 29 }), 99 , 99 , 0 , 268435455 , 0 , 1 , 99 , 99 ));
60896104
60906105__m256i test_mm256_maskz_srlv_epi32 (__mmask8 __U , __m256i __X , __m256i __Y ) {
60916106 // CHECK-LABEL: test_mm256_maskz_srlv_epi32
60926107 // CHECK: @llvm.x86.avx2.psrlv.d.256
60936108 // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
60946109 return _mm256_maskz_srlv_epi32 (__U , __X , __Y );
60956110}
6111+ TEST_CONSTEXPR (match_v8si (_mm256_maskz_srlv_epi32 ((__mmask8 )0x9E , (__m256i )(__v8si ){1 , -2 , 3 , -4 , 5 , -6 , 7 , -8 }, (__m256i )(__v8si ){1 , 2 , 3 , 4 , -17 , 31 , 33 , 29 }), 0 , 1073741823 , 0 , 268435455 , 0 , 0 , 0 , 7 ));
60966112
60976113__m128i test_mm_mask_srl_epi32 (__m128i __W , __mmask8 __U , __m128i __A , __m128i __B ) {
60986114 // CHECK-LABEL: test_mm_mask_srl_epi32
@@ -6435,27 +6451,31 @@ __m128i test_mm_mask_srav_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i
64356451 // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
64366452 return _mm_mask_srav_epi32 (__W , __U , __X , __Y );
64376453}
6454+ TEST_CONSTEXPR (match_v4si (_mm_mask_srav_epi32 ((__m128i )(__v4si ){99 , 99 , 99 , 99 }, (__mmask8 )0x0E , (__m128i )(__v4si ){1 , -2 , 3 , -4 }, (__m128i )(__v4si ){1 , 2 , 3 , -4 }), 99 , -1 , 0 , -1 ));
64386455
64396456__m128i test_mm_maskz_srav_epi32 (__mmask8 __U , __m128i __X , __m128i __Y ) {
64406457 // CHECK-LABEL: test_mm_maskz_srav_epi32
64416458 // CHECK: @llvm.x86.avx2.psrav.d
64426459 // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
64436460 return _mm_maskz_srav_epi32 (__U , __X , __Y );
64446461}
6462+ TEST_CONSTEXPR (match_v4si (_mm_maskz_srav_epi32 ((__mmask8 )0xC , (__m128i )(__v4si ){1 , -2 , 3 , -4 }, (__m128i )(__v4si ){1 , 2 , 3 , -4 }), 0 , 0 , 0 , -1 ));
64456463
64466464__m256i test_mm256_mask_srav_epi32 (__m256i __W , __mmask8 __U , __m256i __X , __m256i __Y ) {
64476465 // CHECK-LABEL: test_mm256_mask_srav_epi32
64486466 // CHECK: @llvm.x86.avx2.psrav.d.256
64496467 // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
64506468 return _mm256_mask_srav_epi32 (__W , __U , __X , __Y );
64516469}
6470+ TEST_CONSTEXPR (match_v8si (_mm256_mask_srav_epi32 ((__m256i )(__v8si ){99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 }, (__mmask8 )0x3C , (__m256i )(__v8si ){1 , -2 , 3 , -4 , 5 , -6 , 7 , -8 }, (__m256i )(__v8si ){1 , 2 , 3 , 4 , -17 , 31 , 33 , 29 }), 99 , 99 , 0 , -1 , 0 , -1 , 99 , 99 ));
64526471
64536472__m256i test_mm256_maskz_srav_epi32 (__mmask8 __U , __m256i __X , __m256i __Y ) {
64546473 // CHECK-LABEL: test_mm256_maskz_srav_epi32
64556474 // CHECK: @llvm.x86.avx2.psrav.d.256
64566475 // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
64576476 return _mm256_maskz_srav_epi32 (__U , __X , __Y );
64586477}
6478+ TEST_CONSTEXPR (match_v8si (_mm256_maskz_srav_epi32 ((__mmask8 )0x9E , (__m256i )(__v8si ){1 , -2 , 3 , -4 , 5 , -6 , 7 , -8 }, (__m256i )(__v8si ){1 , 2 , 3 , 4 , -17 , 31 , 33 , 29 }), 0 , -1 , 0 , -1 , 0 , 0 , 0 , -1 ));
64596479
64606480__m128i test_mm_srav_epi64 (__m128i __X , __m128i __Y ) {
64616481 // CHECK-LABEL: test_mm_srav_epi64
0 commit comments