AVX512: combining setcc and zext is wrong on AVX512

because vector compare instruction puts result in mask register.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199798 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Elena Demikhovsky
2014-01-22 12:26:19 +00:00
parent bb96dfcf4f
commit c75a44cda7
2 changed files with 15 additions and 1 deletions

View File

@@ -122,3 +122,14 @@ define i16 @test12(<16 x i64> %a, <16 x i64> %b) nounwind {
%res1 = bitcast <16 x i1> %res to i16
ret i16 %res1
}
; CHECK-LABEL: test13
; CHECK: vcmpeqps %zmm
; CHECK: vpbroadcastd
; CHECK: ret
define <16 x i32> @test13(<16 x float>%a, <16 x float>%b)
{
%cmpvector_i = fcmp oeq <16 x float> %a, %b
%conv = zext <16 x i1> %cmpvector_i to <16 x i32>
ret <16 x i32> %conv
}