Skip to content

Commit 06b5eb8

Browse files
committed
Update testcase
1 parent bcd7526 commit 06b5eb8

File tree

3 files changed

+124
-192
lines changed

3 files changed

+124
-192
lines changed

llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8691,6 +8691,8 @@ SDValue TargetLowering::expandFMINIMUMNUM_FMAXIMUMNUM(SDNode *Node,
86918691
SDValue MinMax =
86928692
DAG.getSelectCC(DL, LHS, RHS, LHS, RHS, IsMax ? ISD::SETGT : ISD::SETLT);
86938693

8694+
// TODO:We need quiet sNaN if strictfp.
8695+
86948696
// Fixup signed zero behavior.
86958697
if (Options.NoSignedZerosFPMath || Flags.hasNoSignedZeros() ||
86968698
DAG.isKnownNeverZeroFloat(LHS) || DAG.isKnownNeverZeroFloat(RHS)) {

llvm/test/CodeGen/Mips/fp-maximumnum-minimumnum.ll

Lines changed: 6 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,12 @@ define float @maximumnum_float(float %x, float %y) {
2424
; MIPS64R2-NEXT: c.ule.s $f12, $f13
2525
; MIPS64R2-NEXT: mov.s $f0, $f13
2626
; MIPS64R2-NEXT: movf.s $f0, $f12, $fcc0
27-
; MIPS64R2-NEXT: add.s $f1, $f0, $f0
28-
; MIPS64R2-NEXT: c.un.s $f0, $f0
29-
; MIPS64R2-NEXT: movt.s $f0, $f1, $fcc0
3027
; MIPS64R2-NEXT: mfc1 $1, $f12
3128
; MIPS64R2-NEXT: mov.s $f1, $f0
3229
; MIPS64R2-NEXT: movz.s $f1, $f12, $1
3330
; MIPS64R2-NEXT: mfc1 $1, $f13
34-
; MIPS64R2-NEXT: mtc1 $zero, $f2
3531
; MIPS64R2-NEXT: movz.s $f1, $f13, $1
32+
; MIPS64R2-NEXT: mtc1 $zero, $f2
3633
; MIPS64R2-NEXT: c.eq.s $f0, $f2
3734
; MIPS64R2-NEXT: jr $ra
3835
; MIPS64R2-NEXT: movt.s $f0, $f1, $fcc0
@@ -56,11 +53,8 @@ define float @maximumnum_float_nsz(float %x, float %y) {
5653
; MIPS64R2-NEXT: c.un.s $f13, $f13
5754
; MIPS64R2-NEXT: movt.s $f0, $f12, $fcc0
5855
; MIPS64R2-NEXT: c.ule.s $f12, $f0
59-
; MIPS64R2-NEXT: movf.s $f0, $f12, $fcc0
60-
; MIPS64R2-NEXT: add.s $f1, $f0, $f0
61-
; MIPS64R2-NEXT: c.un.s $f0, $f0
6256
; MIPS64R2-NEXT: jr $ra
63-
; MIPS64R2-NEXT: movt.s $f0, $f1, $fcc0
57+
; MIPS64R2-NEXT: movf.s $f0, $f12, $fcc0
6458
%z = call nsz float @llvm.maximumnum.f32(float %x, float %y)
6559
ret float %z
6660
}
@@ -107,9 +101,6 @@ define double @maximumnum_double(double %x, double %y) {
107101
; MIPS64R2-NEXT: c.ule.d $f12, $f13
108102
; MIPS64R2-NEXT: mov.d $f0, $f13
109103
; MIPS64R2-NEXT: movf.d $f0, $f12, $fcc0
110-
; MIPS64R2-NEXT: add.d $f1, $f0, $f0
111-
; MIPS64R2-NEXT: c.un.d $f0, $f0
112-
; MIPS64R2-NEXT: movt.d $f0, $f1, $fcc0
113104
; MIPS64R2-NEXT: dmfc1 $1, $f12
114105
; MIPS64R2-NEXT: mov.d $f1, $f0
115106
; MIPS64R2-NEXT: movz.d $f1, $f12, $1
@@ -139,11 +130,8 @@ define double @maximumnum_double_nsz(double %x, double %y) {
139130
; MIPS64R2-NEXT: c.un.d $f13, $f13
140131
; MIPS64R2-NEXT: movt.d $f0, $f12, $fcc0
141132
; MIPS64R2-NEXT: c.ule.d $f12, $f0
142-
; MIPS64R2-NEXT: movf.d $f0, $f12, $fcc0
143-
; MIPS64R2-NEXT: add.d $f1, $f0, $f0
144-
; MIPS64R2-NEXT: c.un.d $f0, $f0
145133
; MIPS64R2-NEXT: jr $ra
146-
; MIPS64R2-NEXT: movt.d $f0, $f1, $fcc0
134+
; MIPS64R2-NEXT: movf.d $f0, $f12, $fcc0
147135
%z = call nsz double @llvm.maximumnum.f64(double %x, double %y)
148136
ret double %z
149137
}
@@ -189,18 +177,15 @@ define float @minimumnum_float(float %x, float %y) {
189177
; MIPS64R2-NEXT: c.olt.s $f12, $f13
190178
; MIPS64R2-NEXT: mov.s $f0, $f13
191179
; MIPS64R2-NEXT: movt.s $f0, $f12, $fcc0
192-
; MIPS64R2-NEXT: add.s $f1, $f0, $f0
193-
; MIPS64R2-NEXT: c.un.s $f0, $f0
194-
; MIPS64R2-NEXT: movt.s $f0, $f1, $fcc0
195180
; MIPS64R2-NEXT: mfc1 $1, $f12
196181
; MIPS64R2-NEXT: lui $2, 32768
197182
; MIPS64R2-NEXT: xor $1, $1, $2
198183
; MIPS64R2-NEXT: mov.s $f1, $f0
199184
; MIPS64R2-NEXT: movz.s $f1, $f12, $1
200185
; MIPS64R2-NEXT: mfc1 $1, $f13
201186
; MIPS64R2-NEXT: xor $1, $1, $2
202-
; MIPS64R2-NEXT: mtc1 $zero, $f2
203187
; MIPS64R2-NEXT: movz.s $f1, $f13, $1
188+
; MIPS64R2-NEXT: mtc1 $zero, $f2
204189
; MIPS64R2-NEXT: c.eq.s $f0, $f2
205190
; MIPS64R2-NEXT: jr $ra
206191
; MIPS64R2-NEXT: movt.s $f0, $f1, $fcc0
@@ -224,11 +209,8 @@ define float @minimumnum_float_nsz(float %x, float %y) {
224209
; MIPS64R2-NEXT: c.un.s $f13, $f13
225210
; MIPS64R2-NEXT: movt.s $f0, $f12, $fcc0
226211
; MIPS64R2-NEXT: c.olt.s $f12, $f0
227-
; MIPS64R2-NEXT: movt.s $f0, $f12, $fcc0
228-
; MIPS64R2-NEXT: add.s $f1, $f0, $f0
229-
; MIPS64R2-NEXT: c.un.s $f0, $f0
230212
; MIPS64R2-NEXT: jr $ra
231-
; MIPS64R2-NEXT: movt.s $f0, $f1, $fcc0
213+
; MIPS64R2-NEXT: movt.s $f0, $f12, $fcc0
232214
%z = call nsz float @llvm.minimumnum.f32(float %x, float %y)
233215
ret float %z
234216
}
@@ -277,9 +259,6 @@ define double @minimumnum_double(double %x, double %y) {
277259
; MIPS64R2-NEXT: c.olt.d $f12, $f13
278260
; MIPS64R2-NEXT: mov.d $f0, $f13
279261
; MIPS64R2-NEXT: movt.d $f0, $f12, $fcc0
280-
; MIPS64R2-NEXT: add.d $f1, $f0, $f0
281-
; MIPS64R2-NEXT: c.un.d $f0, $f0
282-
; MIPS64R2-NEXT: movt.d $f0, $f1, $fcc0
283262
; MIPS64R2-NEXT: dmfc1 $1, $f12
284263
; MIPS64R2-NEXT: daddiu $2, $zero, 1
285264
; MIPS64R2-NEXT: dsll $2, $2, 63
@@ -313,11 +292,8 @@ define double @minimumnum_double_nsz(double %x, double %y) {
313292
; MIPS64R2-NEXT: c.un.d $f13, $f13
314293
; MIPS64R2-NEXT: movt.d $f0, $f12, $fcc0
315294
; MIPS64R2-NEXT: c.olt.d $f12, $f0
316-
; MIPS64R2-NEXT: movt.d $f0, $f12, $fcc0
317-
; MIPS64R2-NEXT: add.d $f1, $f0, $f0
318-
; MIPS64R2-NEXT: c.un.d $f0, $f0
319295
; MIPS64R2-NEXT: jr $ra
320-
; MIPS64R2-NEXT: movt.d $f0, $f1, $fcc0
296+
; MIPS64R2-NEXT: movt.d $f0, $f12, $fcc0
321297
%z = call nsz double @llvm.minimumnum.f64(double %x, double %y)
322298
ret double %z
323299
}

0 commit comments

Comments
 (0)