@@ -104,9 +104,7 @@ define double @une_zero_swapped(double %x) {
104
104
105
105
define double @oeq_zero_nsz (double %x ) {
106
106
; CHECK-LABEL: @oeq_zero_nsz(
107
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp oeq double [[X:%.*]], 0.000000e+00
108
- ; CHECK-NEXT: [[COND:%.*]] = select nsz i1 [[CMP]], double [[X]], double 0.000000e+00
109
- ; CHECK-NEXT: ret double [[COND]]
107
+ ; CHECK-NEXT: ret double 0.000000e+00
110
108
;
111
109
%cmp = fcmp oeq double %x , 0 .0
112
110
%cond = select nsz i1 %cmp , double %x , double 0 .0
@@ -117,9 +115,7 @@ define double @oeq_zero_nsz(double %x) {
117
115
118
116
define float @oeq_zero_swapped_nsz (float %x ) {
119
117
; CHECK-LABEL: @oeq_zero_swapped_nsz(
120
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp oeq float [[X:%.*]], 0.000000e+00
121
- ; CHECK-NEXT: [[COND:%.*]] = select fast i1 [[CMP]], float 0.000000e+00, float [[X]]
122
- ; CHECK-NEXT: ret float [[COND]]
118
+ ; CHECK-NEXT: ret float [[X:%.*]]
123
119
;
124
120
%cmp = fcmp oeq float %x , 0 .0
125
121
%cond = select fast i1 %cmp , float 0 .0 , float %x
@@ -130,9 +126,7 @@ define float @oeq_zero_swapped_nsz(float %x) {
130
126
131
127
define double @une_zero_nsz (double %x ) {
132
128
; CHECK-LABEL: @une_zero_nsz(
133
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp une double [[X:%.*]], 0.000000e+00
134
- ; CHECK-NEXT: [[COND:%.*]] = select ninf nsz i1 [[CMP]], double [[X]], double 0.000000e+00
135
- ; CHECK-NEXT: ret double [[COND]]
129
+ ; CHECK-NEXT: ret double [[X:%.*]]
136
130
;
137
131
%cmp = fcmp une double %x , 0 .0
138
132
%cond = select nsz ninf i1 %cmp , double %x , double 0 .0
@@ -143,9 +137,7 @@ define double @une_zero_nsz(double %x) {
143
137
144
138
define <2 x double > @une_zero_swapped_nsz (<2 x double > %x ) {
145
139
; CHECK-LABEL: @une_zero_swapped_nsz(
146
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp une <2 x double> [[X:%.*]], zeroinitializer
147
- ; CHECK-NEXT: [[COND:%.*]] = select nsz <2 x i1> [[CMP]], <2 x double> zeroinitializer, <2 x double> [[X]]
148
- ; CHECK-NEXT: ret <2 x double> [[COND]]
140
+ ; CHECK-NEXT: ret <2 x double> zeroinitializer
149
141
;
150
142
%cmp = fcmp une <2 x double > %x , <double 0 .0 , double 0 .0 >
151
143
%cond = select nsz <2 x i1 > %cmp , <2 x double > <double 0 .0 , double 0 .0 >, <2 x double > %x
@@ -156,9 +148,7 @@ define <2 x double> @une_zero_swapped_nsz(<2 x double> %x) {
156
148
157
149
define double @oeq_nsz (double %x , double %y ) {
158
150
; CHECK-LABEL: @oeq_nsz(
159
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp oeq double [[X:%.*]], [[Y:%.*]]
160
- ; CHECK-NEXT: [[COND:%.*]] = select fast i1 [[CMP]], double [[X]], double [[Y]]
161
- ; CHECK-NEXT: ret double [[COND]]
151
+ ; CHECK-NEXT: ret double [[Y:%.*]]
162
152
;
163
153
%cmp = fcmp oeq double %x , %y
164
154
%cond = select fast i1 %cmp , double %x , double %y
@@ -169,9 +159,7 @@ define double @oeq_nsz(double %x, double %y) {
169
159
170
160
define <2 x float > @oeq_swapped_nsz (<2 x float > %x , <2 x float > %y ) {
171
161
; CHECK-LABEL: @oeq_swapped_nsz(
172
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp oeq <2 x float> [[X:%.*]], [[Y:%.*]]
173
- ; CHECK-NEXT: [[COND:%.*]] = select nnan nsz <2 x i1> [[CMP]], <2 x float> [[Y]], <2 x float> [[X]]
174
- ; CHECK-NEXT: ret <2 x float> [[COND]]
162
+ ; CHECK-NEXT: ret <2 x float> [[X:%.*]]
175
163
;
176
164
%cmp = fcmp oeq <2 x float > %x , %y
177
165
%cond = select nsz nnan <2 x i1 > %cmp , <2 x float > %y , <2 x float > %x
@@ -182,9 +170,7 @@ define <2 x float> @oeq_swapped_nsz(<2 x float> %x, <2 x float> %y) {
182
170
183
171
define double @une_nsz (double %x , double %y ) {
184
172
; CHECK-LABEL: @une_nsz(
185
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp une double [[X:%.*]], [[Y:%.*]]
186
- ; CHECK-NEXT: [[COND:%.*]] = select nsz i1 [[CMP]], double [[X]], double [[Y]]
187
- ; CHECK-NEXT: ret double [[COND]]
173
+ ; CHECK-NEXT: ret double [[X:%.*]]
188
174
;
189
175
%cmp = fcmp une double %x , %y
190
176
%cond = select nsz i1 %cmp , double %x , double %y
@@ -195,9 +181,7 @@ define double @une_nsz(double %x, double %y) {
195
181
196
182
define <2 x double > @une_swapped_nsz (<2 x double > %x , <2 x double > %y ) {
197
183
; CHECK-LABEL: @une_swapped_nsz(
198
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp une <2 x double> [[X:%.*]], [[Y:%.*]]
199
- ; CHECK-NEXT: [[COND:%.*]] = select fast <2 x i1> [[CMP]], <2 x double> [[Y]], <2 x double> [[X]]
200
- ; CHECK-NEXT: ret <2 x double> [[COND]]
184
+ ; CHECK-NEXT: ret <2 x double> [[Y:%.*]]
201
185
;
202
186
%cmp = fcmp une <2 x double > %x , %y
203
187
%cond = select fast <2 x i1 > %cmp , <2 x double > %y , <2 x double > %x
0 commit comments