Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / GlobalISel / inst-select-ffloor.s64.mir
blob84734fc0622a07dc68c529c2303f0012fbc8f97c
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -march=amdgcn -mcpu=hawaii -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck %s
4 ---
5 name: ffloor_s64_vv
6 legalized: true
7 regBankSelected: true
8 tracksRegLiveness: true
10 body: |
11   bb.0:
12     liveins: $vgpr0_vgpr1
14     ; CHECK-LABEL: name: ffloor_s64_vv
15     ; CHECK: liveins: $vgpr0_vgpr1
16     ; CHECK-NEXT: {{  $}}
17     ; CHECK-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1
18     ; CHECK-NEXT: %1:vreg_64 = nofpexcept V_FLOOR_F64_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
19     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY %1
20     %0:vgpr(s64) = COPY $vgpr0_vgpr1
21     %1:vgpr(s64) = G_FFLOOR %0
22     $vgpr0_vgpr1 = COPY %1
23 ...
25 # FIXME: Constant bus restriction
26 # ---
27 # name: ffloor_s64_vs
28 # legalized: true
29 # regBankSelected: true
30 # tracksRegLiveness: true
32 # body: |
33 #   bb.0:
34 #     liveins: $sgpr0_sgpr1
36 #     %0:sgpr(s64) = COPY $sgpr0_sgpr1
37 #     %1:vgpr(s64) = G_FFLOOR %0
38 #     $vgpr0_vgpr1 = COPY %1
39 # ...
41 ---
42 name: ffloor_fneg_s64_vv
43 legalized: true
44 regBankSelected: true
45 tracksRegLiveness: true
47 body: |
48   bb.0:
49     liveins: $vgpr0_vgpr1
51     ; CHECK-LABEL: name: ffloor_fneg_s64_vv
52     ; CHECK: liveins: $vgpr0_vgpr1
53     ; CHECK-NEXT: {{  $}}
54     ; CHECK-NEXT: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1
55     ; CHECK-NEXT: %2:vreg_64 = nofpexcept V_FLOOR_F64_e64 1, [[COPY]], 0, 0, implicit $mode, implicit $exec
56     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY %2
57     %0:vgpr(s64) = COPY $vgpr0_vgpr1
58     %1:vgpr(s64) = G_FNEG %0
59     %2:vgpr(s64) = G_FFLOOR %1
60     $vgpr0_vgpr1 = COPY %2
61 ...