forked from OSchip/llvm-project
[X86] Correct the width of mask arguments in intrinsic headers and tests.
All of these found by grepping through IR from the builtin tests for extra trunc and zext/sext instructions that shouldn't have been there. Some of these were real bugs where we lost bits from the user input: _mm512_mask_broadcast_f32x8 _mm512_maskz_broadcast_f32x8 _mm512_mask_broadcast_i32x8 _mm512_maskz_broadcast_i32x8 _mm256_mask_cvtusepi16_storeu_epi8 llvm-svn: 336042
This commit is contained in:
parent
eebbfc2809
commit
0029470dde
|
@ -995,7 +995,7 @@ _mm512_broadcast_f32x8(__m256 __A)
|
|||
static __inline__ __m512 __DEFAULT_FN_ATTRS
|
||||
_mm512_mask_broadcast_f32x8(__m512 __O, __mmask16 __M, __m256 __A)
|
||||
{
|
||||
return (__m512)__builtin_ia32_selectps_512((__mmask8)__M,
|
||||
return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
|
||||
(__v16sf)_mm512_broadcast_f32x8(__A),
|
||||
(__v16sf)__O);
|
||||
}
|
||||
|
@ -1003,7 +1003,7 @@ _mm512_mask_broadcast_f32x8(__m512 __O, __mmask16 __M, __m256 __A)
|
|||
static __inline__ __m512 __DEFAULT_FN_ATTRS
|
||||
_mm512_maskz_broadcast_f32x8(__mmask16 __M, __m256 __A)
|
||||
{
|
||||
return (__m512)__builtin_ia32_selectps_512((__mmask8)__M,
|
||||
return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
|
||||
(__v16sf)_mm512_broadcast_f32x8(__A),
|
||||
(__v16sf)_mm512_setzero_ps());
|
||||
}
|
||||
|
@ -1066,7 +1066,7 @@ _mm512_broadcast_i32x8(__m256i __A)
|
|||
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
||||
_mm512_mask_broadcast_i32x8(__m512i __O, __mmask16 __M, __m256i __A)
|
||||
{
|
||||
return (__m512i)__builtin_ia32_selectd_512((__mmask8)__M,
|
||||
return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
|
||||
(__v16si)_mm512_broadcast_i32x8(__A),
|
||||
(__v16si)__O);
|
||||
}
|
||||
|
@ -1074,7 +1074,7 @@ _mm512_mask_broadcast_i32x8(__m512i __O, __mmask16 __M, __m256i __A)
|
|||
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
||||
_mm512_maskz_broadcast_i32x8(__mmask16 __M, __m256i __A)
|
||||
{
|
||||
return (__m512i)__builtin_ia32_selectd_512((__mmask8)__M,
|
||||
return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
|
||||
(__v16si)_mm512_broadcast_i32x8(__A),
|
||||
(__v16si)_mm512_setzero_si512());
|
||||
}
|
||||
|
|
|
@ -557,7 +557,7 @@ _mm_maskz_packs_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
|
|||
}
|
||||
|
||||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_mask_packs_epi32(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
|
||||
_mm_mask_packs_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
|
||||
(__v8hi)_mm_packs_epi32(__A, __B),
|
||||
|
@ -621,7 +621,7 @@ _mm_maskz_packus_epi32(__mmask8 __M, __m128i __A, __m128i __B)
|
|||
}
|
||||
|
||||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_mask_packus_epi32(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
|
||||
_mm_mask_packus_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
|
||||
{
|
||||
return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
|
||||
(__v8hi)_mm_packus_epi32(__A, __B),
|
||||
|
@ -1566,7 +1566,7 @@ _mm256_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask16 __M, __m256i __A)
|
|||
}
|
||||
|
||||
static __inline__ void __DEFAULT_FN_ATTRS
|
||||
_mm256_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
|
||||
_mm256_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask16 __M, __m256i __A)
|
||||
{
|
||||
__builtin_ia32_pmovuswb256mem_mask ((__v16qi*) __P, (__v16hi) __A, __M);
|
||||
}
|
||||
|
|
|
@ -1849,7 +1849,7 @@ _mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A) {
|
|||
}
|
||||
|
||||
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
||||
_mm_maskz_cvtepi32_ps (__mmask16 __U, __m128i __A) {
|
||||
_mm_maskz_cvtepi32_ps (__mmask8 __U, __m128i __A) {
|
||||
return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
|
||||
(__v4sf)_mm_cvtepi32_ps(__A),
|
||||
(__v4sf)_mm_setzero_ps());
|
||||
|
@ -1863,7 +1863,7 @@ _mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A) {
|
|||
}
|
||||
|
||||
static __inline__ __m256 __DEFAULT_FN_ATTRS
|
||||
_mm256_maskz_cvtepi32_ps (__mmask16 __U, __m256i __A) {
|
||||
_mm256_maskz_cvtepi32_ps (__mmask8 __U, __m256i __A) {
|
||||
return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
|
||||
(__v8sf)_mm256_cvtepi32_ps(__A),
|
||||
(__v8sf)_mm256_setzero_ps());
|
||||
|
@ -2888,14 +2888,14 @@ _mm_maskz_abs_epi32(__mmask8 __U, __m128i __A) {
|
|||
|
||||
static __inline__ __m256i __DEFAULT_FN_ATTRS
|
||||
_mm256_mask_abs_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
|
||||
return (__m256i)__builtin_ia32_selectd_256((__mmask16)__U,
|
||||
return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
|
||||
(__v8si)_mm256_abs_epi32(__A),
|
||||
(__v8si)__W);
|
||||
}
|
||||
|
||||
static __inline__ __m256i __DEFAULT_FN_ATTRS
|
||||
_mm256_maskz_abs_epi32(__mmask8 __U, __m256i __A) {
|
||||
return (__m256i)__builtin_ia32_selectd_256((__mmask16)__U,
|
||||
return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
|
||||
(__v8si)_mm256_abs_epi32(__A),
|
||||
(__v8si)_mm256_setzero_si256());
|
||||
}
|
||||
|
|
|
@ -1391,7 +1391,7 @@ __mmask8 test_mm512_cmpeq_pd_mask(__m512d a, __m512d b) {
|
|||
return _mm512_cmpeq_pd_mask(a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_cmpeq_ps_mask(__m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_cmpeq_ps_mask(__m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_cmpeq_ps_mask
|
||||
// CHECK: fcmp oeq <16 x float> %{{.*}}, %{{.*}}
|
||||
return _mm512_cmpeq_ps_mask(a, b);
|
||||
|
@ -1404,7 +1404,7 @@ __mmask8 test_mm512_mask_cmpeq_pd_mask(__mmask8 k, __m512d a, __m512d b) {
|
|||
return _mm512_mask_cmpeq_pd_mask(k, a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_mask_cmpeq_ps_mask(__mmask8 k, __m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_mask_cmpeq_ps_mask(__mmask16 k, __m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_mask_cmpeq_ps_mask
|
||||
// CHECK: [[CMP:%.*]] = fcmp oeq <16 x float> %{{.*}}, %{{.*}}
|
||||
// CHECK: and <16 x i1> [[CMP]], {{.*}}
|
||||
|
@ -1417,7 +1417,7 @@ __mmask8 test_mm512_cmple_pd_mask(__m512d a, __m512d b) {
|
|||
return _mm512_cmple_pd_mask(a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_cmple_ps_mask(__m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_cmple_ps_mask(__m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_cmple_ps_mask
|
||||
// CHECK: fcmp ole <16 x float> %{{.*}}, %{{.*}}
|
||||
return _mm512_cmple_ps_mask(a, b);
|
||||
|
@ -1430,7 +1430,7 @@ __mmask8 test_mm512_mask_cmple_pd_mask(__mmask8 k, __m512d a, __m512d b) {
|
|||
return _mm512_mask_cmple_pd_mask(k, a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_mask_cmple_ps_mask(__mmask8 k, __m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_mask_cmple_ps_mask(__mmask16 k, __m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_mask_cmple_ps_mask
|
||||
// CHECK: [[CMP:%.*]] = fcmp ole <16 x float> %{{.*}}, %{{.*}}
|
||||
// CHECK: and <16 x i1> [[CMP]], {{.*}}
|
||||
|
@ -1443,7 +1443,7 @@ __mmask8 test_mm512_cmplt_pd_mask(__m512d a, __m512d b) {
|
|||
return _mm512_cmplt_pd_mask(a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_cmplt_ps_mask(__m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_cmplt_ps_mask(__m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_cmplt_ps_mask
|
||||
// CHECK: fcmp olt <16 x float> %{{.*}}, %{{.*}}
|
||||
return _mm512_cmplt_ps_mask(a, b);
|
||||
|
@ -1456,7 +1456,7 @@ __mmask8 test_mm512_mask_cmplt_pd_mask(__mmask8 k, __m512d a, __m512d b) {
|
|||
return _mm512_mask_cmplt_pd_mask(k, a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_mask_cmplt_ps_mask(__mmask8 k, __m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_mask_cmplt_ps_mask(__mmask16 k, __m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_mask_cmplt_ps_mask
|
||||
// CHECK: [[CMP:%.*]] = fcmp olt <16 x float> %{{.*}}, %{{.*}}
|
||||
// CHECK: and <16 x i1> [[CMP]], {{.*}}
|
||||
|
@ -1469,7 +1469,7 @@ __mmask8 test_mm512_cmpneq_pd_mask(__m512d a, __m512d b) {
|
|||
return _mm512_cmpneq_pd_mask(a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_cmpneq_ps_mask(__m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_cmpneq_ps_mask(__m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_cmpneq_ps_mask
|
||||
// CHECK: fcmp une <16 x float> %{{.*}}, %{{.*}}
|
||||
return _mm512_cmpneq_ps_mask(a, b);
|
||||
|
@ -1482,7 +1482,7 @@ __mmask8 test_mm512_mask_cmpneq_pd_mask(__mmask8 k, __m512d a, __m512d b) {
|
|||
return _mm512_mask_cmpneq_pd_mask(k, a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_mask_cmpneq_ps_mask(__mmask8 k, __m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_mask_cmpneq_ps_mask(__mmask16 k, __m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_mask_cmpneq_ps_mask
|
||||
// CHECK: [[CMP:%.*]] = fcmp une <16 x float> %{{.*}}, %{{.*}}
|
||||
// CHECK: and <16 x i1> [[CMP]], {{.*}}
|
||||
|
@ -1495,7 +1495,7 @@ __mmask8 test_mm512_cmpnle_pd_mask(__m512d a, __m512d b) {
|
|||
return _mm512_cmpnle_pd_mask(a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_cmpnle_ps_mask(__m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_cmpnle_ps_mask(__m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_cmpnle_ps_mask
|
||||
// CHECK: fcmp ugt <16 x float> %{{.*}}, %{{.*}}
|
||||
return _mm512_cmpnle_ps_mask(a, b);
|
||||
|
@ -1508,7 +1508,7 @@ __mmask8 test_mm512_mask_cmpnle_pd_mask(__mmask8 k, __m512d a, __m512d b) {
|
|||
return _mm512_mask_cmpnle_pd_mask(k, a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_mask_cmpnle_ps_mask(__mmask8 k, __m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_mask_cmpnle_ps_mask(__mmask16 k, __m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_mask_cmpnle_ps_mask
|
||||
// CHECK: [[CMP:%.*]] = fcmp ugt <16 x float> %{{.*}}, %{{.*}}
|
||||
// CHECK: and <16 x i1> [[CMP]], {{.*}}
|
||||
|
@ -1521,7 +1521,7 @@ __mmask8 test_mm512_cmpnlt_pd_mask(__m512d a, __m512d b) {
|
|||
return _mm512_cmpnlt_pd_mask(a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_cmpnlt_ps_mask(__m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_cmpnlt_ps_mask(__m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_cmpnlt_ps_mask
|
||||
// CHECK: fcmp uge <16 x float> %{{.*}}, %{{.*}}
|
||||
return _mm512_cmpnlt_ps_mask(a, b);
|
||||
|
@ -1534,7 +1534,7 @@ __mmask8 test_mm512_mask_cmpnlt_pd_mask(__mmask8 k, __m512d a, __m512d b) {
|
|||
return _mm512_mask_cmpnlt_pd_mask(k, a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_mask_cmpnlt_ps_mask(__mmask8 k, __m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_mask_cmpnlt_ps_mask(__mmask16 k, __m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_mask_cmpnlt_ps_mask
|
||||
// CHECK: [[CMP:%.*]] = fcmp uge <16 x float> %{{.*}}, %{{.*}}
|
||||
// CHECK: and <16 x i1> [[CMP]], {{.*}}
|
||||
|
@ -1547,7 +1547,7 @@ __mmask8 test_mm512_cmpord_pd_mask(__m512d a, __m512d b) {
|
|||
return _mm512_cmpord_pd_mask(a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_cmpord_ps_mask(__m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_cmpord_ps_mask(__m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_cmpord_ps_mask
|
||||
// CHECK: fcmp ord <16 x float> %{{.*}}, %{{.*}}
|
||||
return _mm512_cmpord_ps_mask(a, b);
|
||||
|
@ -1560,7 +1560,7 @@ __mmask8 test_mm512_mask_cmpord_pd_mask(__mmask8 k, __m512d a, __m512d b) {
|
|||
return _mm512_mask_cmpord_pd_mask(k, a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_mask_cmpord_ps_mask(__mmask8 k, __m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_mask_cmpord_ps_mask(__mmask16 k, __m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_mask_cmpord_ps_mask
|
||||
// CHECK: [[CMP:%.*]] = fcmp ord <16 x float> %{{.*}}, %{{.*}}
|
||||
// CHECK: and <16 x i1> [[CMP]], {{.*}}
|
||||
|
@ -1573,7 +1573,7 @@ __mmask8 test_mm512_cmpunord_pd_mask(__m512d a, __m512d b) {
|
|||
return _mm512_cmpunord_pd_mask(a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_cmpunord_ps_mask(__m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_cmpunord_ps_mask(__m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_cmpunord_ps_mask
|
||||
// CHECK: fcmp uno <16 x float> %{{.*}}, %{{.*}}
|
||||
return _mm512_cmpunord_ps_mask(a, b);
|
||||
|
@ -1586,7 +1586,7 @@ __mmask8 test_mm512_mask_cmpunord_pd_mask(__mmask8 k, __m512d a, __m512d b) {
|
|||
return _mm512_mask_cmpunord_pd_mask(k, a, b);
|
||||
}
|
||||
|
||||
__mmask8 test_mm512_mask_cmpunord_ps_mask(__mmask8 k, __m512 a, __m512 b) {
|
||||
__mmask16 test_mm512_mask_cmpunord_ps_mask(__mmask16 k, __m512 a, __m512 b) {
|
||||
// CHECK-LABEL: @test_mm512_mask_cmpunord_ps_mask
|
||||
// CHECK: [[CMP:%.*]] = fcmp uno <16 x float> %{{.*}}, %{{.*}}
|
||||
// CHECK: and <16 x i1> [[CMP]], {{.*}}
|
||||
|
@ -2232,7 +2232,7 @@ __m512i test_mm512_mul_epi32(__m512i __A, __m512i __B) {
|
|||
return _mm512_mul_epi32(__A,__B);
|
||||
}
|
||||
|
||||
__m512i test_mm512_maskz_mul_epi32 (__mmask16 __k,__m512i __A, __m512i __B) {
|
||||
__m512i test_mm512_maskz_mul_epi32 (__mmask8 __k,__m512i __A, __m512i __B) {
|
||||
//CHECK-LABEL: @test_mm512_maskz_mul_epi32
|
||||
//CHECK: shl <8 x i64> %{{.*}}, <i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32>
|
||||
//CHECK: ashr <8 x i64> %{{.*}}, <i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32>
|
||||
|
@ -2243,8 +2243,7 @@ __m512i test_mm512_maskz_mul_epi32 (__mmask16 __k,__m512i __A, __m512i __B) {
|
|||
return _mm512_maskz_mul_epi32(__k,__A,__B);
|
||||
}
|
||||
|
||||
__m512i test_mm512_mask_mul_epi32 (__mmask16 __k,__m512i __A, __m512i __B,
|
||||
__m512i __src) {
|
||||
__m512i test_mm512_mask_mul_epi32 (__mmask8 __k,__m512i __A, __m512i __B, __m512i __src) {
|
||||
//CHECK-LABEL: @test_mm512_mask_mul_epi32
|
||||
//CHECK: shl <8 x i64> %{{.*}}, <i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32>
|
||||
//CHECK: ashr <8 x i64> %{{.*}}, <i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32>
|
||||
|
@ -2263,7 +2262,7 @@ __m512i test_mm512_mul_epu32 (__m512i __A, __m512i __B) {
|
|||
return _mm512_mul_epu32(__A,__B);
|
||||
}
|
||||
|
||||
__m512i test_mm512_maskz_mul_epu32 (__mmask16 __k,__m512i __A, __m512i __B) {
|
||||
__m512i test_mm512_maskz_mul_epu32 (__mmask8 __k,__m512i __A, __m512i __B) {
|
||||
//CHECK-LABEL: @test_mm512_maskz_mul_epu32
|
||||
//CHECK: and <8 x i64> %{{.*}}, <i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295>
|
||||
//CHECK: and <8 x i64> %{{.*}}, <i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295>
|
||||
|
@ -2272,8 +2271,7 @@ __m512i test_mm512_maskz_mul_epu32 (__mmask16 __k,__m512i __A, __m512i __B) {
|
|||
return _mm512_maskz_mul_epu32(__k,__A,__B);
|
||||
}
|
||||
|
||||
__m512i test_mm512_mask_mul_epu32 (__mmask16 __k,__m512i __A, __m512i __B,
|
||||
__m512i __src) {
|
||||
__m512i test_mm512_mask_mul_epu32 (__mmask8 __k,__m512i __A, __m512i __B, __m512i __src) {
|
||||
//CHECK-LABEL: @test_mm512_mask_mul_epu32
|
||||
//CHECK: and <8 x i64> %{{.*}}, <i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295>
|
||||
//CHECK: and <8 x i64> %{{.*}}, <i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295, i64 4294967295>
|
||||
|
@ -3888,7 +3886,7 @@ int test_mm_cvt_roundss_i32(__m128 __A) {
|
|||
}
|
||||
|
||||
#ifdef __x86_64__
|
||||
int test_mm_cvt_roundss_si64(__m128 __A) {
|
||||
long long test_mm_cvt_roundss_si64(__m128 __A) {
|
||||
// CHECK-LABEL: @test_mm_cvt_roundss_si64
|
||||
// CHECK: @llvm.x86.avx512.vcvtss2si64
|
||||
return _mm_cvt_roundss_si64(__A, _MM_FROUND_CUR_DIRECTION);
|
||||
|
|
|
@ -2018,7 +2018,7 @@ __m128 test_mm_mask_add_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
|
|||
// CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
|
||||
return _mm_mask_add_ps(__W,__U,__A,__B);
|
||||
}
|
||||
__m128 test_mm_maskz_add_ps(__mmask16 __U, __m128 __A, __m128 __B) {
|
||||
__m128 test_mm_maskz_add_ps(__mmask8 __U, __m128 __A, __m128 __B) {
|
||||
// CHECK-LABEL: @test_mm_maskz_add_ps
|
||||
// CHECK: fadd <4 x float> %{{.*}}, %{{.*}}
|
||||
// CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
|
||||
|
@ -2228,7 +2228,7 @@ __m128 test_mm_mask_cvtepi32_ps(__m128 __W, __mmask8 __U, __m128i __A) {
|
|||
// CHECK: select <4 x i1> {{.*}}, <4 x float> {{.*}}, <4 x float> {{.*}}
|
||||
return _mm_mask_cvtepi32_ps(__W,__U,__A);
|
||||
}
|
||||
__m128 test_mm_maskz_cvtepi32_ps(__mmask16 __U, __m128i __A) {
|
||||
__m128 test_mm_maskz_cvtepi32_ps(__mmask8 __U, __m128i __A) {
|
||||
// CHECK-LABEL: @test_mm_maskz_cvtepi32_ps
|
||||
// CHECK: sitofp <4 x i32> %{{.*}} to <4 x float>
|
||||
// CHECK: select <4 x i1> {{.*}}, <4 x float> {{.*}}, <4 x float> {{.*}}
|
||||
|
@ -2240,7 +2240,7 @@ __m256 test_mm256_mask_cvtepi32_ps(__m256 __W, __mmask8 __U, __m256i __A) {
|
|||
// CHECK: select <8 x i1> {{.*}}, <8 x float> {{.*}}, <8 x float> {{.*}}
|
||||
return _mm256_mask_cvtepi32_ps(__W,__U,__A);
|
||||
}
|
||||
__m256 test_mm256_maskz_cvtepi32_ps(__mmask16 __U, __m256i __A) {
|
||||
__m256 test_mm256_maskz_cvtepi32_ps(__mmask8 __U, __m256i __A) {
|
||||
// CHECK-LABEL: @test_mm256_maskz_cvtepi32_ps
|
||||
// CHECK: sitofp <8 x i32> %{{.*}} to <8 x float>
|
||||
// CHECK: select <8 x i1> {{.*}}, <8 x float> {{.*}}, <8 x float> {{.*}}
|
||||
|
@ -2605,7 +2605,7 @@ __m128 test_mm_mask_div_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
|
|||
// CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
|
||||
return _mm_mask_div_ps(__W,__U,__A,__B);
|
||||
}
|
||||
__m128 test_mm_maskz_div_ps(__mmask16 __U, __m128 __A, __m128 __B) {
|
||||
__m128 test_mm_maskz_div_ps(__mmask8 __U, __m128 __A, __m128 __B) {
|
||||
// CHECK-LABEL: @test_mm_maskz_div_ps
|
||||
// CHECK: fdiv <4 x float> %{{.*}}, %{{.*}}
|
||||
// CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
|
||||
|
|
|
@ -974,7 +974,7 @@ __m128i test_mm_maskz_packs_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
return _mm_maskz_packs_epi32(__M,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_packs_epi32(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_packs_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_packs_epi32
|
||||
// CHECK: @llvm.x86.sse2.packssdw
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
|
@ -986,7 +986,7 @@ __m256i test_mm256_maskz_packs_epi32(__mmask16 __M, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
return _mm256_maskz_packs_epi32(__M,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_packs_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_packs_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_packs_epi32
|
||||
// CHECK: @llvm.x86.avx2.packssdw
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
|
@ -998,7 +998,7 @@ __m128i test_mm_maskz_packs_epi16(__mmask16 __M, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
return _mm_maskz_packs_epi16(__M,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_packs_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_packs_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_packs_epi16
|
||||
// CHECK: @llvm.x86.sse2.packsswb
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
|
@ -1010,14 +1010,14 @@ __m256i test_mm256_maskz_packs_epi16(__mmask32 __M, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
return _mm256_maskz_packs_epi16(__M,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_packs_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_packs_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_packs_epi16
|
||||
// CHECK: @llvm.x86.avx2.packsswb
|
||||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
return _mm256_mask_packs_epi16(__W,__M,__A,__B);
|
||||
}
|
||||
|
||||
__m128i test_mm_mask_packus_epi32(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_packus_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_packus_epi32
|
||||
// CHECK: @llvm.x86.sse41.packusdw
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
|
@ -1038,7 +1038,7 @@ __m256i test_mm256_maskz_packus_epi32(__mmask16 __M, __m256i __A, __m256i __B) {
|
|||
return _mm256_maskz_packus_epi32(__M,__A,__B);
|
||||
}
|
||||
|
||||
__m256i test_mm256_mask_packus_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_packus_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_packus_epi32
|
||||
// CHECK: @llvm.x86.avx2.packusdw
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
|
@ -1052,7 +1052,7 @@ __m128i test_mm_maskz_packus_epi16(__mmask16 __M, __m128i __A, __m128i __B) {
|
|||
return _mm_maskz_packus_epi16(__M,__A,__B);
|
||||
}
|
||||
|
||||
__m128i test_mm_mask_packus_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_packus_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_packus_epi16
|
||||
// CHECK: @llvm.x86.sse2.packuswb
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
|
@ -1066,14 +1066,14 @@ __m256i test_mm256_maskz_packus_epi16(__mmask32 __M, __m256i __A, __m256i __B) {
|
|||
return _mm256_maskz_packus_epi16(__M,__A,__B);
|
||||
}
|
||||
|
||||
__m256i test_mm256_mask_packus_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_packus_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_packus_epi16
|
||||
// CHECK: @llvm.x86.avx2.packuswb
|
||||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
return _mm256_mask_packus_epi16(__W,__M,__A,__B);
|
||||
}
|
||||
|
||||
__m128i test_mm_mask_adds_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_adds_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_adds_epi8
|
||||
// CHECK: @llvm.x86.sse2.padds.b
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
|
@ -1085,7 +1085,7 @@ __m128i test_mm_maskz_adds_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
return _mm_maskz_adds_epi8(__U,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_adds_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_adds_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_adds_epi8
|
||||
// CHECK: @llvm.x86.avx2.padds.b
|
||||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
|
@ -1097,7 +1097,7 @@ __m256i test_mm256_maskz_adds_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
return _mm256_maskz_adds_epi8(__U,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_adds_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_adds_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_adds_epi16
|
||||
// CHECK: @llvm.x86.sse2.padds.w
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
|
@ -1109,7 +1109,7 @@ __m128i test_mm_maskz_adds_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
return _mm_maskz_adds_epi16(__U,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_adds_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_adds_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_adds_epi16
|
||||
// CHECK: @llvm.x86.avx2.padds.w
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
|
@ -1121,7 +1121,7 @@ __m256i test_mm256_maskz_adds_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
return _mm256_maskz_adds_epi16(__U,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_adds_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_adds_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_adds_epu8
|
||||
// CHECK: @llvm.x86.sse2.paddus.b
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
|
@ -1133,7 +1133,7 @@ __m128i test_mm_maskz_adds_epu8(__mmask16 __U, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
return _mm_maskz_adds_epu8(__U,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_adds_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_adds_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_adds_epu8
|
||||
// CHECK: @llvm.x86.avx2.paddus.b
|
||||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
|
@ -1145,7 +1145,7 @@ __m256i test_mm256_maskz_adds_epu8(__mmask32 __U, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
return _mm256_maskz_adds_epu8(__U,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_adds_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_adds_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_adds_epu16
|
||||
// CHECK: @llvm.x86.sse2.paddus.w
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
|
@ -1157,7 +1157,7 @@ __m128i test_mm_maskz_adds_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
return _mm_maskz_adds_epu16(__U,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_adds_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_adds_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_adds_epu16
|
||||
// CHECK: @llvm.x86.avx2.paddus.w
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
|
@ -1169,7 +1169,7 @@ __m256i test_mm256_maskz_adds_epu16(__mmask16 __U, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
return _mm256_maskz_adds_epu16(__U,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_avg_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_avg_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_avg_epu8
|
||||
// CHECK-NOT: @llvm.x86.sse2.pavg.b
|
||||
// CHECK: zext <16 x i8> %{{.*}} to <16 x i16>
|
||||
|
@ -1194,7 +1194,7 @@ __m128i test_mm_maskz_avg_epu8(__mmask16 __U, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
return _mm_maskz_avg_epu8(__U,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_avg_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_avg_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_avg_epu8
|
||||
// CHECK-NOT: @llvm.x86.avx2.pavg.b
|
||||
// CHECK: zext <32 x i8> %{{.*}} to <32 x i16>
|
||||
|
@ -1219,7 +1219,7 @@ __m256i test_mm256_maskz_avg_epu8(__mmask32 __U, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
return _mm256_maskz_avg_epu8(__U,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_avg_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_avg_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_avg_epu16
|
||||
// CHECK-NOT: @llvm.x86.sse2.pavg.w
|
||||
// CHECK: zext <8 x i16> %{{.*}} to <8 x i32>
|
||||
|
@ -1244,7 +1244,7 @@ __m128i test_mm_maskz_avg_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
return _mm_maskz_avg_epu16(__U,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_avg_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_avg_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_avg_epu16
|
||||
// CHECK-NOT: @llvm.x86.avx2.pavg.w
|
||||
// CHECK: zext <16 x i16> %{{.*}} to <16 x i32>
|
||||
|
@ -1276,7 +1276,7 @@ __m128i test_mm_maskz_max_epi8(__mmask16 __M, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <16 x i1> {{.*}}, <16 x i8> [[RES]], <16 x i8> {{.*}}
|
||||
return _mm_maskz_max_epi8(__M,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_max_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_max_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_max_epi8
|
||||
// CHECK: [[CMP:%.*]] = icmp sgt <16 x i8> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <16 x i1> [[CMP]], <16 x i8> [[X]], <16 x i8> [[Y]]
|
||||
|
@ -1290,7 +1290,7 @@ __m256i test_mm256_maskz_max_epi8(__mmask32 __M, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <32 x i1> {{.*}}, <32 x i8> [[RES]], <32 x i8> {{.*}}
|
||||
return _mm256_maskz_max_epi8(__M,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_max_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_max_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_max_epi8
|
||||
// CHECK: [[CMP:%.*]] = icmp sgt <32 x i8> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <32 x i1> [[CMP]], <32 x i8> [[X]], <32 x i8> [[Y]]
|
||||
|
@ -1304,7 +1304,7 @@ __m128i test_mm_maskz_max_epi16(__mmask8 __M, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <8 x i1> {{.*}}, <8 x i16> [[RES]], <8 x i16> {{.*}}
|
||||
return _mm_maskz_max_epi16(__M,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_max_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_max_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_max_epi16
|
||||
// CHECK: [[CMP:%.*]] = icmp sgt <8 x i16> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <8 x i1> [[CMP]], <8 x i16> [[X]], <8 x i16> [[Y]]
|
||||
|
@ -1318,7 +1318,7 @@ __m256i test_mm256_maskz_max_epi16(__mmask16 __M, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <16 x i1> {{.*}}, <16 x i16> [[RES]], <16 x i16> {{.*}}
|
||||
return _mm256_maskz_max_epi16(__M,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_max_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_max_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_max_epi16
|
||||
// CHECK: [[CMP:%.*]] = icmp sgt <16 x i16> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <16 x i1> [[CMP]], <16 x i16> [[X]], <16 x i16> [[Y]]
|
||||
|
@ -1332,7 +1332,7 @@ __m128i test_mm_maskz_max_epu8(__mmask16 __M, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <16 x i1> {{.*}}, <16 x i8> [[RES]], <16 x i8> {{.*}}
|
||||
return _mm_maskz_max_epu8(__M,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_max_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_max_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_max_epu8
|
||||
// CHECK: [[CMP:%.*]] = icmp ugt <16 x i8> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <16 x i1> [[CMP]], <16 x i8> [[X]], <16 x i8> [[Y]]
|
||||
|
@ -1346,7 +1346,7 @@ __m256i test_mm256_maskz_max_epu8(__mmask32 __M, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <32 x i1> {{.*}}, <32 x i8> [[RES]], <32 x i8> {{.*}}
|
||||
return _mm256_maskz_max_epu8(__M,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_max_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_max_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_max_epu8
|
||||
// CHECK: [[CMP:%.*]] = icmp ugt <32 x i8> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <32 x i1> [[CMP]], <32 x i8> [[X]], <32 x i8> [[Y]]
|
||||
|
@ -1360,7 +1360,7 @@ __m128i test_mm_maskz_max_epu16(__mmask8 __M, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <8 x i1> {{.*}}, <8 x i16> [[RES]], <8 x i16> {{.*}}
|
||||
return _mm_maskz_max_epu16(__M,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_max_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_max_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_max_epu16
|
||||
// CHECK: [[CMP:%.*]] = icmp ugt <8 x i16> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <8 x i1> [[CMP]], <8 x i16> [[X]], <8 x i16> [[Y]]
|
||||
|
@ -1374,7 +1374,7 @@ __m256i test_mm256_maskz_max_epu16(__mmask16 __M, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <16 x i1> {{.*}}, <16 x i16> [[RES]], <16 x i16> {{.*}}
|
||||
return _mm256_maskz_max_epu16(__M,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_max_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_max_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_max_epu16
|
||||
// CHECK: [[CMP:%.*]] = icmp ugt <16 x i16> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <16 x i1> [[CMP]], <16 x i16> [[X]], <16 x i16> [[Y]]
|
||||
|
@ -1388,7 +1388,7 @@ __m128i test_mm_maskz_min_epi8(__mmask16 __M, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <16 x i1> {{.*}}, <16 x i8> [[RES]], <16 x i8> {{.*}}
|
||||
return _mm_maskz_min_epi8(__M,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_min_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_min_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_min_epi8
|
||||
// CHECK: [[CMP:%.*]] = icmp slt <16 x i8> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <16 x i1> [[CMP]], <16 x i8> [[X]], <16 x i8> [[Y]]
|
||||
|
@ -1402,7 +1402,7 @@ __m256i test_mm256_maskz_min_epi8(__mmask32 __M, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <32 x i1> {{.*}}, <32 x i8> [[RES]], <32 x i8> {{.*}}
|
||||
return _mm256_maskz_min_epi8(__M,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_min_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_min_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_min_epi8
|
||||
// CHECK: [[CMP:%.*]] = icmp slt <32 x i8> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <32 x i1> [[CMP]], <32 x i8> [[X]], <32 x i8> [[Y]]
|
||||
|
@ -1416,7 +1416,7 @@ __m128i test_mm_maskz_min_epi16(__mmask8 __M, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <8 x i1> {{.*}}, <8 x i16> [[RES]], <8 x i16> {{.*}}
|
||||
return _mm_maskz_min_epi16(__M,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_min_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_min_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_min_epi16
|
||||
// CHECK: [[CMP:%.*]] = icmp slt <8 x i16> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <8 x i1> [[CMP]], <8 x i16> [[X]], <8 x i16> [[Y]]
|
||||
|
@ -1430,7 +1430,7 @@ __m256i test_mm256_maskz_min_epi16(__mmask16 __M, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <16 x i1> {{.*}}, <16 x i16> [[RES]], <16 x i16> {{.*}}
|
||||
return _mm256_maskz_min_epi16(__M,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_min_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_min_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_min_epi16
|
||||
// CHECK: [[CMP:%.*]] = icmp slt <16 x i16> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <16 x i1> [[CMP]], <16 x i16> [[X]], <16 x i16> [[Y]]
|
||||
|
@ -1444,7 +1444,7 @@ __m128i test_mm_maskz_min_epu8(__mmask16 __M, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <16 x i1> {{.*}}, <16 x i8> [[RES]], <16 x i8> {{.*}}
|
||||
return _mm_maskz_min_epu8(__M,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_min_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_min_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_min_epu8
|
||||
// CHECK: [[CMP:%.*]] = icmp ult <16 x i8> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <16 x i1> [[CMP]], <16 x i8> [[X]], <16 x i8> [[Y]]
|
||||
|
@ -1458,7 +1458,7 @@ __m256i test_mm256_maskz_min_epu8(__mmask32 __M, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <32 x i1> {{.*}}, <32 x i8> [[RES]], <32 x i8> {{.*}}
|
||||
return _mm256_maskz_min_epu8(__M,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_min_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_min_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_min_epu8
|
||||
// CHECK: [[CMP:%.*]] = icmp ult <32 x i8> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <32 x i1> [[CMP]], <32 x i8> [[X]], <32 x i8> [[Y]]
|
||||
|
@ -1472,7 +1472,7 @@ __m128i test_mm_maskz_min_epu16(__mmask8 __M, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <8 x i1> {{.*}}, <8 x i16> [[RES]], <8 x i16> {{.*}}
|
||||
return _mm_maskz_min_epu16(__M,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_min_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_min_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_min_epu16
|
||||
// CHECK: [[CMP:%.*]] = icmp ult <8 x i16> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <8 x i1> [[CMP]], <8 x i16> [[X]], <8 x i16> [[Y]]
|
||||
|
@ -1486,14 +1486,14 @@ __m256i test_mm256_maskz_min_epu16(__mmask16 __M, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <16 x i1> {{.*}}, <16 x i16> [[RES]], <16 x i16> {{.*}}
|
||||
return _mm256_maskz_min_epu16(__M,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_min_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_min_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_min_epu16
|
||||
// CHECK: [[CMP:%.*]] = icmp ult <16 x i16> [[X:%.*]], [[Y:%.*]]
|
||||
// CHECK-NEXT: [[RES:%.*]] = select <16 x i1> [[CMP]], <16 x i16> [[X]], <16 x i16> [[Y]]
|
||||
// CHECK: select <16 x i1> {{.*}}, <16 x i16> [[RES]], <16 x i16> {{.*}}
|
||||
return _mm256_mask_min_epu16(__W,__M,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_shuffle_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_shuffle_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_shuffle_epi8
|
||||
// CHECK: @llvm.x86.ssse3.pshuf.b
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
|
@ -1505,7 +1505,7 @@ __m128i test_mm_maskz_shuffle_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
return _mm_maskz_shuffle_epi8(__U,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_shuffle_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_shuffle_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_shuffle_epi8
|
||||
// CHECK: @llvm.x86.avx2.pshuf.b
|
||||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
|
@ -1517,7 +1517,7 @@ __m256i test_mm256_maskz_shuffle_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
return _mm256_maskz_shuffle_epi8(__U,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_subs_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_subs_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_subs_epi8
|
||||
// CHECK: @llvm.x86.sse2.psubs.b
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
|
@ -1529,7 +1529,7 @@ __m128i test_mm_maskz_subs_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
return _mm_maskz_subs_epi8(__U,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_subs_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_subs_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_subs_epi8
|
||||
// CHECK: @llvm.x86.avx2.psubs.b
|
||||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
|
@ -1541,7 +1541,7 @@ __m256i test_mm256_maskz_subs_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
return _mm256_maskz_subs_epi8(__U,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_subs_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_subs_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_subs_epi16
|
||||
// CHECK: @llvm.x86.sse2.psubs.w
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
|
@ -1553,7 +1553,7 @@ __m128i test_mm_maskz_subs_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
return _mm_maskz_subs_epi16(__U,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_subs_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_subs_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_subs_epi16
|
||||
// CHECK: @llvm.x86.avx2.psubs.w
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
|
@ -1565,7 +1565,7 @@ __m256i test_mm256_maskz_subs_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
return _mm256_maskz_subs_epi16(__U,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_subs_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_subs_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_subs_epu8
|
||||
// CHECK: @llvm.x86.sse2.psubus.b
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
|
@ -1577,7 +1577,7 @@ __m128i test_mm_maskz_subs_epu8(__mmask16 __U, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}}
|
||||
return _mm_maskz_subs_epu8(__U,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_subs_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_subs_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_subs_epu8
|
||||
// CHECK: @llvm.x86.avx2.psubus.b
|
||||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
|
@ -1589,7 +1589,7 @@ __m256i test_mm256_maskz_subs_epu8(__mmask32 __U, __m256i __A, __m256i __B) {
|
|||
// CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}}
|
||||
return _mm256_maskz_subs_epu8(__U,__A,__B);
|
||||
}
|
||||
__m128i test_mm_mask_subs_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||
__m128i test_mm_mask_subs_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_subs_epu16
|
||||
// CHECK: @llvm.x86.sse2.psubus.w
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
|
@ -1601,7 +1601,7 @@ __m128i test_mm_maskz_subs_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
|
|||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
return _mm_maskz_subs_epu16(__U,__A,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_subs_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
|
||||
__m256i test_mm256_mask_subs_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_subs_epu16
|
||||
// CHECK: @llvm.x86.avx2.psubus.w
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
|
@ -1615,13 +1615,13 @@ __m256i test_mm256_maskz_subs_epu16(__mmask16 __U, __m256i __A, __m256i __B) {
|
|||
}
|
||||
|
||||
|
||||
__m128i test_mm_mask2_permutex2var_epi16(__m128i __A, __m128i __I, __mmask8 __U, __m128i __B) {
|
||||
__m128i test_mm_mask2_permutex2var_epi16(__m128i __A, __m128i __I, __mmask8 __U, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask2_permutex2var_epi16
|
||||
// CHECK: @llvm.x86.avx512.vpermi2var.hi.128
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
return _mm_mask2_permutex2var_epi16(__A,__I,__U,__B);
|
||||
}
|
||||
__m256i test_mm256_mask2_permutex2var_epi16(__m256i __A, __m256i __I, __mmask16 __U, __m256i __B) {
|
||||
__m256i test_mm256_mask2_permutex2var_epi16(__m256i __A, __m256i __I, __mmask16 __U, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask2_permutex2var_epi16
|
||||
// CHECK: @llvm.x86.avx512.vpermi2var.hi.256
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
|
@ -1632,13 +1632,13 @@ __m128i test_mm_permutex2var_epi16(__m128i __A, __m128i __I, __m128i __B) {
|
|||
// CHECK: @llvm.x86.avx512.vpermi2var.hi.128
|
||||
return _mm_permutex2var_epi16(__A,__I,__B);
|
||||
}
|
||||
__m128i test_mm_mask_permutex2var_epi16(__m128i __A, __mmask8 __U, __m128i __I, __m128i __B) {
|
||||
__m128i test_mm_mask_permutex2var_epi16(__m128i __A, __mmask8 __U, __m128i __I, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_mask_permutex2var_epi16
|
||||
// CHECK: @llvm.x86.avx512.vpermi2var.hi.128
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
return _mm_mask_permutex2var_epi16(__A,__U,__I,__B);
|
||||
}
|
||||
__m128i test_mm_maskz_permutex2var_epi16(__mmask8 __U, __m128i __A, __m128i __I, __m128i __B) {
|
||||
__m128i test_mm_maskz_permutex2var_epi16(__mmask8 __U, __m128i __A, __m128i __I, __m128i __B) {
|
||||
// CHECK-LABEL: @test_mm_maskz_permutex2var_epi16
|
||||
// CHECK: @llvm.x86.avx512.vpermi2var.hi.128
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
|
@ -1650,13 +1650,13 @@ __m256i test_mm256_permutex2var_epi16(__m256i __A, __m256i __I, __m256i __B) {
|
|||
// CHECK: @llvm.x86.avx512.vpermi2var.hi.256
|
||||
return _mm256_permutex2var_epi16(__A,__I,__B);
|
||||
}
|
||||
__m256i test_mm256_mask_permutex2var_epi16(__m256i __A, __mmask16 __U, __m256i __I, __m256i __B) {
|
||||
__m256i test_mm256_mask_permutex2var_epi16(__m256i __A, __mmask16 __U, __m256i __I, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_mask_permutex2var_epi16
|
||||
// CHECK: @llvm.x86.avx512.vpermi2var.hi.256
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
return _mm256_mask_permutex2var_epi16(__A,__U,__I,__B);
|
||||
}
|
||||
__m256i test_mm256_maskz_permutex2var_epi16(__mmask16 __U, __m256i __A, __m256i __I, __m256i __B) {
|
||||
__m256i test_mm256_maskz_permutex2var_epi16(__mmask16 __U, __m256i __A, __m256i __I, __m256i __B) {
|
||||
// CHECK-LABEL: @test_mm256_maskz_permutex2var_epi16
|
||||
// CHECK: @llvm.x86.avx512.vpermi2var.hi.256
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
|
@ -2024,7 +2024,7 @@ __m256i test_mm256_maskz_unpacklo_epi16(__mmask16 __U, __m256i __A, __m256i __B)
|
|||
return _mm256_maskz_unpacklo_epi16(__U, __A, __B);
|
||||
}
|
||||
|
||||
__m128i test_mm_mask_cvtepi8_epi16(__m128i __W, __mmask32 __U, __m128i __A) {
|
||||
__m128i test_mm_mask_cvtepi8_epi16(__m128i __W, __mmask8 __U, __m128i __A) {
|
||||
// CHECK-LABEL: @test_mm_mask_cvtepi8_epi16
|
||||
// CHECK: sext <8 x i8> %{{.*}} to <8 x i16>
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
|
@ -2038,7 +2038,7 @@ __m128i test_mm_maskz_cvtepi8_epi16(__mmask8 __U, __m128i __A) {
|
|||
return _mm_maskz_cvtepi8_epi16(__U, __A);
|
||||
}
|
||||
|
||||
__m256i test_mm256_mask_cvtepi8_epi16(__m256i __W, __mmask32 __U, __m128i __A) {
|
||||
__m256i test_mm256_mask_cvtepi8_epi16(__m256i __W, __mmask16 __U, __m128i __A) {
|
||||
// CHECK-LABEL: @test_mm256_mask_cvtepi8_epi16
|
||||
// CHECK: sext <16 x i8> %{{.*}} to <16 x i16>
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
|
@ -2052,7 +2052,7 @@ __m256i test_mm256_maskz_cvtepi8_epi16(__mmask16 __U, __m128i __A) {
|
|||
return _mm256_maskz_cvtepi8_epi16(__U, __A);
|
||||
}
|
||||
|
||||
__m128i test_mm_mask_cvtepu8_epi16(__m128i __W, __mmask32 __U, __m128i __A) {
|
||||
__m128i test_mm_mask_cvtepu8_epi16(__m128i __W, __mmask8 __U, __m128i __A) {
|
||||
// CHECK-LABEL: @test_mm_mask_cvtepu8_epi16
|
||||
// CHECK: zext <8 x i8> %{{.*}} to <8 x i16>
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
|
@ -2066,7 +2066,7 @@ __m128i test_mm_maskz_cvtepu8_epi16(__mmask8 __U, __m128i __A) {
|
|||
return _mm_maskz_cvtepu8_epi16(__U, __A);
|
||||
}
|
||||
|
||||
__m256i test_mm256_mask_cvtepu8_epi16(__m256i __W, __mmask32 __U, __m128i __A) {
|
||||
__m256i test_mm256_mask_cvtepu8_epi16(__m256i __W, __mmask16 __U, __m128i __A) {
|
||||
// CHECK-LABEL: @test_mm256_mask_cvtepu8_epi16
|
||||
// CHECK: zext <16 x i8> %{{.*}} to <16 x i16>
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
|
@ -3015,56 +3015,56 @@ __mmask16 test_mm256_movepi16_mask(__m256i __A) {
|
|||
return _mm256_movepi16_mask(__A);
|
||||
}
|
||||
|
||||
__m128i test_mm_mask_shufflehi_epi16(__m128i __W, __mmask32 __U, __m128i __A) {
|
||||
__m128i test_mm_mask_shufflehi_epi16(__m128i __W, __mmask8 __U, __m128i __A) {
|
||||
// CHECK-LABEL: @test_mm_mask_shufflehi_epi16
|
||||
// CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 5, i32 5, i32 4, i32 4>
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
return _mm_mask_shufflehi_epi16(__W, __U, __A, 5);
|
||||
}
|
||||
|
||||
__m128i test_mm_maskz_shufflehi_epi16(__mmask32 __U, __m128i __A) {
|
||||
__m128i test_mm_maskz_shufflehi_epi16(__mmask8 __U, __m128i __A) {
|
||||
// CHECK-LABEL: @test_mm_maskz_shufflehi_epi16
|
||||
// CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 5, i32 5, i32 4, i32 4>
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
return _mm_maskz_shufflehi_epi16(__U, __A, 5);
|
||||
}
|
||||
|
||||
__m128i test_mm_mask_shufflelo_epi16(__m128i __W, __mmask32 __U, __m128i __A) {
|
||||
__m128i test_mm_mask_shufflelo_epi16(__m128i __W, __mmask8 __U, __m128i __A) {
|
||||
// CHECK-LABEL: @test_mm_mask_shufflelo_epi16
|
||||
// CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> undef, <8 x i32> <i32 1, i32 1, i32 0, i32 0, i32 4, i32 5, i32 6, i32 7>
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
return _mm_mask_shufflelo_epi16(__W, __U, __A, 5);
|
||||
}
|
||||
|
||||
__m128i test_mm_maskz_shufflelo_epi16(__mmask32 __U, __m128i __A) {
|
||||
__m128i test_mm_maskz_shufflelo_epi16(__mmask8 __U, __m128i __A) {
|
||||
// CHECK-LABEL: @test_mm_maskz_shufflelo_epi16
|
||||
// CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> undef, <8 x i32> <i32 1, i32 1, i32 0, i32 0, i32 4, i32 5, i32 6, i32 7>
|
||||
// CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
|
||||
return _mm_maskz_shufflelo_epi16(__U, __A, 5);
|
||||
}
|
||||
|
||||
__m256i test_mm256_mask_shufflehi_epi16(__m256i __W, __mmask32 __U, __m256i __A) {
|
||||
__m256i test_mm256_mask_shufflehi_epi16(__m256i __W, __mmask16 __U, __m256i __A) {
|
||||
// CHECK-LABEL: @test_mm256_mask_shufflehi_epi16
|
||||
// CHECK: shufflevector <16 x i16> %{{.*}}, <16 x i16> undef, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 5, i32 5, i32 4, i32 4, i32 8, i32 9, i32 10, i32 11, i32 13, i32 13, i32 12, i32 12>
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
return _mm256_mask_shufflehi_epi16(__W, __U, __A, 5);
|
||||
}
|
||||
|
||||
__m256i test_mm256_maskz_shufflehi_epi16(__mmask32 __U, __m256i __A) {
|
||||
__m256i test_mm256_maskz_shufflehi_epi16(__mmask16 __U, __m256i __A) {
|
||||
// CHECK-LABEL: @test_mm256_maskz_shufflehi_epi16
|
||||
// CHECK: shufflevector <16 x i16> %{{.*}}, <16 x i16> undef, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 5, i32 5, i32 4, i32 4, i32 8, i32 9, i32 10, i32 11, i32 13, i32 13, i32 12, i32 12>
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
return _mm256_maskz_shufflehi_epi16(__U, __A, 5);
|
||||
}
|
||||
|
||||
__m256i test_mm256_mask_shufflelo_epi16(__m256i __W, __mmask32 __U, __m256i __A) {
|
||||
__m256i test_mm256_mask_shufflelo_epi16(__m256i __W, __mmask16 __U, __m256i __A) {
|
||||
// CHECK-LABEL: @test_mm256_mask_shufflelo_epi16
|
||||
// CHECK: shufflevector <16 x i16> %{{.*}}, <16 x i16> undef, <16 x i32> <i32 1, i32 1, i32 0, i32 0, i32 4, i32 5, i32 6, i32 7, i32 9, i32 9, i32 8, i32 8, i32 12, i32 13, i32 14, i32 15>
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
return _mm256_mask_shufflelo_epi16(__W, __U, __A, 5);
|
||||
}
|
||||
|
||||
__m256i test_mm256_maskz_shufflelo_epi16(__mmask32 __U, __m256i __A) {
|
||||
__m256i test_mm256_maskz_shufflelo_epi16(__mmask16 __U, __m256i __A) {
|
||||
// CHECK-LABEL: @test_mm256_maskz_shufflelo_epi16
|
||||
// CHECK: shufflevector <16 x i16> %{{.*}}, <16 x i16> undef, <16 x i32> <i32 1, i32 1, i32 0, i32 0, i32 4, i32 5, i32 6, i32 7, i32 9, i32 9, i32 8, i32 8, i32 12, i32 13, i32 14, i32 15>
|
||||
// CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
|
||||
|
|
Loading…
Reference in New Issue