11# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
22# NOTE: This MIR test is required because the support for 64 bit memory ops is missing in i686 mode, Due to distinction between float/int types, support is expected in near future and there is this RFC in place https://discourse.llvm.org/t/rfc-globalisel-adding-fp-type-information-to-llt/83349. Once this support is introduced this test must be dropped and integrated into the LLVM IR tests.
3- # RUN: llc -O2 - mtriple=i686-linux-gnu -mattr=+x87,-sse,-sse2 -run-pass=regbankselect,instruction-select -disable-gisel-legality-check -global-isel -verify-machineinstrs %s -o - | FileCheck %s --check-prefixes GISEL-X86
3+ # RUN: llc -mtriple=i686-linux-gnu -mattr=+x87,-sse,-sse2 -run-pass=regbankselect,instruction-select -disable-gisel-legality-check -global-isel %s -o - | FileCheck %s --check-prefixes GISEL-X86
44
5- --- |
6- define i1 @fcmp_double_oeq(double %x, double %y) # 0 {
7- %1 = fcmp oeq double %x, %y
8- ret i1 %1
9- }
10-
11- define i1 @fcmp_double_ogt(double %x, double %y) # 0 {
12- %1 = fcmp ogt double %x, %y
13- ret i1 %1
14- }
15-
16- define i1 @fcmp_double_oge(double %x, double %y) # 0 {
17- %1 = fcmp oge double %x, %y
18- ret i1 %1
19- }
20-
21- define i1 @fcmp_double_olt(double %x, double %y) # 0 {
22- %1 = fcmp olt double %x, %y
23- ret i1 %1
24- }
25-
26- define i1 @fcmp_double_ole(double %x, double %y) # 0 {
27- %1 = fcmp ole double %x, %y
28- ret i1 %1
29- }
30-
31- define i1 @fcmp_double_one(double %x, double %y) # 0 {
32- %1 = fcmp one double %x, %y
33- ret i1 %1
34- }
35-
36- define i1 @fcmp_double_ord(double %x, double %y) # 0 {
37- %1 = fcmp ord double %x, %y
38- ret i1 %1
39- }
40-
41- define i1 @fcmp_double_uno(double %x, double %y) # 0 {
42- %1 = fcmp uno double %x, %y
43- ret i1 %1
44- }
45-
46- define i1 @fcmp_double_ueq(double %x, double %y) # 0 {
47- %1 = fcmp ueq double %x, %y
48- ret i1 %1
49- }
50-
51- define i1 @fcmp_double_ugt(double %x, double %y) # 0 {
52- %1 = fcmp ugt double %x, %y
53- ret i1 %1
54- }
55-
56- define i1 @fcmp_double_uge(double %x, double %y) # 0 {
57- %1 = fcmp uge double %x, %y
58- ret i1 %1
59- }
60-
61- define i1 @fcmp_double_ult(double %x, double %y) # 0 {
62- %1 = fcmp ult double %x, %y
63- ret i1 %1
64- }
65-
66- define i1 @fcmp_double_ule(double %x, double %y) # 0 {
67- %1 = fcmp ule double %x, %y
68- ret i1 %1
69- }
70-
71- define i1 @fcmp_double_une(double %x, double %y) # 0 {
72- %1 = fcmp une double %x, %y
73- ret i1 %1
74- }
75-
76- attributes # 0 = { "target-features"="+x87,-sse,-sse2,+x87,-sse,-sse2" }
77-
78- ...
795---
806name : fcmp_double_oeq
817alignment : 16
@@ -89,7 +15,7 @@ fixedStack:
8915
9016stack : []
9117body : |
92- bb.1 (%ir-block.0) :
18+ bb.1.entry :
9319 ; GISEL-X86-LABEL: name: fcmp_double_oeq
9420 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
9521 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -119,7 +45,7 @@ fixedStack:
11945
12046stack : []
12147body : |
122- bb.1 (%ir-block.0) :
48+ bb.1.entry :
12349 ; GISEL-X86-LABEL: name: fcmp_double_ogt
12450 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
12551 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -147,7 +73,7 @@ fixedStack:
14773 debug-info-variable : ' ' , debug-info-expression: '', debug-info-location: '' }
14874stack : []
14975body : |
150- bb.1 (%ir-block.0) :
76+ bb.1.entry :
15177 ; GISEL-X86-LABEL: name: fcmp_double_oge
15278 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
15379 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -175,7 +101,7 @@ fixedStack:
175101 debug-info-variable : ' ' , debug-info-expression: '', debug-info-location: '' }
176102
177103body : |
178- bb.1 (%ir-block.0) :
104+ bb.1.entry :
179105 ; GISEL-X86-LABEL: name: fcmp_double_olt
180106 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
181107 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -203,7 +129,7 @@ fixedStack:
203129 debug-info-variable : ' ' , debug-info-expression: '', debug-info-location: '' }
204130stack : []
205131body : |
206- bb.1 (%ir-block.0) :
132+ bb.1.entry :
207133 ; GISEL-X86-LABEL: name: fcmp_double_ole
208134 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
209135 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -230,7 +156,7 @@ fixedStack:
230156 isImmutable : true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,
231157 debug-info-variable : ' ' , debug-info-expression: '', debug-info-location: '' }
232158body : |
233- bb.1 (%ir-block.0) :
159+ bb.1.entry :
234160 ; GISEL-X86-LABEL: name: fcmp_double_one
235161 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
236162 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -258,7 +184,7 @@ fixedStack:
258184 debug-info-variable : ' ' , debug-info-expression: '', debug-info-location: '' }
259185stack : []
260186body : |
261- bb.1 (%ir-block.0) :
187+ bb.1.entry :
262188 ; GISEL-X86-LABEL: name: fcmp_double_ord
263189 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
264190 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -285,7 +211,7 @@ fixedStack:
285211 debug-info-variable : ' ' , debug-info-expression: '', debug-info-location: '' }
286212stack : []
287213body : |
288- bb.1 (%ir-block.0) :
214+ bb.1.entry :
289215 ; GISEL-X86-LABEL: name: fcmp_double_uno
290216 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
291217 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -313,7 +239,7 @@ fixedStack:
313239 debug-info-variable : ' ' , debug-info-expression: '', debug-info-location: '' }
314240stack : []
315241body : |
316- bb.1 (%ir-block.0) :
242+ bb.1.entry :
317243 ; GISEL-X86-LABEL: name: fcmp_double_ueq
318244 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
319245 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -342,7 +268,7 @@ fixedStack:
342268
343269stack : []
344270body : |
345- bb.1 (%ir-block.0) :
271+ bb.1.entry :
346272 ; GISEL-X86-LABEL: name: fcmp_double_ugt
347273 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
348274 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -370,7 +296,7 @@ fixedStack:
370296 debug-info-variable : ' ' , debug-info-expression: '', debug-info-location: '' }
371297stack : []
372298body : |
373- bb.1 (%ir-block.0) :
299+ bb.1.entry :
374300 ; GISEL-X86-LABEL: name: fcmp_double_uge
375301 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
376302 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -399,7 +325,7 @@ fixedStack:
399325 debug-info-variable : ' ' , debug-info-expression: '', debug-info-location: '' }
400326stack : []
401327body : |
402- bb.1 (%ir-block.0) :
328+ bb.1.entry :
403329 ; GISEL-X86-LABEL: name: fcmp_double_ult
404330 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
405331 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -427,7 +353,7 @@ fixedStack:
427353 debug-info-variable : ' ' , debug-info-expression: '', debug-info-location: '' }
428354stack : []
429355body : |
430- bb.1 (%ir-block.0) :
356+ bb.1.entry :
431357 ; GISEL-X86-LABEL: name: fcmp_double_ule
432358 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
433359 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
@@ -454,7 +380,7 @@ fixedStack:
454380 isImmutable : true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,
455381 debug-info-variable : ' ' , debug-info-expression: '', debug-info-location: '' }
456382body : |
457- bb.1 (%ir-block.0) :
383+ bb.1.entry :
458384 ; GISEL-X86-LABEL: name: fcmp_double_une
459385 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)
460386 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)
0 commit comments