Skip to content

Commit 5553f27

Browse files
authored
[AMDGPU][test] Fix the wrong triples in lower-work-group-id-intrinsics-{hsa,pal}.ll. NFC (llvm#93501)
- hsa -> amdhsa - Use amdgcn-amd-amd{hsa,pal} for lower-work-group-id-intrinsics-{hsa,pal}.ll respectively
1 parent 1594ceb commit 5553f27

File tree

2 files changed

+88
-147
lines changed

2 files changed

+88
-147
lines changed

llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll

Lines changed: 68 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc -mtriple=amdgcn-amd-hsa -mcpu=gfx900 -mattr=-architected-sgprs -global-isel=0 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9,GFX9-SDAG %s
3-
; RUN: llc -mtriple=amdgcn-amd-hsa -mcpu=gfx900 -mattr=-architected-sgprs -global-isel=1 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9,GFX9-GISEL %s
4-
; RUN: llc -mtriple=amdgcn-amd-hsa -mcpu=gfx900 -mattr=+architected-sgprs -global-isel=0 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9ARCH,GFX9ARCH-SDAG %s
5-
; RUN: llc -mtriple=amdgcn-amd-hsa -mcpu=gfx900 -mattr=+architected-sgprs -global-isel=1 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9ARCH,GFX9ARCH-GISEL %s
6-
; RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=gfx1200 -global-isel=0 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX12,GFX12-SDAG %s
7-
; RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=gfx1200 -global-isel=1 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX12,GFX12-GISEL %s
2+
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -mattr=-architected-sgprs -global-isel=0 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9,GFX9-SDAG %s
3+
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -mattr=-architected-sgprs -global-isel=1 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9,GFX9-GISEL %s
4+
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -mattr=+architected-sgprs -global-isel=0 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9ARCH,GFX9ARCH-SDAG %s
5+
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -mattr=+architected-sgprs -global-isel=1 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9ARCH,GFX9ARCH-GISEL %s
6+
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -global-isel=0 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX12,GFX12-SDAG %s
7+
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -global-isel=1 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX12,GFX12-GISEL %s
88

99
define amdgpu_kernel void @workgroup_ids_kernel() {
1010
; GFX9-LABEL: workgroup_ids_kernel:
1111
; GFX9: ; %bb.0: ; %.entry
12-
; GFX9-NEXT: v_mov_b32_e32 v0, s0
13-
; GFX9-NEXT: v_mov_b32_e32 v1, s1
14-
; GFX9-NEXT: v_mov_b32_e32 v2, s2
12+
; GFX9-NEXT: v_mov_b32_e32 v0, s4
13+
; GFX9-NEXT: v_mov_b32_e32 v1, s5
14+
; GFX9-NEXT: v_mov_b32_e32 v2, s6
1515
; GFX9-NEXT: buffer_store_dwordx3 v[0:2], off, s[0:3], 0
1616
; GFX9-NEXT: s_endpgm
1717
;
@@ -72,137 +72,103 @@ define amdgpu_kernel void @workgroup_ids_kernel() {
7272
define amdgpu_kernel void @caller() {
7373
; GFX9-SDAG-LABEL: caller:
7474
; GFX9-SDAG: ; %bb.0:
75-
; GFX9-SDAG-NEXT: s_mov_b32 s36, SCRATCH_RSRC_DWORD0
76-
; GFX9-SDAG-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
77-
; GFX9-SDAG-NEXT: s_mov_b32 s38, -1
78-
; GFX9-SDAG-NEXT: s_mov_b32 s39, 0xe00000
79-
; GFX9-SDAG-NEXT: s_add_u32 s36, s36, s7
80-
; GFX9-SDAG-NEXT: s_addc_u32 s37, s37, 0
81-
; GFX9-SDAG-NEXT: s_add_u32 s8, s2, 36
82-
; GFX9-SDAG-NEXT: s_addc_u32 s9, s3, 0
83-
; GFX9-SDAG-NEXT: s_getpc_b64 s[2:3]
84-
; GFX9-SDAG-NEXT: s_add_u32 s2, s2, callee@gotpcrel32@lo+4
85-
; GFX9-SDAG-NEXT: s_addc_u32 s3, s3, callee@gotpcrel32@hi+12
86-
; GFX9-SDAG-NEXT: s_load_dwordx2 s[14:15], s[2:3], 0x0
87-
; GFX9-SDAG-NEXT: s_mov_b64 s[10:11], s[4:5]
75+
; GFX9-SDAG-NEXT: s_add_u32 flat_scratch_lo, s10, s13
76+
; GFX9-SDAG-NEXT: s_addc_u32 flat_scratch_hi, s11, 0
77+
; GFX9-SDAG-NEXT: s_add_u32 s0, s0, s13
78+
; GFX9-SDAG-NEXT: s_addc_u32 s1, s1, 0
79+
; GFX9-SDAG-NEXT: s_mov_b64 s[10:11], s[8:9]
80+
; GFX9-SDAG-NEXT: s_getpc_b64 s[8:9]
81+
; GFX9-SDAG-NEXT: s_add_u32 s8, s8, callee@gotpcrel32@lo+4
82+
; GFX9-SDAG-NEXT: s_addc_u32 s9, s9, callee@gotpcrel32@hi+12
83+
; GFX9-SDAG-NEXT: s_load_dwordx2 s[14:15], s[8:9], 0x0
8884
; GFX9-SDAG-NEXT: v_lshlrev_b32_e32 v2, 20, v2
8985
; GFX9-SDAG-NEXT: v_lshlrev_b32_e32 v1, 10, v1
90-
; GFX9-SDAG-NEXT: s_mov_b64 s[4:5], s[0:1]
91-
; GFX9-SDAG-NEXT: s_mov_b64 s[0:1], s[36:37]
9286
; GFX9-SDAG-NEXT: v_or3_b32 v31, v0, v1, v2
93-
; GFX9-SDAG-NEXT: s_mov_b32 s12, s6
94-
; GFX9-SDAG-NEXT: s_mov_b64 s[2:3], s[38:39]
95-
; GFX9-SDAG-NEXT: v_mov_b32_e32 v0, s6
87+
; GFX9-SDAG-NEXT: s_mov_b64 s[8:9], s[6:7]
88+
; GFX9-SDAG-NEXT: v_mov_b32_e32 v0, s12
9689
; GFX9-SDAG-NEXT: s_mov_b32 s32, 0
9790
; GFX9-SDAG-NEXT: s_waitcnt lgkmcnt(0)
9891
; GFX9-SDAG-NEXT: s_swappc_b64 s[30:31], s[14:15]
9992
; GFX9-SDAG-NEXT: s_endpgm
10093
;
10194
; GFX9-GISEL-LABEL: caller:
10295
; GFX9-GISEL: ; %bb.0:
103-
; GFX9-GISEL-NEXT: s_mov_b32 s36, SCRATCH_RSRC_DWORD0
104-
; GFX9-GISEL-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
105-
; GFX9-GISEL-NEXT: s_mov_b32 s38, -1
106-
; GFX9-GISEL-NEXT: s_mov_b32 s39, 0xe00000
107-
; GFX9-GISEL-NEXT: s_add_u32 s36, s36, s7
108-
; GFX9-GISEL-NEXT: s_addc_u32 s37, s37, 0
109-
; GFX9-GISEL-NEXT: s_add_u32 s8, s2, 36
110-
; GFX9-GISEL-NEXT: s_addc_u32 s9, s3, 0
111-
; GFX9-GISEL-NEXT: s_mov_b64 s[10:11], s[4:5]
112-
; GFX9-GISEL-NEXT: s_mov_b64 s[4:5], s[0:1]
113-
; GFX9-GISEL-NEXT: s_getpc_b64 s[0:1]
114-
; GFX9-GISEL-NEXT: s_add_u32 s0, s0, callee@gotpcrel32@lo+4
115-
; GFX9-GISEL-NEXT: s_addc_u32 s1, s1, callee@gotpcrel32@hi+12
116-
; GFX9-GISEL-NEXT: s_load_dwordx2 s[14:15], s[0:1], 0x0
96+
; GFX9-GISEL-NEXT: s_add_u32 flat_scratch_lo, s10, s13
97+
; GFX9-GISEL-NEXT: s_addc_u32 flat_scratch_hi, s11, 0
98+
; GFX9-GISEL-NEXT: s_add_u32 s0, s0, s13
99+
; GFX9-GISEL-NEXT: s_addc_u32 s1, s1, 0
100+
; GFX9-GISEL-NEXT: s_mov_b64 s[10:11], s[8:9]
101+
; GFX9-GISEL-NEXT: s_getpc_b64 s[8:9]
102+
; GFX9-GISEL-NEXT: s_add_u32 s8, s8, callee@gotpcrel32@lo+4
103+
; GFX9-GISEL-NEXT: s_addc_u32 s9, s9, callee@gotpcrel32@hi+12
104+
; GFX9-GISEL-NEXT: s_load_dwordx2 s[14:15], s[8:9], 0x0
117105
; GFX9-GISEL-NEXT: v_lshlrev_b32_e32 v1, 10, v1
118106
; GFX9-GISEL-NEXT: v_lshlrev_b32_e32 v2, 20, v2
119-
; GFX9-GISEL-NEXT: s_mov_b64 s[0:1], s[36:37]
120107
; GFX9-GISEL-NEXT: v_or3_b32 v31, v0, v1, v2
121-
; GFX9-GISEL-NEXT: v_mov_b32_e32 v0, s6
122-
; GFX9-GISEL-NEXT: s_mov_b64 s[2:3], s[38:39]
123-
; GFX9-GISEL-NEXT: s_mov_b32 s12, s6
108+
; GFX9-GISEL-NEXT: v_mov_b32_e32 v0, s12
109+
; GFX9-GISEL-NEXT: s_mov_b64 s[8:9], s[6:7]
124110
; GFX9-GISEL-NEXT: s_mov_b32 s32, 0
125111
; GFX9-GISEL-NEXT: s_waitcnt lgkmcnt(0)
126112
; GFX9-GISEL-NEXT: s_swappc_b64 s[30:31], s[14:15]
127113
; GFX9-GISEL-NEXT: s_endpgm
128114
;
129115
; GFX9ARCH-SDAG-LABEL: caller:
130116
; GFX9ARCH-SDAG: ; %bb.0:
131-
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s36, SCRATCH_RSRC_DWORD0
132-
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
133-
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s38, -1
134-
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s39, 0xe00000
135-
; GFX9ARCH-SDAG-NEXT: s_add_u32 s36, s36, s6
136-
; GFX9ARCH-SDAG-NEXT: s_addc_u32 s37, s37, 0
137-
; GFX9ARCH-SDAG-NEXT: s_add_u32 s8, s2, 36
138-
; GFX9ARCH-SDAG-NEXT: s_addc_u32 s9, s3, 0
139-
; GFX9ARCH-SDAG-NEXT: s_getpc_b64 s[2:3]
140-
; GFX9ARCH-SDAG-NEXT: s_add_u32 s2, s2, callee@gotpcrel32@lo+4
141-
; GFX9ARCH-SDAG-NEXT: s_addc_u32 s3, s3, callee@gotpcrel32@hi+12
142-
; GFX9ARCH-SDAG-NEXT: s_load_dwordx2 s[6:7], s[2:3], 0x0
143-
; GFX9ARCH-SDAG-NEXT: s_mov_b64 s[10:11], s[4:5]
117+
; GFX9ARCH-SDAG-NEXT: s_add_u32 flat_scratch_lo, s10, s12
118+
; GFX9ARCH-SDAG-NEXT: s_addc_u32 flat_scratch_hi, s11, 0
119+
; GFX9ARCH-SDAG-NEXT: s_add_u32 s0, s0, s12
120+
; GFX9ARCH-SDAG-NEXT: s_addc_u32 s1, s1, 0
121+
; GFX9ARCH-SDAG-NEXT: s_mov_b64 s[10:11], s[8:9]
122+
; GFX9ARCH-SDAG-NEXT: s_getpc_b64 s[8:9]
123+
; GFX9ARCH-SDAG-NEXT: s_add_u32 s8, s8, callee@gotpcrel32@lo+4
124+
; GFX9ARCH-SDAG-NEXT: s_addc_u32 s9, s9, callee@gotpcrel32@hi+12
125+
; GFX9ARCH-SDAG-NEXT: s_load_dwordx2 s[12:13], s[8:9], 0x0
144126
; GFX9ARCH-SDAG-NEXT: v_lshlrev_b32_e32 v2, 20, v2
145127
; GFX9ARCH-SDAG-NEXT: v_lshlrev_b32_e32 v1, 10, v1
146-
; GFX9ARCH-SDAG-NEXT: s_mov_b64 s[4:5], s[0:1]
147-
; GFX9ARCH-SDAG-NEXT: s_mov_b64 s[0:1], s[36:37]
148128
; GFX9ARCH-SDAG-NEXT: v_or3_b32 v31, v0, v1, v2
149-
; GFX9ARCH-SDAG-NEXT: s_mov_b64 s[2:3], s[38:39]
129+
; GFX9ARCH-SDAG-NEXT: s_mov_b64 s[8:9], s[6:7]
150130
; GFX9ARCH-SDAG-NEXT: v_mov_b32_e32 v0, ttmp9
151131
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s32, 0
152132
; GFX9ARCH-SDAG-NEXT: s_waitcnt lgkmcnt(0)
153-
; GFX9ARCH-SDAG-NEXT: s_swappc_b64 s[30:31], s[6:7]
133+
; GFX9ARCH-SDAG-NEXT: s_swappc_b64 s[30:31], s[12:13]
154134
; GFX9ARCH-SDAG-NEXT: s_endpgm
155135
;
156136
; GFX9ARCH-GISEL-LABEL: caller:
157137
; GFX9ARCH-GISEL: ; %bb.0:
158-
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s36, SCRATCH_RSRC_DWORD0
159-
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s37, SCRATCH_RSRC_DWORD1
160-
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s38, -1
161-
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s39, 0xe00000
162-
; GFX9ARCH-GISEL-NEXT: s_add_u32 s36, s36, s6
163-
; GFX9ARCH-GISEL-NEXT: s_addc_u32 s37, s37, 0
164-
; GFX9ARCH-GISEL-NEXT: s_add_u32 s8, s2, 36
165-
; GFX9ARCH-GISEL-NEXT: s_addc_u32 s9, s3, 0
166-
; GFX9ARCH-GISEL-NEXT: s_mov_b64 s[10:11], s[4:5]
167-
; GFX9ARCH-GISEL-NEXT: s_mov_b64 s[4:5], s[0:1]
168-
; GFX9ARCH-GISEL-NEXT: s_getpc_b64 s[0:1]
169-
; GFX9ARCH-GISEL-NEXT: s_add_u32 s0, s0, callee@gotpcrel32@lo+4
170-
; GFX9ARCH-GISEL-NEXT: s_addc_u32 s1, s1, callee@gotpcrel32@hi+12
171-
; GFX9ARCH-GISEL-NEXT: s_load_dwordx2 s[6:7], s[0:1], 0x0
138+
; GFX9ARCH-GISEL-NEXT: s_add_u32 flat_scratch_lo, s10, s12
139+
; GFX9ARCH-GISEL-NEXT: s_addc_u32 flat_scratch_hi, s11, 0
140+
; GFX9ARCH-GISEL-NEXT: s_add_u32 s0, s0, s12
141+
; GFX9ARCH-GISEL-NEXT: s_addc_u32 s1, s1, 0
142+
; GFX9ARCH-GISEL-NEXT: s_mov_b64 s[10:11], s[8:9]
143+
; GFX9ARCH-GISEL-NEXT: s_getpc_b64 s[8:9]
144+
; GFX9ARCH-GISEL-NEXT: s_add_u32 s8, s8, callee@gotpcrel32@lo+4
145+
; GFX9ARCH-GISEL-NEXT: s_addc_u32 s9, s9, callee@gotpcrel32@hi+12
146+
; GFX9ARCH-GISEL-NEXT: s_load_dwordx2 s[12:13], s[8:9], 0x0
172147
; GFX9ARCH-GISEL-NEXT: v_lshlrev_b32_e32 v1, 10, v1
173148
; GFX9ARCH-GISEL-NEXT: v_lshlrev_b32_e32 v2, 20, v2
174-
; GFX9ARCH-GISEL-NEXT: s_mov_b64 s[0:1], s[36:37]
175149
; GFX9ARCH-GISEL-NEXT: v_or3_b32 v31, v0, v1, v2
176150
; GFX9ARCH-GISEL-NEXT: v_mov_b32_e32 v0, ttmp9
177-
; GFX9ARCH-GISEL-NEXT: s_mov_b64 s[2:3], s[38:39]
151+
; GFX9ARCH-GISEL-NEXT: s_mov_b64 s[8:9], s[6:7]
178152
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s32, 0
179153
; GFX9ARCH-GISEL-NEXT: s_waitcnt lgkmcnt(0)
180-
; GFX9ARCH-GISEL-NEXT: s_swappc_b64 s[30:31], s[6:7]
154+
; GFX9ARCH-GISEL-NEXT: s_swappc_b64 s[30:31], s[12:13]
181155
; GFX9ARCH-GISEL-NEXT: s_endpgm
182156
;
183-
; GFX12-SDAG-LABEL: caller:
184-
; GFX12-SDAG: ; %bb.0:
185-
; GFX12-SDAG-NEXT: v_dual_mov_b32 v31, v0 :: v_dual_mov_b32 v0, ttmp9
186-
; GFX12-SDAG-NEXT: s_mov_b64 s[10:11], s[4:5]
187-
; GFX12-SDAG-NEXT: s_mov_b32 s7, callee@abs32@hi
188-
; GFX12-SDAG-NEXT: s_mov_b32 s6, callee@abs32@lo
189-
; GFX12-SDAG-NEXT: s_mov_b64 s[4:5], s[0:1]
190-
; GFX12-SDAG-NEXT: s_mov_b64 s[8:9], s[2:3]
191-
; GFX12-SDAG-NEXT: s_mov_b32 s32, 0
192-
; GFX12-SDAG-NEXT: s_swappc_b64 s[30:31], s[6:7]
193-
; GFX12-SDAG-NEXT: s_endpgm
194-
;
195-
; GFX12-GISEL-LABEL: caller:
196-
; GFX12-GISEL: ; %bb.0:
197-
; GFX12-GISEL-NEXT: v_dual_mov_b32 v31, v0 :: v_dual_mov_b32 v0, ttmp9
198-
; GFX12-GISEL-NEXT: s_mov_b64 s[10:11], s[4:5]
199-
; GFX12-GISEL-NEXT: s_mov_b32 s6, callee@abs32@lo
200-
; GFX12-GISEL-NEXT: s_mov_b32 s7, callee@abs32@hi
201-
; GFX12-GISEL-NEXT: s_mov_b64 s[4:5], s[0:1]
202-
; GFX12-GISEL-NEXT: s_mov_b64 s[8:9], s[2:3]
203-
; GFX12-GISEL-NEXT: s_mov_b32 s32, 0
204-
; GFX12-GISEL-NEXT: s_swappc_b64 s[30:31], s[6:7]
205-
; GFX12-GISEL-NEXT: s_endpgm
157+
; GFX12-LABEL: caller:
158+
; GFX12: ; %bb.0:
159+
; GFX12-NEXT: s_mov_b64 s[10:11], s[4:5]
160+
; GFX12-NEXT: s_getpc_b64 s[4:5]
161+
; GFX12-NEXT: s_sext_i32_i16 s5, s5
162+
; GFX12-NEXT: s_add_co_u32 s4, s4, callee@gotpcrel32@lo+8
163+
; GFX12-NEXT: s_add_co_ci_u32 s5, s5, callee@gotpcrel32@hi+16
164+
; GFX12-NEXT: v_dual_mov_b32 v31, v0 :: v_dual_mov_b32 v0, ttmp9
165+
; GFX12-NEXT: s_load_b64 s[6:7], s[4:5], 0x0
166+
; GFX12-NEXT: s_mov_b64 s[4:5], s[0:1]
167+
; GFX12-NEXT: s_mov_b64 s[8:9], s[2:3]
168+
; GFX12-NEXT: s_mov_b32 s32, 0
169+
; GFX12-NEXT: s_wait_kmcnt 0x0
170+
; GFX12-NEXT: s_swappc_b64 s[30:31], s[6:7]
171+
; GFX12-NEXT: s_endpgm
206172
%idx = call i32 @llvm.amdgcn.workgroup.id.x()
207173
call void @callee(i32 %idx) #0
208174
ret void

llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll

Lines changed: 20 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc -mtriple=amdgcn-amd-hsa -mcpu=gfx900 -mattr=-architected-sgprs -global-isel=0 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9 %s
3-
; RUN: llc -mtriple=amdgcn-amd-hsa -mcpu=gfx900 -mattr=-architected-sgprs -global-isel=1 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9 %s
4-
; RUN: llc -mtriple=amdgcn-amd-hsa -mcpu=gfx900 -mattr=+architected-sgprs -global-isel=0 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9ARCH-SDAG %s
5-
; RUN: llc -mtriple=amdgcn-amd-hsa -mcpu=gfx900 -mattr=+architected-sgprs -global-isel=1 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9ARCH-GISEL %s
2+
; RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=gfx900 -mattr=-architected-sgprs -global-isel=0 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9 %s
3+
; RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=gfx900 -mattr=-architected-sgprs -global-isel=1 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9 %s
4+
; RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=gfx900 -mattr=+architected-sgprs -global-isel=0 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9ARCH-SDAG %s
5+
; RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=gfx900 -mattr=+architected-sgprs -global-isel=1 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX9ARCH-GISEL %s
66
; RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=gfx1200 -global-isel=0 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX12,GFX12-SDAG %s
77
; RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=gfx1200 -global-isel=1 -verify-machineinstrs < %s | FileCheck -check-prefixes=GFX12,GFX12-GISEL %s
88

@@ -67,62 +67,37 @@ define amdgpu_cs void @_amdgpu_cs_main() {
6767
}
6868

6969
define amdgpu_cs void @caller() {
70-
; GFX9-LABEL: caller:
71-
; GFX9: ; %bb.0:
72-
; GFX9-NEXT: s_mov_b32 s8, SCRATCH_RSRC_DWORD0
73-
; GFX9-NEXT: s_mov_b32 s9, SCRATCH_RSRC_DWORD1
74-
; GFX9-NEXT: s_mov_b32 s10, -1
75-
; GFX9-NEXT: s_mov_b32 s11, 0xe00000
76-
; GFX9-NEXT: s_add_u32 s8, s8, s0
77-
; GFX9-NEXT: s_addc_u32 s9, s9, 0
78-
; GFX9-NEXT: s_getpc_b64 s[0:1]
79-
; GFX9-NEXT: s_add_u32 s0, s0, callee@gotpcrel32@lo+4
80-
; GFX9-NEXT: s_addc_u32 s1, s1, callee@gotpcrel32@hi+12
81-
; GFX9-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x0
82-
; GFX9-NEXT: s_mov_b64 s[0:1], s[8:9]
83-
; GFX9-NEXT: s_mov_b64 s[2:3], s[10:11]
84-
; GFX9-NEXT: s_mov_b32 s32, 0
85-
; GFX9-NEXT: s_waitcnt lgkmcnt(0)
86-
; GFX9-NEXT: s_swappc_b64 s[30:31], s[4:5]
87-
; GFX9-NEXT: s_endpgm
88-
;
8970
; GFX9ARCH-SDAG-LABEL: caller:
9071
; GFX9ARCH-SDAG: ; %bb.0:
91-
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s8, SCRATCH_RSRC_DWORD0
92-
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s9, SCRATCH_RSRC_DWORD1
93-
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s10, -1
94-
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s11, 0xe00000
72+
; GFX9ARCH-SDAG-NEXT: s_getpc_b64 s[8:9]
73+
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s8, s0
74+
; GFX9ARCH-SDAG-NEXT: s_load_dwordx4 s[8:11], s[8:9], 0x10
75+
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s5, callee@abs32@hi
76+
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s4, callee@abs32@lo
77+
; GFX9ARCH-SDAG-NEXT: v_mov_b32_e32 v0, ttmp9
78+
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s32, 0
79+
; GFX9ARCH-SDAG-NEXT: s_waitcnt lgkmcnt(0)
9580
; GFX9ARCH-SDAG-NEXT: s_add_u32 s8, s8, s0
9681
; GFX9ARCH-SDAG-NEXT: s_addc_u32 s9, s9, 0
97-
; GFX9ARCH-SDAG-NEXT: s_getpc_b64 s[0:1]
98-
; GFX9ARCH-SDAG-NEXT: s_add_u32 s0, s0, callee@gotpcrel32@lo+4
99-
; GFX9ARCH-SDAG-NEXT: s_addc_u32 s1, s1, callee@gotpcrel32@hi+12
100-
; GFX9ARCH-SDAG-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x0
10182
; GFX9ARCH-SDAG-NEXT: s_mov_b64 s[0:1], s[8:9]
10283
; GFX9ARCH-SDAG-NEXT: s_mov_b64 s[2:3], s[10:11]
103-
; GFX9ARCH-SDAG-NEXT: v_mov_b32_e32 v0, ttmp9
104-
; GFX9ARCH-SDAG-NEXT: s_mov_b32 s32, 0
105-
; GFX9ARCH-SDAG-NEXT: s_waitcnt lgkmcnt(0)
10684
; GFX9ARCH-SDAG-NEXT: s_swappc_b64 s[30:31], s[4:5]
10785
; GFX9ARCH-SDAG-NEXT: s_endpgm
10886
;
10987
; GFX9ARCH-GISEL-LABEL: caller:
11088
; GFX9ARCH-GISEL: ; %bb.0:
111-
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s8, SCRATCH_RSRC_DWORD0
112-
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s9, SCRATCH_RSRC_DWORD1
113-
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s10, -1
114-
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s11, 0xe00000
89+
; GFX9ARCH-GISEL-NEXT: s_getpc_b64 s[8:9]
90+
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s8, s0
91+
; GFX9ARCH-GISEL-NEXT: s_load_dwordx4 s[8:11], s[8:9], 0x10
92+
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s4, callee@abs32@lo
93+
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s5, callee@abs32@hi
94+
; GFX9ARCH-GISEL-NEXT: v_mov_b32_e32 v0, ttmp9
95+
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s32, 0
96+
; GFX9ARCH-GISEL-NEXT: s_waitcnt lgkmcnt(0)
11597
; GFX9ARCH-GISEL-NEXT: s_add_u32 s8, s8, s0
11698
; GFX9ARCH-GISEL-NEXT: s_addc_u32 s9, s9, 0
117-
; GFX9ARCH-GISEL-NEXT: s_getpc_b64 s[0:1]
118-
; GFX9ARCH-GISEL-NEXT: s_add_u32 s0, s0, callee@gotpcrel32@lo+4
119-
; GFX9ARCH-GISEL-NEXT: s_addc_u32 s1, s1, callee@gotpcrel32@hi+12
120-
; GFX9ARCH-GISEL-NEXT: s_load_dwordx2 s[4:5], s[0:1], 0x0
12199
; GFX9ARCH-GISEL-NEXT: s_mov_b64 s[0:1], s[8:9]
122-
; GFX9ARCH-GISEL-NEXT: v_mov_b32_e32 v0, ttmp9
123100
; GFX9ARCH-GISEL-NEXT: s_mov_b64 s[2:3], s[10:11]
124-
; GFX9ARCH-GISEL-NEXT: s_mov_b32 s32, 0
125-
; GFX9ARCH-GISEL-NEXT: s_waitcnt lgkmcnt(0)
126101
; GFX9ARCH-GISEL-NEXT: s_swappc_b64 s[30:31], s[4:5]
127102
; GFX9ARCH-GISEL-NEXT: s_endpgm
128103
;

0 commit comments

Comments
 (0)