@@ -235,3 +235,44 @@ define i1 @dune_mem(ptr %xp, ptr %yp) {
235
235
%1 = fcmp une double %x , %y
236
236
ret i1 %1
237
237
}
238
+
239
+ define i32 @PR118606 (x86_fp80 %val1 ) #0 {
240
+ ; X64-LABEL: PR118606:
241
+ ; X64: # %bb.0: # %entry
242
+ ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
243
+ ; X64-NEXT: fldz
244
+ ; X64-NEXT: fucomi %st(1), %st
245
+ ; X64-NEXT: fstp %st(1)
246
+ ; X64-NEXT: fld1
247
+ ; X64-NEXT: fcmovne %st(1), %st
248
+ ; X64-NEXT: fcmovu %st(1), %st
249
+ ; X64-NEXT: fucompi %st(1), %st
250
+ ; X64-NEXT: fstp %st(0)
251
+ ; X64-NEXT: xorl %eax, %eax
252
+ ; X64-NEXT: retq
253
+ ;
254
+ ; X86-LABEL: PR118606:
255
+ ; X86: # %bb.0: # %entry
256
+ ; X86-NEXT: fldt {{[0-9]+}}(%esp)
257
+ ; X86-NEXT: fldz
258
+ ; X86-NEXT: fucomi %st(1), %st
259
+ ; X86-NEXT: fstp %st(1)
260
+ ; X86-NEXT: fld1
261
+ ; X86-NEXT: fcmovne %st(1), %st
262
+ ; X86-NEXT: fcmovu %st(1), %st
263
+ ; X86-NEXT: fucompi %st(1), %st
264
+ ; X86-NEXT: fstp %st(0)
265
+ ; X86-NEXT: xorl %eax, %eax
266
+ ; X86-NEXT: retl
267
+ entry:
268
+ %cmp8 = fcmp oeq x86_fp80 %val1 , 0xK00000000000000000000
269
+ %0 = select i1 %cmp8 , x86_fp80 0xK3FFF8000000000000000, x86_fp80 0xK00000000000000000000
270
+ %cmp64 = fcmp ogt x86_fp80 %0 , 0xK00000000000000000000
271
+ br i1 %cmp64 , label %if.then66 , label %if.end70
272
+
273
+ if.then66: ; preds = %entry
274
+ ret i32 0
275
+
276
+ if.end70: ; preds = %entry
277
+ ret i32 0
278
+ }
0 commit comments