[AVX512] Zero extend cmp intrinsic return value.

Differential Revision: http://reviews.llvm.org/D21746

llvm-svn: 274110
This commit is contained in:
Igor Breger 2016-06-29 08:14:17 +00:00
parent 93c9af425e
commit 2c880cf9b1
2 changed files with 3 additions and 2 deletions

View File

@ -6460,8 +6460,8 @@ static Value *EmitX86MaskedCompare(CodeGenFunction &CGF, unsigned CC,
Indices[i] = i;
for (unsigned i = NumElts; i != 8; ++i)
Indices[i] = NumElts;
Cmp = CGF.Builder.CreateShuffleVector(Cmp, UndefValue::get(Cmp->getType()),
Indices);
Cmp = CGF.Builder.CreateShuffleVector(
Cmp, llvm::Constant::getNullValue(Cmp->getType()), Indices);
}
return CGF.Builder.CreateBitCast(Cmp,
IntegerType::get(CGF.getLLVMContext(),

View File

@ -8,6 +8,7 @@
__mmask8 test_mm_cmpeq_epu32_mask(__m128i __a, __m128i __b) {
// CHECK-LABEL: @test_mm_cmpeq_epu32_mask
// CHECK: icmp eq <4 x i32> %{{.*}}, %{{.*}}
// CHECK: shufflevector <4 x i1> %{{.*}}, <4 x i1> zeroinitializer, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 4, i32 4, i32 4>
return (__mmask8)_mm_cmpeq_epu32_mask(__a, __b);
}