[InstCombine] add test for fptrunc with vector with undef elt; NFC

This should be fixed with D53650.

llvm-svn: 345206
This commit is contained in:
Sanjay Patel 2018-10-24 22:02:05 +00:00
parent 4664280a9c
commit e9f9a2a29c
1 changed files with 13 additions and 2 deletions

View File

@ -29,8 +29,8 @@ define half @test3(float %a) {
ret half %c
}
define half @test4(float %a) {
; CHECK-LABEL: @test4(
define half @fneg_fptrunc(float %a) {
; CHECK-LABEL: @fneg_fptrunc(
; CHECK-NEXT: [[TMP1:%.*]] = fptrunc float [[A:%.*]] to half
; CHECK-NEXT: [[C:%.*]] = fsub half 0xH8000, [[TMP1]]
; CHECK-NEXT: ret half [[C]]
@ -40,6 +40,17 @@ define half @test4(float %a) {
ret half %c
}
define <2 x half> @fneg_fptrunc_vec_undef(<2 x float> %a) {
; CHECK-LABEL: @fneg_fptrunc_vec_undef(
; CHECK-NEXT: [[B:%.*]] = fsub <2 x float> <float -0.000000e+00, float undef>, [[A:%.*]]
; CHECK-NEXT: [[C:%.*]] = fptrunc <2 x float> [[B]] to <2 x half>
; CHECK-NEXT: ret <2 x half> [[C]]
;
%b = fsub <2 x float> <float -0.0, float undef>, %a
%c = fptrunc <2 x float> %b to <2 x half>
ret <2 x half> %c
}
define half @test4-fast(float %a) {
; CHECK-LABEL: @test4-fast(
; CHECK-NEXT: [[TMP1:%.*]] = fptrunc float [[A:%.*]] to half