[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / phi-vgpr-input-moveimm.mir
blob6f42f4c53a03cf203249e4678b49d646b12ccf57
1 # RUN: llc  -march=amdgcn -mcpu=gfx900 -verify-machineinstrs -run-pass=si-fix-sgpr-copies -o - %s | FileCheck -check-prefix=GCN %s
2 ---
3 # GCN-LABEL: name: phi_moveimm_input
4 # GCN-NOT: %{{[0-9]+}}:vgpr_32 = PHI %{{[0-9]+}}, %bb.3, %{{[0-9]+}}, %bb.1
5 # GCN:     %{{[0-9]+}}:sreg_32 = PHI %{{[0-9]+}}, %bb.3, %{{[0-9]+}}, %bb.1
7 name:            phi_moveimm_input
8 tracksRegLiveness: true
9 body:             |
10   bb.0:
11     successors: %bb.1
12     liveins: $sgpr0, $sgpr1
14     %0:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
16     %4:sreg_32 = COPY $sgpr0
17     %5:sreg_32 = COPY $sgpr1
19   bb.1:
20     successors: %bb.2
21     %2:sreg_32 = S_ADD_U32 %4, %5, implicit-def $scc
22     S_BRANCH %bb.2
24   bb.2:
25     successors: %bb.3
26     %3:sreg_32 = PHI %1, %bb.3, %2, %bb.1
27     S_BRANCH %bb.3
29   bb.3:
30     successors: %bb.2
31     %1:sreg_32 = COPY %0
32     S_BRANCH %bb.2
33 ...
35 ---
36 # GCN-LABEL: name: phi_moveimm_subreg_input
37 # GCN: %{{[0-9]+}}:sreg_64 = PHI %{{[0-9]+}}, %bb.3, %{{[0-9]+}}, %bb.1
38 name:            phi_moveimm_subreg_input
39 tracksRegLiveness: true
40 body:             |
41   bb.0:
42     successors: %bb.1
43     liveins: $sgpr0, $sgpr1
45     %0:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
47     %4:sreg_32 = COPY $sgpr0
48     %5:sreg_32 = COPY $sgpr1
50   bb.1:
51     successors: %bb.2
52     undef %2.sub0:sreg_64 = S_ADD_U32 %4, %5, implicit-def $scc
53     S_BRANCH %bb.2
55   bb.2:
56     successors: %bb.3
57     %3:sreg_64 = PHI %1, %bb.3, %2, %bb.1
58     S_BRANCH %bb.3
60   bb.3:
61     successors: %bb.2
62     undef %1.sub0:sreg_64 = COPY %0
63     S_BRANCH %bb.2
64 ...
67 ---
68 # GCN-LABEL: name: phi_moveimm_bad_opcode_input
69 # GCN-NOT: %{{[0-9]+}}:sreg_32 = PHI %{{[0-9]+}}, %bb.3, %{{[0-9]+}}, %bb.1
70 # GCN: %{{[0-9]+}}:vgpr_32 = PHI %{{[0-9]+}}, %bb.3, %{{[0-9]+}}, %bb.1
71 name:            phi_moveimm_bad_opcode_input
72 tracksRegLiveness: true
73 body:             |
74   bb.0:
75     successors: %bb.1
76     liveins: $sgpr0, $sgpr1, $vgpr0
77     %6:vgpr_32 = COPY $vgpr0
78     %0:vgpr_32 = V_MOV_B32_sdwa 0, %6:vgpr_32, 0, 5, 2, 4,  implicit $exec, implicit %6:vgpr_32(tied-def 0)
80     %4:sreg_32 = COPY $sgpr0
81     %5:sreg_32 = COPY $sgpr1
83   bb.1:
85     successors: %bb.2
86     %2:sreg_32 = S_ADD_U32 %4, %5, implicit-def $scc
87     S_BRANCH %bb.2
88   bb.2:
89     successors: %bb.3
90     %3:sreg_32 = PHI %1, %bb.3, %2, %bb.1
91     S_BRANCH %bb.3
92   bb.3:
93     successors: %bb.2
94     %1:sreg_32 = COPY %0
95     S_BRANCH %bb.2
96 ...