Skip to content

Commit bf28a8f

Browse files
committed
[InstSimplify] add tests for FP with undef operand; NFC
Are any of these correct? llvm-svn: 326241
1 parent 8cd7961 commit bf28a8f

File tree

2 files changed

+89
-18
lines changed

2 files changed

+89
-18
lines changed

llvm/test/Transforms/InstSimplify/fdiv.ll

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,6 @@ define float @frem_constant_fold() {
1717
ret float %f
1818
}
1919

20-
define double @fdiv_of_undef(double %X) {
21-
; CHECK-LABEL: @fdiv_of_undef(
22-
; CHECK-NEXT: ret double undef
23-
;
24-
; undef / X -> undef
25-
%r = fdiv double undef, %X
26-
ret double %r
27-
}
28-
29-
define double @fdiv_by_undef(double %X) {
30-
; CHECK-LABEL: @fdiv_by_undef(
31-
; CHECK-NEXT: ret double undef
32-
;
33-
; X / undef -> undef
34-
%r = fdiv double %X, undef
35-
ret double %r
36-
}
37-
3820
define double @fmul_fdiv_common_operand(double %x, double %y) {
3921
; CHECK-LABEL: @fmul_fdiv_common_operand(
4022
; CHECK-NEXT: ret double %x
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2+
; RUN: opt < %s -instsimplify -S | FileCheck %s
3+
4+
define float @fadd_undef_op0(float %x) {
5+
; CHECK-LABEL: @fadd_undef_op0(
6+
; CHECK-NEXT: [[R:%.*]] = fadd float undef, [[X:%.*]]
7+
; CHECK-NEXT: ret float [[R]]
8+
;
9+
%r = fadd float undef, %x
10+
ret float %r
11+
}
12+
13+
define float @fadd_undef_op1(float %x) {
14+
; CHECK-LABEL: @fadd_undef_op1(
15+
; CHECK-NEXT: [[R:%.*]] = fadd float [[X:%.*]], undef
16+
; CHECK-NEXT: ret float [[R]]
17+
;
18+
%r = fadd float %x, undef
19+
ret float %r
20+
}
21+
22+
define float @fsub_undef_op0(float %x) {
23+
; CHECK-LABEL: @fsub_undef_op0(
24+
; CHECK-NEXT: [[R:%.*]] = fsub float undef, [[X:%.*]]
25+
; CHECK-NEXT: ret float [[R]]
26+
;
27+
%r = fsub float undef, %x
28+
ret float %r
29+
}
30+
31+
define float @fsub_undef_op1(float %x) {
32+
; CHECK-LABEL: @fsub_undef_op1(
33+
; CHECK-NEXT: [[R:%.*]] = fsub float [[X:%.*]], undef
34+
; CHECK-NEXT: ret float [[R]]
35+
;
36+
%r = fsub float %x, undef
37+
ret float %r
38+
}
39+
40+
define float @fmul_undef_op0(float %x) {
41+
; CHECK-LABEL: @fmul_undef_op0(
42+
; CHECK-NEXT: [[R:%.*]] = fmul float undef, [[X:%.*]]
43+
; CHECK-NEXT: ret float [[R]]
44+
;
45+
%r = fmul float undef, %x
46+
ret float %r
47+
}
48+
49+
define float @fmul_undef_op1(float %x) {
50+
; CHECK-LABEL: @fmul_undef_op1(
51+
; CHECK-NEXT: [[R:%.*]] = fmul float [[X:%.*]], undef
52+
; CHECK-NEXT: ret float [[R]]
53+
;
54+
%r = fmul float %x, undef
55+
ret float %r
56+
}
57+
58+
define float @fdiv_undef_op0(float %x) {
59+
; CHECK-LABEL: @fdiv_undef_op0(
60+
; CHECK-NEXT: ret float undef
61+
;
62+
%r = fdiv float undef, %x
63+
ret float %r
64+
}
65+
66+
define float @fdiv_undef_op1(float %x) {
67+
; CHECK-LABEL: @fdiv_undef_op1(
68+
; CHECK-NEXT: ret float undef
69+
;
70+
%r = fdiv float %x, undef
71+
ret float %r
72+
}
73+
74+
define float @frem_undef_op0(float %x) {
75+
; CHECK-LABEL: @frem_undef_op0(
76+
; CHECK-NEXT: ret float undef
77+
;
78+
%r = frem float undef, %x
79+
ret float %r
80+
}
81+
82+
define float @frem_undef_op1(float %x) {
83+
; CHECK-LABEL: @frem_undef_op1(
84+
; CHECK-NEXT: ret float undef
85+
;
86+
%r = frem float %x, undef
87+
ret float %r
88+
}
89+

0 commit comments

Comments
 (0)