r314102 - fixing a bug in mask[z]_set1 intrinsic
Jina Nahias via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 25 06:38:08 PDT 2017
Author: jina.nahias
Date: Mon Sep 25 06:38:08 2017
New Revision: 314102
URL: http://llvm.org/viewvc/llvm-project?rev=314102&view=rev
Log:
fixing a bug in mask[z]_set1 intrinsic
Differential Revision: https://reviews.llvm.org/D38231
Change-Id: I80bbff9cbe93e4be54d8a761ef9723edf3f57c57
Modified:
cfe/trunk/lib/Headers/avx512vlintrin.h
cfe/trunk/test/CodeGen/avx512vl-builtins.c
Modified: cfe/trunk/lib/Headers/avx512vlintrin.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/avx512vlintrin.h?rev=314102&r1=314101&r2=314102&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/avx512vlintrin.h (original)
+++ cfe/trunk/lib/Headers/avx512vlintrin.h Mon Sep 25 06:38:08 2017
@@ -5761,7 +5761,7 @@ static __inline__ __m128i __DEFAULT_FN_A
_mm_mask_set1_epi64 (__m128i __O, __mmask8 __M, long long __A)
{
return (__m128i) __builtin_ia32_selectq_128(__M,
- (__v2di) _mm_set1_epi8(__A),
+ (__v2di) _mm_set1_epi64x(__A),
(__v2di) __O);
}
@@ -5769,7 +5769,7 @@ static __inline__ __m128i __DEFAULT_FN_A
_mm_maskz_set1_epi64 (__mmask8 __M, long long __A)
{
return (__m128i) __builtin_ia32_selectq_128(__M,
- (__v2di) _mm_set1_epi8(__A),
+ (__v2di) _mm_set1_epi64x(__A),
(__v2di) _mm_setzero_si128());
}
Modified: cfe/trunk/test/CodeGen/avx512vl-builtins.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512vl-builtins.c?rev=314102&r1=314101&r2=314102&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/avx512vl-builtins.c (original)
+++ cfe/trunk/test/CodeGen/avx512vl-builtins.c Mon Sep 25 06:38:08 2017
@@ -4563,22 +4563,8 @@ __m256i test_mm256_maskz_set1_epi32(__mm
#ifdef __x86_64__
__m128i test_mm_mask_set1_epi64(__m128i __O, __mmask8 __M, long long __A) {
// CHECK-LABEL: @test_mm_mask_set1_epi64
- // CHECK: insertelement <16 x i8> undef, i8 %{{.*}}, i32 0
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 1
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 2
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 3
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 4
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 5
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 6
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 7
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 8
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 9
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 10
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 11
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 12
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 13
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 14
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 15
+ // CHECK: insertelement <2 x i64> undef, i64 %{{.*}}, i32 0
+ // CHECK: insertelement <2 x i64> %{{.*}}, i64 %{{.*}}, i32 1
// CHECK: shufflevector <8 x i1> %{{.*}}, <8 x i1> %{{.*}}, <2 x i32> <i32 0, i32 1>
// CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
return _mm_mask_set1_epi64(__O, __M, __A);
@@ -4586,22 +4572,8 @@ __m128i test_mm_mask_set1_epi64(__m128i
__m128i test_mm_maskz_set1_epi64(__mmask8 __M, long long __A) {
// CHECK-LABEL: @test_mm_maskz_set1_epi64
- // CHECK: insertelement <16 x i8> undef, i8 %{{.*}}, i32 0
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 1
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 2
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 3
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 4
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 5
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 6
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 7
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 8
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 9
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 10
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 11
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 12
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 13
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 14
- // CHECK: insertelement <16 x i8> %{{.*}}, i8 %{{.*}}, i32 15
+ // CHECK: insertelement <2 x i64> undef, i64 %{{.*}}, i32 0
+ // CHECK: insertelement <2 x i64> %{{.*}}, i64 %{{.*}}, i32 1
// CHECK: shufflevector <8 x i1> %{{.*}}, <8 x i1> %{{.*}}, <2 x i32> <i32 0, i32 1>
// CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
return _mm_maskz_set1_epi64(__M, __A);
More information about the cfe-commits
mailing list