Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / GlobalISel / regbankselect-fsub.mir
blob3bffb16fe07f6c38f9292fd3ec513758a1ea06b2
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -march=amdgcn -mcpu=fiji -run-pass=amdgpu-regbankselect %s -verify-machineinstrs -o - -regbankselect-fast | FileCheck %s
3 # RUN: llc -march=amdgcn -mcpu=fiji -run-pass=amdgpu-regbankselect %s -verify-machineinstrs -o - -regbankselect-greedy | FileCheck %s
5 ---
6 name: fsub_ss
7 legalized: true
9 body: |
10   bb.0:
11     liveins: $sgpr0, $sgpr1
12     ; CHECK-LABEL: name: fsub_ss
13     ; CHECK: liveins: $sgpr0, $sgpr1
14     ; CHECK-NEXT: {{  $}}
15     ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
16     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr1
17     ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)
18     ; CHECK-NEXT: [[COPY3:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)
19     ; CHECK-NEXT: [[FSUB:%[0-9]+]]:vgpr(s32) = G_FSUB [[COPY2]], [[COPY3]]
20     %0:_(s32) = COPY $sgpr0
21     %1:_(s32) = COPY $sgpr1
22     %2:_(s32) = G_FSUB %0, %1
23 ...
25 ---
26 name: fsub_sv
27 legalized: true
29 body: |
30   bb.0:
31     liveins: $sgpr0, $vgpr0
32     ; CHECK-LABEL: name: fsub_sv
33     ; CHECK: liveins: $sgpr0, $vgpr0
34     ; CHECK-NEXT: {{  $}}
35     ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
36     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
37     ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)
38     ; CHECK-NEXT: [[FSUB:%[0-9]+]]:vgpr(s32) = G_FSUB [[COPY2]], [[COPY1]]
39     %0:_(s32) = COPY $sgpr0
40     %1:_(s32) = COPY $vgpr0
41     %2:_(s32) = G_FSUB %0, %1
42 ...
44 ---
45 name: fsub_vs
46 legalized: true
48 body: |
49   bb.0:
50     liveins: $sgpr0, $vgpr0
51     ; CHECK-LABEL: name: fsub_vs
52     ; CHECK: liveins: $sgpr0, $vgpr0
53     ; CHECK-NEXT: {{  $}}
54     ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
55     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
56     ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr(s32) = COPY [[COPY1]](s32)
57     ; CHECK-NEXT: [[FSUB:%[0-9]+]]:vgpr(s32) = G_FSUB [[COPY]], [[COPY2]]
58     %0:_(s32) = COPY $vgpr0
59     %1:_(s32) = COPY $sgpr0
60     %2:_(s32) = G_FSUB %0, %1
61 ...
63 ---
64 name: fsub_vv
65 legalized: true
67 body: |
68   bb.0:
69     liveins: $vgpr0, $vgpr1
70     ; CHECK-LABEL: name: fsub_vv
71     ; CHECK: liveins: $vgpr0, $vgpr1
72     ; CHECK-NEXT: {{  $}}
73     ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
74     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY $vgpr1
75     ; CHECK-NEXT: [[FSUB:%[0-9]+]]:vgpr(s32) = G_FSUB [[COPY]], [[COPY1]]
76     %0:_(s32) = COPY $vgpr0
77     %1:_(s32) = COPY $vgpr1
78     %2:_(s32) = G_FSUB %0, %1
79 ...