[AMDGPU] Update test to match comment. NFC (#187273)

The comment says there shouldn't be any free registers, so update the
inline assembly to clobber all non-preserved SGPRs.
This commit is contained in:
Diana Picus 2026-03-23 10:36:14 +01:00 committed by GitHub
parent bb86440c60
commit 0d6185e9eb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,6 +1,6 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc -mtriple=amdgcn -mcpu=hawaii < %s | FileCheck -enable-var-scope -check-prefixes=GCN,MUBUF %s
; RUN: llc -mtriple=amdgcn -mcpu=gfx900 < %s | FileCheck -enable-var-scope -check-prefixes=GCN,MUBUF %s
; RUN: llc -mtriple=amdgcn -mcpu=hawaii < %s | FileCheck -enable-var-scope -check-prefixes=GCN,MUBUF,HAWAII %s
; RUN: llc -mtriple=amdgcn -mcpu=gfx900 < %s | FileCheck -enable-var-scope -check-prefixes=GCN,MUBUF,GFX9 %s
; RUN: llc -mtriple=amdgcn -mcpu=gfx900 -mattr=+enable-flat-scratch < %s | FileCheck -enable-var-scope -check-prefixes=GCN,FLATSCR %s
define void @callee_no_stack() #0 {
@ -1265,37 +1265,87 @@ define void @ipra_call_with_stack() #0 {
; With no free registers, we must spill the FP to memory.
define void @callee_need_to_spill_fp_to_memory() #3 {
; MUBUF-LABEL: callee_need_to_spill_fp_to_memory:
; MUBUF: ; %bb.0:
; MUBUF-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; MUBUF-NEXT: s_mov_b32 s40, s33
; MUBUF-NEXT: s_mov_b32 s33, s32
; MUBUF-NEXT: ;;#ASMSTART
; MUBUF-NEXT: ; clobber nonpreserved SGPRs
; MUBUF-NEXT: ;;#ASMEND
; MUBUF-NEXT: ;;#ASMSTART
; MUBUF-NEXT: ; clobber all VGPRs
; MUBUF-NEXT: ;;#ASMEND
; MUBUF-NEXT: s_mov_b32 s33, s40
; MUBUF-NEXT: s_setpc_b64 s[30:31]
; HAWAII-LABEL: callee_need_to_spill_fp_to_memory:
; HAWAII: ; %bb.0:
; HAWAII-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; HAWAII-NEXT: s_mov_b32 s4, s33
; HAWAII-NEXT: s_mov_b32 s33, s32
; HAWAII-NEXT: v_mov_b32_e32 v0, s4
; HAWAII-NEXT: buffer_store_dword v0, off, s[0:3], s33 offset:8 ; 4-byte Folded Spill
; HAWAII-NEXT: v_mov_b32_e32 v0, s76
; HAWAII-NEXT: buffer_store_dword v0, off, s[0:3], s33 ; 4-byte Folded Spill
; HAWAII-NEXT: v_mov_b32_e32 v0, s77
; HAWAII-NEXT: buffer_store_dword v0, off, s[0:3], s33 offset:4 ; 4-byte Folded Spill
; HAWAII-NEXT: ;;#ASMSTART
; HAWAII-NEXT: ; clobber nonpreserved SGPRs
; HAWAII-NEXT: ;;#ASMEND
; HAWAII-NEXT: ;;#ASMSTART
; HAWAII-NEXT: ; clobber all VGPRs
; HAWAII-NEXT: ;;#ASMEND
; HAWAII-NEXT: buffer_load_dword v0, off, s[0:3], s33 offset:8 ; 4-byte Folded Reload
; HAWAII-NEXT: s_addk_i32 s32, 0x400
; HAWAII-NEXT: s_mov_b32 s32, s33
; HAWAII-NEXT: s_waitcnt vmcnt(0)
; HAWAII-NEXT: v_readfirstlane_b32 s4, v0
; HAWAII-NEXT: buffer_load_dword v0, off, s[0:3], s33 ; 4-byte Folded Reload
; HAWAII-NEXT: s_waitcnt vmcnt(0)
; HAWAII-NEXT: v_readfirstlane_b32 s76, v0
; HAWAII-NEXT: buffer_load_dword v0, off, s[0:3], s33 offset:4 ; 4-byte Folded Reload
; HAWAII-NEXT: s_mov_b32 s33, s4
; HAWAII-NEXT: s_waitcnt vmcnt(0)
; HAWAII-NEXT: v_readfirstlane_b32 s77, v0
; HAWAII-NEXT: s_setpc_b64 s[30:31]
;
; GFX9-LABEL: callee_need_to_spill_fp_to_memory:
; GFX9: ; %bb.0:
; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; GFX9-NEXT: s_mov_b32 s4, s33
; GFX9-NEXT: s_mov_b32 s33, s32
; GFX9-NEXT: v_mov_b32_e32 v0, s4
; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], s33 ; 4-byte Folded Spill
; GFX9-NEXT: ;;#ASMSTART
; GFX9-NEXT: ; clobber nonpreserved SGPRs
; GFX9-NEXT: ;;#ASMEND
; GFX9-NEXT: ;;#ASMSTART
; GFX9-NEXT: ; clobber all VGPRs
; GFX9-NEXT: ;;#ASMEND
; GFX9-NEXT: buffer_load_dword v0, off, s[0:3], s33 ; 4-byte Folded Reload
; GFX9-NEXT: s_addk_i32 s32, 0x200
; GFX9-NEXT: s_mov_b32 s32, s33
; GFX9-NEXT: s_waitcnt vmcnt(0)
; GFX9-NEXT: v_readfirstlane_b32 s4, v0
; GFX9-NEXT: s_mov_b32 s33, s4
; GFX9-NEXT: s_setpc_b64 s[30:31]
;
; FLATSCR-LABEL: callee_need_to_spill_fp_to_memory:
; FLATSCR: ; %bb.0:
; FLATSCR-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
; FLATSCR-NEXT: s_mov_b32 s0, s33
; FLATSCR-NEXT: s_mov_b32 s33, s32
; FLATSCR-NEXT: v_mov_b32_e32 v0, s0
; FLATSCR-NEXT: scratch_store_dword off, v0, s33 ; 4-byte Folded Spill
; FLATSCR-NEXT: ;;#ASMSTART
; FLATSCR-NEXT: ; clobber nonpreserved SGPRs
; FLATSCR-NEXT: ;;#ASMEND
; FLATSCR-NEXT: ;;#ASMSTART
; FLATSCR-NEXT: ; clobber all VGPRs
; FLATSCR-NEXT: ;;#ASMEND
; FLATSCR-NEXT: scratch_load_dword v0, off, s33 ; 4-byte Folded Reload
; FLATSCR-NEXT: s_add_i32 s32, s32, 8
; FLATSCR-NEXT: s_mov_b32 s32, s33
; FLATSCR-NEXT: s_waitcnt vmcnt(0)
; FLATSCR-NEXT: v_readfirstlane_b32 s0, v0
; FLATSCR-NEXT: s_mov_b32 s33, s0
; FLATSCR-NEXT: s_setpc_b64 s[30:31]
call void asm sideeffect "; clobber nonpreserved SGPRs",
"~{s4},~{s5},~{s6},~{s7},~{s8},~{s9}
,~{s10},~{s11},~{s12},~{s13},~{s14},~{s15},~{s16},~{s17},~{s18},~{s19}
,~{s20},~{s21},~{s22},~{s23},~{s24},~{s25},~{s26},~{s27},~{s28},~{s29}
"~{s0},~{s1},~{s2},~{s3},~{s4},~{s5},~{s6},~{s7}
,~{s8},~{s9},~{s10},~{s11},~{s12},~{s13},~{s14},~{s15}
,~{s16},~{s17},~{s18},~{s19},~{s20},~{s21},~{s22},~{s23}
,~{s24},~{s25},~{s26},~{s27},~{s28},~{s29}
,~{s40},~{s41},~{s42},~{s43},~{s44},~{s45},~{s46},~{s47}
,~{s56},~{s57},~{s58},~{s59},~{s60},~{s61},~{s62},~{s63}
,~{s72},~{s73},~{s74},~{s75},~{s76},~{s77},~{s78},~{s79}
,~{s88},~{s89},~{s90},~{s91},~{s92},~{s93},~{s94},~{s95}
,~{vcc}"()
call void asm sideeffect "; clobber all VGPRs",