@@ -8,13 +8,11 @@ define i32 @prolog_spill(i32 %arg0, i32 %arg1, i32 %arg2) {
8
8
; REGALLOC-NEXT: successors: %bb.3(0x40000000), %bb.1(0x40000000)
9
9
; REGALLOC-NEXT: liveins: $vgpr0, $vgpr1, $vgpr2
10
10
; REGALLOC-NEXT: {{ $}}
11
- ; REGALLOC-NEXT: SI_SPILL_V32_SAVE killed $vgpr2, %stack.5 , $sgpr32, 0, implicit $exec :: (store (s32) into %stack.5 , addrspace 5)
12
- ; REGALLOC-NEXT: SI_SPILL_V32_SAVE killed $vgpr1, %stack.4 , $sgpr32, 0, implicit $exec :: (store (s32) into %stack.4 , addrspace 5)
11
+ ; REGALLOC-NEXT: SI_SPILL_V32_SAVE killed $vgpr2, %stack.4 , $sgpr32, 0, implicit $exec :: (store (s32) into %stack.4 , addrspace 5)
12
+ ; REGALLOC-NEXT: SI_SPILL_V32_SAVE killed $vgpr1, %stack.3 , $sgpr32, 0, implicit $exec :: (store (s32) into %stack.3 , addrspace 5)
13
13
; REGALLOC-NEXT: renamable $sgpr4 = S_MOV_B32 49
14
14
; REGALLOC-NEXT: renamable $sgpr4_sgpr5 = V_CMP_GT_I32_e64 killed $vgpr0, killed $sgpr4, implicit $exec
15
- ; REGALLOC-NEXT: renamable $sgpr6 = IMPLICIT_DEF
16
- ; REGALLOC-NEXT: renamable $vgpr0 = COPY killed renamable $sgpr6
17
- ; REGALLOC-NEXT: SI_SPILL_V32_SAVE killed $vgpr0, %stack.3, $sgpr32, 0, implicit $exec :: (store (s32) into %stack.3, addrspace 5)
15
+ ; REGALLOC-NEXT: renamable $vgpr0 = IMPLICIT_DEF
18
16
; REGALLOC-NEXT: renamable $sgpr6_sgpr7 = COPY $exec, implicit-def $exec
19
17
; REGALLOC-NEXT: renamable $sgpr4_sgpr5 = S_AND_B64 renamable $sgpr6_sgpr7, killed renamable $sgpr4_sgpr5, implicit-def dead $scc
20
18
; REGALLOC-NEXT: renamable $sgpr6_sgpr7 = S_XOR_B64 renamable $sgpr4_sgpr5, killed renamable $sgpr6_sgpr7, implicit-def dead $scc
@@ -33,8 +31,8 @@ define i32 @prolog_spill(i32 %arg0, i32 %arg1, i32 %arg2) {
33
31
; REGALLOC-NEXT: $sgpr4 = SI_RESTORE_S32_FROM_VGPR $vgpr63, 0, implicit-def $sgpr4_sgpr5
34
32
; REGALLOC-NEXT: $sgpr5 = SI_RESTORE_S32_FROM_VGPR $vgpr63, 1
35
33
; REGALLOC-NEXT: renamable $sgpr4_sgpr5 = S_OR_SAVEEXEC_B64 killed renamable $sgpr4_sgpr5, implicit-def $exec, implicit-def dead $scc, implicit $exec
36
- ; REGALLOC-NEXT: $vgpr0 = SI_SPILL_V32_RESTORE %stack.3 , $sgpr32, 0, implicit $exec :: (load (s32) from %stack.3 , addrspace 5)
37
- ; REGALLOC-NEXT: SI_SPILL_V32_SAVE killed $vgpr0, %stack.6 , $sgpr32, 0, implicit $exec :: (store (s32) into %stack.6 , addrspace 5)
34
+ ; REGALLOC-NEXT: $vgpr0 = SI_SPILL_V32_RESTORE %stack.6 , $sgpr32, 0, implicit $exec :: (load (s32) from %stack.6 , addrspace 5)
35
+ ; REGALLOC-NEXT: SI_SPILL_V32_SAVE killed $vgpr0, %stack.5 , $sgpr32, 0, implicit $exec :: (store (s32) into %stack.5 , addrspace 5)
38
36
; REGALLOC-NEXT: renamable $sgpr4_sgpr5 = S_AND_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc
39
37
; REGALLOC-NEXT: $vgpr63 = SI_SPILL_S32_TO_VGPR killed $sgpr4, 2, $vgpr63, implicit-def $sgpr4_sgpr5, implicit $sgpr4_sgpr5
40
38
; REGALLOC-NEXT: $vgpr63 = SI_SPILL_S32_TO_VGPR $sgpr5, 3, $vgpr63, implicit $sgpr4_sgpr5
@@ -46,27 +44,27 @@ define i32 @prolog_spill(i32 %arg0, i32 %arg1, i32 %arg2) {
46
44
; REGALLOC-NEXT: bb.2.bb.1:
47
45
; REGALLOC-NEXT: successors: %bb.4(0x80000000)
48
46
; REGALLOC-NEXT: {{ $}}
49
- ; REGALLOC-NEXT: $vgpr0 = SI_SPILL_V32_RESTORE %stack.4 , $sgpr32, 0, implicit $exec :: (load (s32) from %stack.4 , addrspace 5)
47
+ ; REGALLOC-NEXT: $vgpr0 = SI_SPILL_V32_RESTORE %stack.3 , $sgpr32, 0, implicit $exec :: (load (s32) from %stack.3 , addrspace 5)
50
48
; REGALLOC-NEXT: renamable $sgpr4 = S_MOV_B32 10
51
49
; REGALLOC-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, killed $sgpr4, 0, implicit $exec
52
- ; REGALLOC-NEXT: SI_SPILL_V32_SAVE killed $vgpr0, %stack.6 , $sgpr32, 0, implicit $exec :: (store (s32) into %stack.6 , addrspace 5)
50
+ ; REGALLOC-NEXT: SI_SPILL_V32_SAVE killed $vgpr0, %stack.5 , $sgpr32, 0, implicit $exec :: (store (s32) into %stack.5 , addrspace 5)
53
51
; REGALLOC-NEXT: S_BRANCH %bb.4
54
52
; REGALLOC-NEXT: {{ $}}
55
53
; REGALLOC-NEXT: bb.3.bb.2:
56
54
; REGALLOC-NEXT: successors: %bb.1(0x80000000)
57
55
; REGALLOC-NEXT: {{ $}}
58
- ; REGALLOC-NEXT: $vgpr0 = SI_SPILL_V32_RESTORE %stack.5 , $sgpr32, 0, implicit $exec :: (load (s32) from %stack.5 , addrspace 5)
56
+ ; REGALLOC-NEXT: $vgpr0 = SI_SPILL_V32_RESTORE %stack.4 , $sgpr32, 0, implicit $exec :: (load (s32) from %stack.4 , addrspace 5)
59
57
; REGALLOC-NEXT: renamable $sgpr4 = S_MOV_B32 20
60
58
; REGALLOC-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, killed $sgpr4, 0, implicit $exec
61
- ; REGALLOC-NEXT: SI_SPILL_V32_SAVE killed $vgpr0, %stack.3 , $sgpr32, 0, implicit $exec :: (store (s32) into %stack.3 , addrspace 5)
59
+ ; REGALLOC-NEXT: SI_SPILL_V32_SAVE killed $vgpr0, %stack.6 , $sgpr32, 0, implicit $exec :: (store (s32) into %stack.6 , addrspace 5)
62
60
; REGALLOC-NEXT: S_BRANCH %bb.1
63
61
; REGALLOC-NEXT: {{ $}}
64
62
; REGALLOC-NEXT: bb.4.bb.3:
65
63
; REGALLOC-NEXT: $vgpr63 = SI_SPILL_WWM_V32_RESTORE %stack.2, $sgpr32, 0, implicit $exec :: (load (s32) from %stack.2, addrspace 5)
66
64
; REGALLOC-NEXT: $sgpr4 = SI_RESTORE_S32_FROM_VGPR $vgpr63, 2, implicit-def $sgpr4_sgpr5
67
65
; REGALLOC-NEXT: $sgpr5 = SI_RESTORE_S32_FROM_VGPR killed $vgpr63, 3
68
66
; REGALLOC-NEXT: $exec = S_OR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc
69
- ; REGALLOC-NEXT: $vgpr0 = SI_SPILL_V32_RESTORE %stack.6 , $sgpr32, 0, implicit $exec :: (load (s32) from %stack.6 , addrspace 5)
67
+ ; REGALLOC-NEXT: $vgpr0 = SI_SPILL_V32_RESTORE %stack.5 , $sgpr32, 0, implicit $exec :: (load (s32) from %stack.5 , addrspace 5)
70
68
; REGALLOC-NEXT: renamable $vgpr0 = V_LSHL_ADD_U32_e64 killed $vgpr0, 2, $vgpr0, implicit $exec
71
69
; REGALLOC-NEXT: SI_RETURN implicit killed $vgpr0
72
70
bb.0 :
0 commit comments