Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / GlobalISel / regbankselect-fcmp.mir
blob5d1f074d4c663a2b690e62462e442fd84ba9d3f1
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=amdgpu-regbankselect %s -verify-machineinstrs -o - -regbankselect-fast | FileCheck --check-prefixes=GCN,GFX803 %s
3 # RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=amdgpu-regbankselect %s -verify-machineinstrs -o - -regbankselect-greedy | FileCheck --check-prefixes=GCN,GFX803 %s
4 # RUN: llc -mtriple=amdgcn -mcpu=gfx1150 -run-pass=amdgpu-regbankselect %s -verify-machineinstrs -o - -regbankselect-fast | FileCheck --check-prefixes=GCN,GFX1150 %s
5 # RUN: llc -mtriple=amdgcn -mcpu=gfx1150 -run-pass=amdgpu-regbankselect %s -verify-machineinstrs -o - -regbankselect-greedy | FileCheck --check-prefixes=GCN,GFX1150 %s
7 ---
8 name: fcmp_ss
9 legalized: true
11 body: |
12   bb.0:
13     liveins: $sgpr0, $sgpr1
14     ; GFX803-LABEL: name: fcmp_ss
15     ; GFX803: liveins: $sgpr0, $sgpr1
16     ; GFX803-NEXT: {{  $}}
17     ; GFX803-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
18     ; GFX803-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
19     ; GFX803-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)
20     ; GFX803-NEXT: [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)
21     ; GFX803-NEXT: [[FCMP:%[0-9]+]]:vcc(s1) = G_FCMP floatpred(uge), [[COPY2]](s32), [[COPY3]]
22     ; GFX1150-LABEL: name: fcmp_ss
23     ; GFX1150: liveins: $sgpr0, $sgpr1
24     ; GFX1150-NEXT: {{  $}}
25     ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
26     ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
27     ; GFX1150-NEXT: [[FCMP:%[0-9]+]]:sgpr(s32) = G_FCMP floatpred(uge), [[COPY]](s32), [[COPY1]]
28     ; GFX1150-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s1) = G_TRUNC [[FCMP]](s32)
29     %0:_(s32) = COPY $sgpr0
30     %1:_(s32) = COPY $sgpr1
31     %2:_(s1) = G_FCMP floatpred(uge), %0(s32), %1
32 ...
34 ---
35 name: fcmp_sv
36 legalized: true
38 body: |
39   bb.0:
40     liveins: $sgpr0, $vgpr0
41     ; GCN-LABEL: name: fcmp_sv
42     ; GCN: liveins: $sgpr0, $vgpr0
43     ; GCN-NEXT: {{  $}}
44     ; GCN-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
45     ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
46     ; GCN-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)
47     ; GCN-NEXT: [[FCMP:%[0-9]+]]:vcc(s1) = G_FCMP floatpred(uge), [[COPY2]](s32), [[COPY1]]
48     %0:_(s32) = COPY $sgpr0
49     %1:_(s32) = COPY $vgpr0
50     %2:_(s1) = G_FCMP floatpred(uge), %0, %1
51 ...
53 ---
54 name: fcmp_vs
55 legalized: true
57 body: |
58   bb.0:
59     liveins: $sgpr0, $vgpr0
60     ; GCN-LABEL: name: fcmp_vs
61     ; GCN: liveins: $sgpr0, $vgpr0
62     ; GCN-NEXT: {{  $}}
63     ; GCN-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
64     ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
65     ; GCN-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)
66     ; GCN-NEXT: [[FCMP:%[0-9]+]]:vcc(s1) = G_FCMP floatpred(uge), [[COPY1]](s32), [[COPY2]]
67     %0:_(s32) = COPY $sgpr0
68     %1:_(s32) = COPY $vgpr0
69     %2:_(s1) = G_FCMP floatpred(uge), %1, %0
70 ...
72 ---
73 name: fcmp_vv
74 legalized: true
76 body: |
77   bb.0:
78     liveins: $vgpr0, $vgpr1
79     ; GCN-LABEL: name: fcmp_vv
80     ; GCN: liveins: $vgpr0, $vgpr1
81     ; GCN-NEXT: {{  $}}
82     ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
83     ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
84     ; GCN-NEXT: [[ICMP:%[0-9]+]]:vcc(s1) = G_ICMP floatpred(uge), [[COPY]](s32), [[COPY1]]
85     %0:_(s32) = COPY $vgpr0
86     %1:_(s32) = COPY $vgpr1
87     %2:_(s1) = G_ICMP floatpred(uge), %0, %1
88 ...