Skip to content

Commit 5237f0d

Browse files
author
Aditi Medhane
authored
[AMDGPU] Precommit and Modify phi_moveimm_subreg_input testcase (#108389)
- Updated `phi_moveimm_subreg_input` test case to introduce sub-registers as PHI input operands. Currently subreg is making the testcase in non-SSA format, need to fix this by giving subreg as an input operand to PHI instead defining the subreg register. This change is relevant for : [[AMDGPU] Add MachineVerifier check to detect illegal copies from vector register to SGPR ](#105494)
1 parent 7c82b56 commit 5237f0d

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

llvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -63,51 +63,52 @@ body: |
6363
; GCN-LABEL: name: phi_moveimm_subreg_input
6464
; GCN: bb.0:
6565
; GCN-NEXT: successors: %bb.1(0x80000000)
66-
; GCN-NEXT: liveins: $sgpr0, $sgpr1
66+
; GCN-NEXT: liveins: $sgpr0, $sgpr1, $sgpr2, $sgpr3
6767
; GCN-NEXT: {{ $}}
68-
; GCN-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
69-
; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
70-
; GCN-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1
68+
; GCN-NEXT: [[V_MOV_B64_e32_:%[0-9]+]]:vreg_64 = V_MOV_B64_e32 0, implicit $exec
69+
; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
70+
; GCN-NEXT: [[COPY1:%[0-9]+]]:sreg_64 = COPY $sgpr2_sgpr3
7171
; GCN-NEXT: {{ $}}
7272
; GCN-NEXT: bb.1:
7373
; GCN-NEXT: successors: %bb.2(0x80000000)
7474
; GCN-NEXT: {{ $}}
75-
; GCN-NEXT: undef [[S_ADD_U32_:%[0-9]+]].sub0:sreg_64 = S_ADD_U32 [[COPY]], [[COPY1]], implicit-def $scc
75+
; GCN-NEXT: [[S_ADD_U:%[0-9]+]]:sreg_64 = S_ADD_U64_PSEUDO [[COPY]], [[COPY1]], implicit-def $scc
76+
; GCN-NEXT: [[COPY2:%[0-9]+]]:vreg_64 = COPY [[S_ADD_U]].sub0, implicit $exec
7677
; GCN-NEXT: S_BRANCH %bb.2
7778
; GCN-NEXT: {{ $}}
7879
; GCN-NEXT: bb.2:
7980
; GCN-NEXT: successors: %bb.3(0x80000000)
8081
; GCN-NEXT: {{ $}}
81-
; GCN-NEXT: [[PHI:%[0-9]+]]:sreg_64 = PHI %5, %bb.3, [[S_ADD_U32_]], %bb.1
82+
; GCN-NEXT: [[PHI:%[0-9]+]]:vgpr_32 = PHI [[V_MOV_B64_e32_]].sub0, %bb.3, [[COPY2]], %bb.1
8283
; GCN-NEXT: S_BRANCH %bb.3
8384
; GCN-NEXT: {{ $}}
8485
; GCN-NEXT: bb.3:
8586
; GCN-NEXT: successors: %bb.2(0x80000000)
8687
; GCN-NEXT: {{ $}}
87-
; GCN-NEXT: undef [[S_MOV_B32_:%[0-9]+]].sub0:sreg_64 = S_MOV_B32 0
88+
; GCN-NEXT: [[DEF:%[0-9]+]]:sreg_64 = IMPLICIT_DEF
8889
; GCN-NEXT: S_BRANCH %bb.2
8990
bb.0:
9091
successors: %bb.1
91-
liveins: $sgpr0, $sgpr1
92+
liveins: $sgpr0, $sgpr1, $sgpr2, $sgpr3
9293
93-
%0:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
94+
%0:vreg_64 = V_MOV_B64_e32 0, implicit $exec
9495
95-
%4:sreg_32 = COPY $sgpr0
96-
%5:sreg_32 = COPY $sgpr1
96+
%4:sreg_64 = COPY $sgpr0_sgpr1
97+
%5:sreg_64 = COPY $sgpr2_sgpr3
9798
9899
bb.1:
99100
successors: %bb.2
100-
undef %2.sub0:sreg_64 = S_ADD_U32 %4, %5, implicit-def $scc
101+
%2:sreg_64 = S_ADD_U64_PSEUDO %4, %5, implicit-def $scc
101102
S_BRANCH %bb.2
102103
103104
bb.2:
104105
successors: %bb.3
105-
%3:sreg_64 = PHI %1, %bb.3, %2, %bb.1
106+
%3:sreg_32 = PHI %1.sub0:sreg_64, %bb.3, %2.sub0:sreg_64, %bb.1
106107
S_BRANCH %bb.3
107108
108109
bb.3:
109110
successors: %bb.2
110-
undef %1.sub0:sreg_64 = COPY %0
111+
%1:sreg_64 = COPY %0.sub0:vreg_64
111112
S_BRANCH %bb.2
112113
...
113114

0 commit comments

Comments
 (0)