@@ -9,34 +9,35 @@ declare hidden void @extern()
9
9
define amdgpu_kernel void @kernel_call_no_workitem_ids () {
10
10
; CHECK-LABEL: name: kernel_call_no_workitem_ids
11
11
; CHECK: bb.1 (%ir-block.0):
12
- ; CHECK-NEXT: liveins: $sgpr12 , $sgpr13 , $sgpr14 , $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9
12
+ ; CHECK-NEXT: liveins: $sgpr14 , $sgpr15 , $sgpr16 , $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9, $sgpr10_sgpr11
13
13
; CHECK-NEXT: {{ $}}
14
- ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr_32 = COPY $sgpr14
15
- ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr_32 = COPY $sgpr13
16
- ; CHECK-NEXT: [[COPY2:%[0-9]+]]:sgpr_32 = COPY $sgpr12
17
- ; CHECK-NEXT: [[COPY3:%[0-9]+]]:sgpr_64 = COPY $sgpr8_sgpr9
14
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr_32 = COPY $sgpr16
15
+ ; CHECK-NEXT: [[COPY1:%[0-9]+]]:sgpr_32 = COPY $sgpr15
16
+ ; CHECK-NEXT: [[COPY2:%[0-9]+]]:sgpr_32 = COPY $sgpr14
17
+ ; CHECK-NEXT: [[COPY3:%[0-9]+]]:sgpr_64 = COPY $sgpr10_sgpr11
18
18
; CHECK-NEXT: [[COPY4:%[0-9]+]]:sgpr_64 = COPY $sgpr6_sgpr7
19
19
; CHECK-NEXT: [[COPY5:%[0-9]+]]:sgpr_64 = COPY $sgpr4_sgpr5
20
+ ; CHECK-NEXT: [[COPY6:%[0-9]+]]:_(p4) = COPY $sgpr8_sgpr9
20
21
; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $scc
21
22
; CHECK-NEXT: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @extern
22
- ; CHECK-NEXT: [[COPY6 :%[0-9]+]]:_(p4) = COPY [[COPY5]]
23
- ; CHECK-NEXT: [[COPY7 :%[0-9]+]]:_(p4) = COPY [[COPY4]]
24
- ; CHECK-NEXT: [[C :%[0-9]+]]:_(p4) = G_CONSTANT i64 0
25
- ; CHECK-NEXT: [[C1 :%[0-9]+]]:_(s64) = G_CONSTANT i64 0
26
- ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p4) = G_PTR_ADD [[C ]], [[C1 ]](s64)
27
- ; CHECK-NEXT: [[COPY8 :%[0-9]+]]:_(s64) = COPY [[COPY3]]
28
- ; CHECK-NEXT: [[COPY9 :%[0-9]+]]:_(s32) = COPY [[COPY2]]
29
- ; CHECK-NEXT: [[COPY10 :%[0-9]+]]:_(s32) = COPY [[COPY1]]
30
- ; CHECK-NEXT: [[COPY11 :%[0-9]+]]:_(s32) = COPY [[COPY]]
31
- ; CHECK-NEXT: [[COPY12 :%[0-9]+]]:_(<4 x s32>) = COPY $private_rsrc_reg
32
- ; CHECK-NEXT: $sgpr0_sgpr1_sgpr2_sgpr3 = COPY [[COPY12 ]](<4 x s32>)
33
- ; CHECK-NEXT: $sgpr4_sgpr5 = COPY [[COPY6 ]](p4)
34
- ; CHECK-NEXT: $sgpr6_sgpr7 = COPY [[COPY7 ]](p4)
23
+ ; CHECK-NEXT: [[COPY7 :%[0-9]+]]:_(p4) = COPY [[COPY5]]
24
+ ; CHECK-NEXT: [[COPY8 :%[0-9]+]]:_(p4) = COPY [[COPY4]]
25
+ ; CHECK-NEXT: [[COPY9 :%[0-9]+]]:_(p4) = COPY [[COPY6]](p4)
26
+ ; CHECK-NEXT: [[C :%[0-9]+]]:_(s64) = G_CONSTANT i64 0
27
+ ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p4) = G_PTR_ADD [[COPY9 ]], [[C ]](s64)
28
+ ; CHECK-NEXT: [[COPY10 :%[0-9]+]]:_(s64) = COPY [[COPY3]]
29
+ ; CHECK-NEXT: [[COPY11 :%[0-9]+]]:_(s32) = COPY [[COPY2]]
30
+ ; CHECK-NEXT: [[COPY12 :%[0-9]+]]:_(s32) = COPY [[COPY1]]
31
+ ; CHECK-NEXT: [[COPY13 :%[0-9]+]]:_(s32) = COPY [[COPY]]
32
+ ; CHECK-NEXT: [[COPY14 :%[0-9]+]]:_(<4 x s32>) = COPY $private_rsrc_reg
33
+ ; CHECK-NEXT: $sgpr0_sgpr1_sgpr2_sgpr3 = COPY [[COPY14 ]](<4 x s32>)
34
+ ; CHECK-NEXT: $sgpr4_sgpr5 = COPY [[COPY7 ]](p4)
35
+ ; CHECK-NEXT: $sgpr6_sgpr7 = COPY [[COPY8 ]](p4)
35
36
; CHECK-NEXT: $sgpr8_sgpr9 = COPY [[PTR_ADD]](p4)
36
- ; CHECK-NEXT: $sgpr10_sgpr11 = COPY [[COPY8 ]](s64)
37
- ; CHECK-NEXT: $sgpr12 = COPY [[COPY9 ]](s32)
38
- ; CHECK-NEXT: $sgpr13 = COPY [[COPY10 ]](s32)
39
- ; CHECK-NEXT: $sgpr14 = COPY [[COPY11 ]](s32)
37
+ ; CHECK-NEXT: $sgpr10_sgpr11 = COPY [[COPY10 ]](s64)
38
+ ; CHECK-NEXT: $sgpr12 = COPY [[COPY11 ]](s32)
39
+ ; CHECK-NEXT: $sgpr13 = COPY [[COPY12 ]](s32)
40
+ ; CHECK-NEXT: $sgpr14 = COPY [[COPY13 ]](s32)
40
41
; CHECK-NEXT: $sgpr30_sgpr31 = G_SI_CALL [[GV]](p0), @extern, csr_amdgpu_highregs, implicit $sgpr0_sgpr1_sgpr2_sgpr3, implicit $sgpr4_sgpr5, implicit $sgpr6_sgpr7, implicit $sgpr8_sgpr9, implicit $sgpr10_sgpr11, implicit $sgpr12, implicit $sgpr13, implicit $sgpr14
41
42
; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $scc
42
43
; CHECK-NEXT: S_ENDPGM 0
@@ -47,37 +48,38 @@ define amdgpu_kernel void @kernel_call_no_workitem_ids() {
47
48
define amdgpu_kernel void @kernel_call_no_workgroup_ids () {
48
49
; CHECK-LABEL: name: kernel_call_no_workgroup_ids
49
50
; CHECK: bb.1 (%ir-block.0):
50
- ; CHECK-NEXT: liveins: $vgpr0, $vgpr1, $vgpr2, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9
51
+ ; CHECK-NEXT: liveins: $vgpr0, $vgpr1, $vgpr2, $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9, $sgpr10_sgpr11
51
52
; CHECK-NEXT: {{ $}}
52
53
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32(s32) = COPY $vgpr2
53
54
; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr_32(s32) = COPY $vgpr1
54
55
; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr_32(s32) = COPY $vgpr0
55
- ; CHECK-NEXT: [[COPY3:%[0-9]+]]:sgpr_64 = COPY $sgpr8_sgpr9
56
+ ; CHECK-NEXT: [[COPY3:%[0-9]+]]:sgpr_64 = COPY $sgpr10_sgpr11
56
57
; CHECK-NEXT: [[COPY4:%[0-9]+]]:sgpr_64 = COPY $sgpr6_sgpr7
57
58
; CHECK-NEXT: [[COPY5:%[0-9]+]]:sgpr_64 = COPY $sgpr4_sgpr5
59
+ ; CHECK-NEXT: [[COPY6:%[0-9]+]]:_(p4) = COPY $sgpr8_sgpr9
58
60
; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $scc
59
61
; CHECK-NEXT: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @extern
60
- ; CHECK-NEXT: [[COPY6 :%[0-9]+]]:_(p4) = COPY [[COPY5]]
61
- ; CHECK-NEXT: [[COPY7 :%[0-9]+]]:_(p4) = COPY [[COPY4]]
62
- ; CHECK-NEXT: [[C :%[0-9]+]]:_(p4) = G_CONSTANT i64 0
63
- ; CHECK-NEXT: [[C1 :%[0-9]+]]:_(s64) = G_CONSTANT i64 0
64
- ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p4) = G_PTR_ADD [[C ]], [[C1 ]](s64)
65
- ; CHECK-NEXT: [[COPY8 :%[0-9]+]]:_(s64) = COPY [[COPY3]]
66
- ; CHECK-NEXT: [[COPY9 :%[0-9]+]]:_(s32) = COPY [[COPY2]](s32)
67
- ; CHECK-NEXT: [[COPY10 :%[0-9]+]]:_(s32) = COPY [[COPY1]](s32)
68
- ; CHECK-NEXT: [[C2 :%[0-9]+]]:_(s32) = G_CONSTANT i32 10
69
- ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY10 ]], [[C2 ]](s32)
70
- ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY9 ]], [[SHL]]
71
- ; CHECK-NEXT: [[COPY11 :%[0-9]+]]:_(s32) = COPY [[COPY]](s32)
72
- ; CHECK-NEXT: [[C3 :%[0-9]+]]:_(s32) = G_CONSTANT i32 20
73
- ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY11 ]], [[C3 ]](s32)
62
+ ; CHECK-NEXT: [[COPY7 :%[0-9]+]]:_(p4) = COPY [[COPY5]]
63
+ ; CHECK-NEXT: [[COPY8 :%[0-9]+]]:_(p4) = COPY [[COPY4]]
64
+ ; CHECK-NEXT: [[COPY9 :%[0-9]+]]:_(p4) = COPY [[COPY6]](p4)
65
+ ; CHECK-NEXT: [[C :%[0-9]+]]:_(s64) = G_CONSTANT i64 0
66
+ ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p4) = G_PTR_ADD [[COPY9 ]], [[C ]](s64)
67
+ ; CHECK-NEXT: [[COPY10 :%[0-9]+]]:_(s64) = COPY [[COPY3]]
68
+ ; CHECK-NEXT: [[COPY11 :%[0-9]+]]:_(s32) = COPY [[COPY2]](s32)
69
+ ; CHECK-NEXT: [[COPY12 :%[0-9]+]]:_(s32) = COPY [[COPY1]](s32)
70
+ ; CHECK-NEXT: [[C1 :%[0-9]+]]:_(s32) = G_CONSTANT i32 10
71
+ ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY12 ]], [[C1 ]](s32)
72
+ ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY11 ]], [[SHL]]
73
+ ; CHECK-NEXT: [[COPY13 :%[0-9]+]]:_(s32) = COPY [[COPY]](s32)
74
+ ; CHECK-NEXT: [[C2 :%[0-9]+]]:_(s32) = G_CONSTANT i32 20
75
+ ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY13 ]], [[C2 ]](s32)
74
76
; CHECK-NEXT: [[OR1:%[0-9]+]]:_(s32) = G_OR [[OR]], [[SHL1]]
75
- ; CHECK-NEXT: [[COPY12 :%[0-9]+]]:_(<4 x s32>) = COPY $private_rsrc_reg
76
- ; CHECK-NEXT: $sgpr0_sgpr1_sgpr2_sgpr3 = COPY [[COPY12 ]](<4 x s32>)
77
- ; CHECK-NEXT: $sgpr4_sgpr5 = COPY [[COPY6 ]](p4)
78
- ; CHECK-NEXT: $sgpr6_sgpr7 = COPY [[COPY7 ]](p4)
77
+ ; CHECK-NEXT: [[COPY14 :%[0-9]+]]:_(<4 x s32>) = COPY $private_rsrc_reg
78
+ ; CHECK-NEXT: $sgpr0_sgpr1_sgpr2_sgpr3 = COPY [[COPY14 ]](<4 x s32>)
79
+ ; CHECK-NEXT: $sgpr4_sgpr5 = COPY [[COPY7 ]](p4)
80
+ ; CHECK-NEXT: $sgpr6_sgpr7 = COPY [[COPY8 ]](p4)
79
81
; CHECK-NEXT: $sgpr8_sgpr9 = COPY [[PTR_ADD]](p4)
80
- ; CHECK-NEXT: $sgpr10_sgpr11 = COPY [[COPY8 ]](s64)
82
+ ; CHECK-NEXT: $sgpr10_sgpr11 = COPY [[COPY10 ]](s64)
81
83
; CHECK-NEXT: $vgpr31 = COPY [[OR1]](s32)
82
84
; CHECK-NEXT: $sgpr30_sgpr31 = G_SI_CALL [[GV]](p0), @extern, csr_amdgpu_highregs, implicit $sgpr0_sgpr1_sgpr2_sgpr3, implicit $sgpr4_sgpr5, implicit $sgpr6_sgpr7, implicit $sgpr8_sgpr9, implicit $sgpr10_sgpr11, implicit $vgpr31
83
85
; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $scc
@@ -89,27 +91,28 @@ define amdgpu_kernel void @kernel_call_no_workgroup_ids() {
89
91
define amdgpu_kernel void @kernel_call_no_other_sgprs () {
90
92
; CHECK-LABEL: name: kernel_call_no_other_sgprs
91
93
; CHECK: bb.1 (%ir-block.0):
92
- ; CHECK-NEXT: liveins: $vgpr0, $vgpr1, $vgpr2
94
+ ; CHECK-NEXT: liveins: $vgpr0, $vgpr1, $vgpr2, $sgpr8_sgpr9
93
95
; CHECK-NEXT: {{ $}}
94
96
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32(s32) = COPY $vgpr2
95
97
; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr_32(s32) = COPY $vgpr1
96
98
; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr_32(s32) = COPY $vgpr0
99
+ ; CHECK-NEXT: [[COPY3:%[0-9]+]]:_(p4) = COPY $sgpr8_sgpr9
97
100
; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $scc
98
101
; CHECK-NEXT: [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @extern
99
- ; CHECK-NEXT: [[C :%[0-9]+]]:_(p4) = G_CONSTANT i64 0
100
- ; CHECK-NEXT: [[C1 :%[0-9]+]]:_(s64) = G_CONSTANT i64 0
101
- ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p4) = G_PTR_ADD [[C ]], [[C1 ]](s64)
102
- ; CHECK-NEXT: [[COPY3 :%[0-9]+]]:_(s32) = COPY [[COPY2]](s32)
103
- ; CHECK-NEXT: [[COPY4 :%[0-9]+]]:_(s32) = COPY [[COPY1]](s32)
104
- ; CHECK-NEXT: [[C2 :%[0-9]+]]:_(s32) = G_CONSTANT i32 10
105
- ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY4 ]], [[C2 ]](s32)
106
- ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY3 ]], [[SHL]]
107
- ; CHECK-NEXT: [[COPY5 :%[0-9]+]]:_(s32) = COPY [[COPY]](s32)
108
- ; CHECK-NEXT: [[C3 :%[0-9]+]]:_(s32) = G_CONSTANT i32 20
109
- ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY5 ]], [[C3 ]](s32)
102
+ ; CHECK-NEXT: [[COPY4 :%[0-9]+]]:_(p4) = COPY [[COPY3]](p4)
103
+ ; CHECK-NEXT: [[C :%[0-9]+]]:_(s64) = G_CONSTANT i64 0
104
+ ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p4) = G_PTR_ADD [[COPY4 ]], [[C ]](s64)
105
+ ; CHECK-NEXT: [[COPY5 :%[0-9]+]]:_(s32) = COPY [[COPY2]](s32)
106
+ ; CHECK-NEXT: [[COPY6 :%[0-9]+]]:_(s32) = COPY [[COPY1]](s32)
107
+ ; CHECK-NEXT: [[C1 :%[0-9]+]]:_(s32) = G_CONSTANT i32 10
108
+ ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY6 ]], [[C1 ]](s32)
109
+ ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[COPY5 ]], [[SHL]]
110
+ ; CHECK-NEXT: [[COPY7 :%[0-9]+]]:_(s32) = COPY [[COPY]](s32)
111
+ ; CHECK-NEXT: [[C2 :%[0-9]+]]:_(s32) = G_CONSTANT i32 20
112
+ ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY7 ]], [[C2 ]](s32)
110
113
; CHECK-NEXT: [[OR1:%[0-9]+]]:_(s32) = G_OR [[OR]], [[SHL1]]
111
- ; CHECK-NEXT: [[COPY6 :%[0-9]+]]:_(<4 x s32>) = COPY $private_rsrc_reg
112
- ; CHECK-NEXT: $sgpr0_sgpr1_sgpr2_sgpr3 = COPY [[COPY6 ]](<4 x s32>)
114
+ ; CHECK-NEXT: [[COPY8 :%[0-9]+]]:_(<4 x s32>) = COPY $private_rsrc_reg
115
+ ; CHECK-NEXT: $sgpr0_sgpr1_sgpr2_sgpr3 = COPY [[COPY8 ]](<4 x s32>)
113
116
; CHECK-NEXT: $sgpr8_sgpr9 = COPY [[PTR_ADD]](p4)
114
117
; CHECK-NEXT: $vgpr31 = COPY [[OR1]](s32)
115
118
; CHECK-NEXT: $sgpr30_sgpr31 = G_SI_CALL [[GV]](p0), @extern, csr_amdgpu_highregs, implicit $sgpr0_sgpr1_sgpr2_sgpr3, implicit $sgpr8_sgpr9, implicit $vgpr31
0 commit comments