[InstCombine] regenerate test checks; NFC

llvm-svn: 345757
This commit is contained in:
Sanjay Patel 2018-10-31 18:17:51 +00:00
parent 805cdcfe73
commit 886893883a
1 changed files with 32 additions and 32 deletions

View File

@ -4,8 +4,8 @@
; This is the canonical form for a type-changing min/max.
define double @t1(float %a) {
; CHECK-LABEL: @t1(
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp oge float %a, 5.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], float 5.000000e+00, float %a
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp oge float [[A:%.*]], 5.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], float 5.000000e+00, float [[A]]
; CHECK-NEXT: [[TMP2:%.*]] = fpext float [[TMP1]] to double
; CHECK-NEXT: ret double [[TMP2]]
;
@ -18,8 +18,8 @@ define double @t1(float %a) {
; Check this is converted into canonical form, as above.
define double @t2(float %a) {
; CHECK-LABEL: @t2(
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp oge float %a, 5.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], float 5.000000e+00, float %a
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp oge float [[A:%.*]], 5.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], float 5.000000e+00, float [[A]]
; CHECK-NEXT: [[TMP2:%.*]] = fpext float [[TMP1]] to double
; CHECK-NEXT: ret double [[TMP2]]
;
@ -32,8 +32,8 @@ define double @t2(float %a) {
; Same again, with trunc.
define float @t4(double %a) {
; CHECK-LABEL: @t4(
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp oge double %a, 5.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], double 5.000000e+00, double %a
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp oge double [[A:%.*]], 5.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], double 5.000000e+00, double [[A]]
; CHECK-NEXT: [[TMP2:%.*]] = fptrunc double [[TMP1]] to float
; CHECK-NEXT: ret float [[TMP2]]
;
@ -46,8 +46,8 @@ define float @t4(double %a) {
; different values, should not be converted.
define double @t5(float %a) {
; CHECK-LABEL: @t5(
; CHECK-NEXT: [[TMP1:%.*]] = fcmp ult float %a, 5.000000e+00
; CHECK-NEXT: [[TMP2:%.*]] = fpext float %a to double
; CHECK-NEXT: [[TMP1:%.*]] = fcmp ult float [[A:%.*]], 5.000000e+00
; CHECK-NEXT: [[TMP2:%.*]] = fpext float [[A]] to double
; CHECK-NEXT: [[TMP3:%.*]] = select i1 [[TMP1]], double [[TMP2]], double 5.001000e+00
; CHECK-NEXT: ret double [[TMP3]]
;
@ -60,8 +60,8 @@ define double @t5(float %a) {
; Signed zero, should not be converted
define double @t6(float %a) {
; CHECK-LABEL: @t6(
; CHECK-NEXT: [[TMP1:%.*]] = fcmp ult float %a, -0.000000e+00
; CHECK-NEXT: [[TMP2:%.*]] = fpext float %a to double
; CHECK-NEXT: [[TMP1:%.*]] = fcmp ult float [[A:%.*]], -0.000000e+00
; CHECK-NEXT: [[TMP2:%.*]] = fpext float [[A]] to double
; CHECK-NEXT: [[TMP3:%.*]] = select i1 [[TMP1]], double [[TMP2]], double 0.000000e+00
; CHECK-NEXT: ret double [[TMP3]]
;
@ -74,8 +74,8 @@ define double @t6(float %a) {
; Signed zero, should not be converted
define double @t7(float %a) {
; CHECK-LABEL: @t7(
; CHECK-NEXT: [[TMP1:%.*]] = fcmp ult float %a, 0.000000e+00
; CHECK-NEXT: [[TMP2:%.*]] = fpext float %a to double
; CHECK-NEXT: [[TMP1:%.*]] = fcmp ult float [[A:%.*]], 0.000000e+00
; CHECK-NEXT: [[TMP2:%.*]] = fpext float [[A]] to double
; CHECK-NEXT: [[TMP3:%.*]] = select i1 [[TMP1]], double [[TMP2]], double -0.000000e+00
; CHECK-NEXT: ret double [[TMP3]]
;
@ -87,8 +87,8 @@ define double @t7(float %a) {
define i64 @t8(float %a) {
; CHECK-LABEL: @t8(
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp oge float %a, 5.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], float 5.000000e+00, float %a
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp oge float [[A:%.*]], 5.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], float 5.000000e+00, float [[A]]
; CHECK-NEXT: [[TMP2:%.*]] = fptoui float [[TMP1]] to i64
; CHECK-NEXT: ret i64 [[TMP2]]
;
@ -100,8 +100,8 @@ define i64 @t8(float %a) {
define i8 @t9(float %a) {
; CHECK-LABEL: @t9(
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp oge float %a, 0.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], float 0.000000e+00, float %a
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp oge float [[A:%.*]], 0.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], float 0.000000e+00, float [[A]]
; CHECK-NEXT: [[TMP2:%.*]] = fptosi float [[TMP1]] to i8
; CHECK-NEXT: ret i8 [[TMP2]]
;
@ -114,8 +114,8 @@ define i8 @t9(float %a) {
; Either operand could be NaN, but fast modifier applied.
define i8 @t11(float %a, float %b) {
; CHECK-LABEL: @t11(
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp fast oge float %b, %a
; CHECK-NEXT: [[DOTV:%.*]] = select i1 [[DOTINV]], float %a, float %b
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp fast oge float [[B:%.*]], [[A:%.*]]
; CHECK-NEXT: [[DOTV:%.*]] = select i1 [[DOTINV]], float [[A]], float [[B]]
; CHECK-NEXT: [[TMP1:%.*]] = fptosi float [[DOTV]] to i8
; CHECK-NEXT: ret i8 [[TMP1]]
;
@ -129,8 +129,8 @@ define i8 @t11(float %a, float %b) {
; Either operand could be NaN, but nnan modifier applied.
define i8 @t12(float %a, float %b) {
; CHECK-LABEL: @t12(
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp nnan oge float %b, %a
; CHECK-NEXT: [[DOTV:%.*]] = select i1 [[DOTINV]], float %a, float %b
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp nnan oge float [[B:%.*]], [[A:%.*]]
; CHECK-NEXT: [[DOTV:%.*]] = select i1 [[DOTINV]], float [[A]], float [[B]]
; CHECK-NEXT: [[TMP1:%.*]] = fptosi float [[DOTV]] to i8
; CHECK-NEXT: ret i8 [[TMP1]]
;
@ -144,8 +144,8 @@ define i8 @t12(float %a, float %b) {
; Float and int values do not match.
define i8 @t13(float %a) {
; CHECK-LABEL: @t13(
; CHECK-NEXT: [[TMP1:%.*]] = fcmp ult float %a, 1.500000e+00
; CHECK-NEXT: [[TMP2:%.*]] = fptosi float %a to i8
; CHECK-NEXT: [[TMP1:%.*]] = fcmp ult float [[A:%.*]], 1.500000e+00
; CHECK-NEXT: [[TMP2:%.*]] = fptosi float [[A]] to i8
; CHECK-NEXT: [[TMP3:%.*]] = select i1 [[TMP1]], i8 [[TMP2]], i8 1
; CHECK-NEXT: ret i8 [[TMP3]]
;
@ -158,8 +158,8 @@ define i8 @t13(float %a) {
; %a could be -0.0, but it doesn't matter because the conversion to int is the same for 0.0 or -0.0.
define i8 @t14(float %a) {
; CHECK-LABEL: @t14(
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp oge float %a, 0.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], float 0.000000e+00, float %a
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp oge float [[A:%.*]], 0.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], float 0.000000e+00, float [[A]]
; CHECK-NEXT: [[TMP2:%.*]] = fptosi float [[TMP1]] to i8
; CHECK-NEXT: ret i8 [[TMP2]]
;
@ -171,8 +171,8 @@ define i8 @t14(float %a) {
define i8 @t14_commute(float %a) {
; CHECK-LABEL: @t14_commute(
; CHECK-NEXT: [[TMP1:%.*]] = fcmp ogt float %a, 0.000000e+00
; CHECK-NEXT: [[TMP2:%.*]] = select i1 [[TMP1]], float %a, float 0.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = fcmp ogt float [[A:%.*]], 0.000000e+00
; CHECK-NEXT: [[TMP2:%.*]] = select i1 [[TMP1]], float [[A]], float 0.000000e+00
; CHECK-NEXT: [[TMP3:%.*]] = fptosi float [[TMP2]] to i8
; CHECK-NEXT: ret i8 [[TMP3]]
;
@ -184,8 +184,8 @@ define i8 @t14_commute(float %a) {
define i8 @t15(float %a) {
; CHECK-LABEL: @t15(
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp nsz oge float %a, 0.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], float 0.000000e+00, float %a
; CHECK-NEXT: [[DOTINV:%.*]] = fcmp nsz oge float [[A:%.*]], 0.000000e+00
; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[DOTINV]], float 0.000000e+00, float [[A]]
; CHECK-NEXT: [[TMP2:%.*]] = fptosi float [[TMP1]] to i8
; CHECK-NEXT: ret i8 [[TMP2]]
;
@ -197,8 +197,8 @@ define i8 @t15(float %a) {
define double @t16(i32 %x) {
; CHECK-LABEL: @t16(
; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i32 %x, 0
; CHECK-NEXT: [[CST:%.*]] = sitofp i32 %x to double
; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i32 [[X:%.*]], 0
; CHECK-NEXT: [[CST:%.*]] = sitofp i32 [[X]] to double
; CHECK-NEXT: [[SEL:%.*]] = select i1 [[CMP]], double [[CST]], double 5.000000e-01
; CHECK-NEXT: ret double [[SEL]]
;
@ -210,8 +210,8 @@ define double @t16(i32 %x) {
define double @t17(i32 %x) {
; CHECK-LABEL: @t17(
; CHECK-NEXT: [[TMP1:%.*]] = icmp sgt i32 %x, 2
; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[TMP1]], i32 %x, i32 2
; CHECK-NEXT: [[TMP1:%.*]] = icmp sgt i32 [[X:%.*]], 2
; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[TMP1]], i32 [[X]], i32 2
; CHECK-NEXT: [[TMP2:%.*]] = sitofp i32 [[SEL1]] to double
; CHECK-NEXT: ret double [[TMP2]]
;