[llvm] AMDGPU: Add baseline test for gws handling with AGPR inputs (PR #169372)

Shilei Tian via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 25 09:03:24 PST 2025


================
@@ -0,0 +1,395 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
+; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a < %s | FileCheck -check-prefixes=CHECK,SDAG %s
+; RUN: llc -global-isel=1 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a < %s | FileCheck -check-prefixes=CHECK,GISEL %s
+
+define void @gws_init_offset0() #0 {
+; SDAG-LABEL: gws_init_offset0:
+; SDAG:       ; %bb.0:
+; SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; SDAG-NEXT:    ;;#ASMSTART
+; SDAG-NEXT:    ; def a0
+; SDAG-NEXT:    ;;#ASMEND
+; SDAG-NEXT:    s_mov_b32 m0, 0
+; SDAG-NEXT:    s_nop 0
+; SDAG-NEXT:    ds_gws_init a0 gds
+; SDAG-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; SDAG-NEXT:    s_setpc_b64 s[30:31]
+;
+; GISEL-LABEL: gws_init_offset0:
+; GISEL:       ; %bb.0:
+; GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GISEL-NEXT:    ;;#ASMSTART
+; GISEL-NEXT:    ; def a0
+; GISEL-NEXT:    ;;#ASMEND
+; GISEL-NEXT:    v_accvgpr_read_b32 v0, a0
+; GISEL-NEXT:    s_mov_b32 m0, 0
+; GISEL-NEXT:    s_nop 0
+; GISEL-NEXT:    ds_gws_init v0 gds
+; GISEL-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GISEL-NEXT:    s_setpc_b64 s[30:31]
+  %val = call i32 asm "; def $0", "=a"()
----------------
shiltian wrote:

Is this the canonical way to do an implicit define at IR level?

https://github.com/llvm/llvm-project/pull/169372


More information about the llvm-commits mailing list