@@ -446,17 +446,16 @@ define void @callee_need_to_spill_fp_exec_to_memory() #2 {
446446; WAVE64-NEXT: .cfi_undefined 60
447447; WAVE64-NEXT: .cfi_undefined 61
448448; WAVE64-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
449- ; WAVE64-NEXT: s_mov_b32 s4, s33
449+ ; WAVE64-NEXT: s_mov_b32 s40, s33
450+ ; WAVE64-NEXT: .cfi_register 65, 72
450451; WAVE64-NEXT: s_mov_b32 s33, s32
451- ; WAVE64-NEXT: s_xor_saveexec_b64 s[6:7 ], -1
452+ ; WAVE64-NEXT: s_xor_saveexec_b64 s[4:5 ], -1
452453; WAVE64-NEXT: buffer_store_dword v39, off, s[0:3], s33 offset:192 ; 4-byte Folded Spill
453454; WAVE64-NEXT: .cfi_offset 2599, 12288
454- ; WAVE64-NEXT: s_mov_b64 exec, s[6:7 ]
455+ ; WAVE64-NEXT: s_mov_b64 exec, s[4:5 ]
455456; WAVE64-NEXT: v_writelane_b32 v39, exec_lo, 32
456457; WAVE64-NEXT: v_writelane_b32 v39, exec_hi, 33
457458; WAVE64-NEXT: .cfi_llvm_vector_registers 17, 2599, 32, 32, 2599, 33, 32
458- ; WAVE64-NEXT: v_writelane_b32 v39, s4, 34
459- ; WAVE64-NEXT: .cfi_llvm_vector_registers 65, 2599, 34, 32
460459; WAVE64-NEXT: .cfi_def_cfa_register 65
461460; WAVE64-NEXT: s_addk_i32 s32, 0x3200
462461; WAVE64-NEXT: buffer_store_dword v40, off, s[0:3], s33 offset:188 ; 4-byte Folded Spill
@@ -706,12 +705,11 @@ define void @callee_need_to_spill_fp_exec_to_memory() #2 {
706705; WAVE64-NEXT: v_readlane_b32 s35, v39, 1
707706; WAVE64-NEXT: v_readlane_b32 s34, v39, 0
708707; WAVE64-NEXT: s_mov_b32 s32, s33
709- ; WAVE64-NEXT: v_readlane_b32 s4, v39, 34
710- ; WAVE64-NEXT: s_xor_saveexec_b64 s[6:7], -1
708+ ; WAVE64-NEXT: s_xor_saveexec_b64 s[4:5], -1
711709; WAVE64-NEXT: buffer_load_dword v39, off, s[0:3], s33 offset:192 ; 4-byte Folded Reload
712- ; WAVE64-NEXT: s_mov_b64 exec, s[6:7 ]
710+ ; WAVE64-NEXT: s_mov_b64 exec, s[4:5 ]
713711; WAVE64-NEXT: .cfi_def_cfa_register 64
714- ; WAVE64-NEXT: s_mov_b32 s33, s4
712+ ; WAVE64-NEXT: s_mov_b32 s33, s40
715713; WAVE64-NEXT: s_waitcnt vmcnt(0)
716714; WAVE64-NEXT: s_setpc_b64 s[30:31]
717715;
@@ -830,21 +828,19 @@ define void @callee_need_to_spill_fp_exec_to_memory() #2 {
830828; WAVE32-NEXT: .cfi_undefined 60
831829; WAVE32-NEXT: .cfi_undefined 61
832830; WAVE32-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
833- ; WAVE32-NEXT: s_mov_b32 s4, s33
831+ ; WAVE32-NEXT: s_mov_b32 s40, s33
832+ ; WAVE32-NEXT: .cfi_register 65, 72
834833; WAVE32-NEXT: s_mov_b32 s33, s32
835- ; WAVE32-NEXT: s_xor_saveexec_b32 s5 , -1
834+ ; WAVE32-NEXT: s_xor_saveexec_b32 s4 , -1
836835; WAVE32-NEXT: buffer_store_dword v39, off, s[0:3], s33 offset:192 ; 4-byte Folded Spill
837836; WAVE32-NEXT: .cfi_offset 1575, 6144
838837; WAVE32-NEXT: s_waitcnt_depctr 0xffe3
839- ; WAVE32-NEXT: s_mov_b32 exec_lo, s5
838+ ; WAVE32-NEXT: s_mov_b32 exec_lo, s4
840839; WAVE32-NEXT: v_mov_b32_e32 v0, exec_lo
841840; WAVE32-NEXT: buffer_store_dword v0, off, s[0:3], s33 offset:196 ; 4-byte Folded Spill
842841; WAVE32-NEXT: .cfi_offset 1, 6272
843- ; WAVE32-NEXT: v_mov_b32_e32 v0, s4
844- ; WAVE32-NEXT: buffer_store_dword v0, off, s[0:3], s33 offset:200 ; 4-byte Folded Spill
845- ; WAVE32-NEXT: .cfi_offset 65, 6400
846842; WAVE32-NEXT: .cfi_def_cfa_register 65
847- ; WAVE32-NEXT: s_addk_i32 s32, 0x1a00
843+ ; WAVE32-NEXT: s_addk_i32 s32, 0x1980
848844; WAVE32-NEXT: buffer_store_dword v40, off, s[0:3], s33 offset:188 ; 4-byte Folded Spill
849845; WAVE32-NEXT: .cfi_llvm_vector_offset 1576, 32, 1, 32, 6016
850846; WAVE32-NEXT: buffer_store_dword v41, off, s[0:3], s33 offset:184 ; 4-byte Folded Spill
@@ -1011,7 +1007,7 @@ define void @callee_need_to_spill_fp_exec_to_memory() #2 {
10111007; WAVE32-NEXT: ;;#ASMSTART
10121008; WAVE32-NEXT: ; clobber all VGPRs except v39
10131009; WAVE32-NEXT: ;;#ASMEND
1014- ; WAVE32-NEXT: s_clause 0x30
1010+ ; WAVE32-NEXT: s_clause 0x2f
10151011; WAVE32-NEXT: buffer_load_dword v127, off, s[0:3], s33
10161012; WAVE32-NEXT: buffer_load_dword v126, off, s[0:3], s33 offset:4
10171013; WAVE32-NEXT: buffer_load_dword v125, off, s[0:3], s33 offset:8
@@ -1060,7 +1056,6 @@ define void @callee_need_to_spill_fp_exec_to_memory() #2 {
10601056; WAVE32-NEXT: buffer_load_dword v42, off, s[0:3], s33 offset:180
10611057; WAVE32-NEXT: buffer_load_dword v41, off, s[0:3], s33 offset:184
10621058; WAVE32-NEXT: buffer_load_dword v40, off, s[0:3], s33 offset:188
1063- ; WAVE32-NEXT: buffer_load_dword v0, off, s[0:3], s33 offset:200
10641059; WAVE32-NEXT: v_readlane_b32 s97, v39, 31
10651060; WAVE32-NEXT: v_readlane_b32 s96, v39, 30
10661061; WAVE32-NEXT: v_readlane_b32 s87, v39, 29
@@ -1094,14 +1089,12 @@ define void @callee_need_to_spill_fp_exec_to_memory() #2 {
10941089; WAVE32-NEXT: v_readlane_b32 s35, v39, 1
10951090; WAVE32-NEXT: v_readlane_b32 s34, v39, 0
10961091; WAVE32-NEXT: s_mov_b32 s32, s33
1097- ; WAVE32-NEXT: s_waitcnt vmcnt(0)
1098- ; WAVE32-NEXT: v_readfirstlane_b32 s4, v0
1099- ; WAVE32-NEXT: s_xor_saveexec_b32 s5, -1
1092+ ; WAVE32-NEXT: s_xor_saveexec_b32 s4, -1
11001093; WAVE32-NEXT: buffer_load_dword v39, off, s[0:3], s33 offset:192 ; 4-byte Folded Reload
11011094; WAVE32-NEXT: s_waitcnt_depctr 0xffe3
1102- ; WAVE32-NEXT: s_mov_b32 exec_lo, s5
1095+ ; WAVE32-NEXT: s_mov_b32 exec_lo, s4
11031096; WAVE32-NEXT: .cfi_def_cfa_register 64
1104- ; WAVE32-NEXT: s_mov_b32 s33, s4
1097+ ; WAVE32-NEXT: s_mov_b32 s33, s40
11051098; WAVE32-NEXT: s_waitcnt vmcnt(0)
11061099; WAVE32-NEXT: s_setpc_b64 s[30:31]
11071100 call void asm sideeffect "; clobber nonpreserved and 32 CSR SGPRs" ,
0 commit comments