@@ -53,9 +53,9 @@ define i32 @asm_vgpr_early_clobber() {
53
53
; CHECK: bb.1 (%ir-block.0):
54
54
; CHECK: liveins: $sgpr30_sgpr31
55
55
; CHECK: [[COPY:%[0-9]+]]:sgpr_64 = COPY $sgpr30_sgpr31
56
- ; CHECK: INLINEASM &"v_mov_b32 $0, 7; v_mov_b32 $1, 7", 1 /* sideeffect attdialect */, 1835019 /* regdef-ec:VGPR_32 */, def early-clobber %1 , 1835019 /* regdef-ec:VGPR_32 */, def early-clobber %2 , !0
57
- ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %1
58
- ; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY %2
56
+ ; CHECK: INLINEASM &"v_mov_b32 $0, 7; v_mov_b32 $1, 7", 1 /* sideeffect attdialect */, 1835019 /* regdef-ec:VGPR_32 */, def early-clobber %8 , 1835019 /* regdef-ec:VGPR_32 */, def early-clobber %9 , !0
57
+ ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %8
58
+ ; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY %9
59
59
; CHECK: [[ADD:%[0-9]+]]:_(s32) = G_ADD [[COPY1]], [[COPY2]]
60
60
; CHECK: $vgpr0 = COPY [[ADD]](s32)
61
61
; CHECK: [[COPY3:%[0-9]+]]:ccr_sgpr_64 = COPY [[COPY]]
@@ -87,8 +87,8 @@ define i32 @test_single_vgpr_output() nounwind {
87
87
; CHECK: bb.1.entry:
88
88
; CHECK: liveins: $sgpr30_sgpr31
89
89
; CHECK: [[COPY:%[0-9]+]]:sgpr_64 = COPY $sgpr30_sgpr31
90
- ; CHECK: INLINEASM &"v_mov_b32 $0, 7", 0 /* attdialect */, 1835018 /* regdef:VGPR_32 */, def %1
91
- ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %1
90
+ ; CHECK: INLINEASM &"v_mov_b32 $0, 7", 0 /* attdialect */, 1835018 /* regdef:VGPR_32 */, def %8
91
+ ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %8
92
92
; CHECK: $vgpr0 = COPY [[COPY1]](s32)
93
93
; CHECK: [[COPY2:%[0-9]+]]:ccr_sgpr_64 = COPY [[COPY]]
94
94
; CHECK: S_SETPC_B64_return [[COPY2]], implicit $vgpr0
@@ -102,8 +102,8 @@ define i32 @test_single_sgpr_output_s32() nounwind {
102
102
; CHECK: bb.1.entry:
103
103
; CHECK: liveins: $sgpr30_sgpr31
104
104
; CHECK: [[COPY:%[0-9]+]]:sgpr_64 = COPY $sgpr30_sgpr31
105
- ; CHECK: INLINEASM &"s_mov_b32 $0, 7", 0 /* attdialect */, 1966090 /* regdef:SReg_32 */, def %1
106
- ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %1
105
+ ; CHECK: INLINEASM &"s_mov_b32 $0, 7", 0 /* attdialect */, 1966090 /* regdef:SReg_32 */, def %8
106
+ ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %8
107
107
; CHECK: $vgpr0 = COPY [[COPY1]](s32)
108
108
; CHECK: [[COPY2:%[0-9]+]]:ccr_sgpr_64 = COPY [[COPY]]
109
109
; CHECK: S_SETPC_B64_return [[COPY2]], implicit $vgpr0
@@ -118,9 +118,9 @@ define float @test_multiple_register_outputs_same() #0 {
118
118
; CHECK: bb.1 (%ir-block.0):
119
119
; CHECK: liveins: $sgpr30_sgpr31
120
120
; CHECK: [[COPY:%[0-9]+]]:sgpr_64 = COPY $sgpr30_sgpr31
121
- ; CHECK: INLINEASM &"v_mov_b32 $0, 0; v_mov_b32 $1, 1", 0 /* attdialect */, 1835018 /* regdef:VGPR_32 */, def %1 , 1835018 /* regdef:VGPR_32 */, def %2
122
- ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %1
123
- ; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY %2
121
+ ; CHECK: INLINEASM &"v_mov_b32 $0, 0; v_mov_b32 $1, 1", 0 /* attdialect */, 1835018 /* regdef:VGPR_32 */, def %8 , 1835018 /* regdef:VGPR_32 */, def %9
122
+ ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %8
123
+ ; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY %9
124
124
; CHECK: [[FADD:%[0-9]+]]:_(s32) = G_FADD [[COPY1]], [[COPY2]]
125
125
; CHECK: $vgpr0 = COPY [[FADD]](s32)
126
126
; CHECK: [[COPY3:%[0-9]+]]:ccr_sgpr_64 = COPY [[COPY]]
@@ -138,9 +138,9 @@ define double @test_multiple_register_outputs_mixed() #0 {
138
138
; CHECK: bb.1 (%ir-block.0):
139
139
; CHECK: liveins: $sgpr30_sgpr31
140
140
; CHECK: [[COPY:%[0-9]+]]:sgpr_64 = COPY $sgpr30_sgpr31
141
- ; CHECK: INLINEASM &"v_mov_b32 $0, 0; v_add_f64 $1, 0, 0", 0 /* attdialect */, 1835018 /* regdef:VGPR_32 */, def %1 , 2883594 /* regdef:VReg_64 */, def %2
142
- ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %1
143
- ; CHECK: [[COPY2:%[0-9]+]]:_(s64) = COPY %2
141
+ ; CHECK: INLINEASM &"v_mov_b32 $0, 0; v_add_f64 $1, 0, 0", 0 /* attdialect */, 1835018 /* regdef:VGPR_32 */, def %8 , 2883594 /* regdef:VReg_64 */, def %9
142
+ ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %8
143
+ ; CHECK: [[COPY2:%[0-9]+]]:_(s64) = COPY %9
144
144
; CHECK: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY2]](s64)
145
145
; CHECK: $vgpr0 = COPY [[UV]](s32)
146
146
; CHECK: $vgpr1 = COPY [[UV1]](s32)
@@ -209,8 +209,8 @@ define float @test_input_vgpr(i32 %src) nounwind {
209
209
; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
210
210
; CHECK: [[COPY1:%[0-9]+]]:sgpr_64 = COPY $sgpr30_sgpr31
211
211
; CHECK: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[COPY]](s32)
212
- ; CHECK: INLINEASM &"v_add_f32 $0, 1.0, $1", 0 /* attdialect */, 1835018 /* regdef:VGPR_32 */, def %2 , 1835017 /* reguse:VGPR_32 */, [[COPY2]]
213
- ; CHECK: [[COPY3:%[0-9]+]]:_(s32) = COPY %2
212
+ ; CHECK: INLINEASM &"v_add_f32 $0, 1.0, $1", 0 /* attdialect */, 1835018 /* regdef:VGPR_32 */, def %9 , 1835017 /* reguse:VGPR_32 */, [[COPY2]]
213
+ ; CHECK: [[COPY3:%[0-9]+]]:_(s32) = COPY %9
214
214
; CHECK: $vgpr0 = COPY [[COPY3]](s32)
215
215
; CHECK: [[COPY4:%[0-9]+]]:ccr_sgpr_64 = COPY [[COPY1]]
216
216
; CHECK: S_SETPC_B64_return [[COPY4]], implicit $vgpr0
@@ -225,8 +225,8 @@ define i32 @test_memory_constraint(i32 addrspace(3)* %a) nounwind {
225
225
; CHECK: liveins: $vgpr0, $sgpr30_sgpr31
226
226
; CHECK: [[COPY:%[0-9]+]]:_(p3) = COPY $vgpr0
227
227
; CHECK: [[COPY1:%[0-9]+]]:sgpr_64 = COPY $sgpr30_sgpr31
228
- ; CHECK: INLINEASM &"ds_read_b32 $0, $1", 8 /* mayload attdialect */, 1835018 /* regdef:VGPR_32 */, def %2 , 196622 /* mem:m */, [[COPY]](p3)
229
- ; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY %2
228
+ ; CHECK: INLINEASM &"ds_read_b32 $0, $1", 8 /* mayload attdialect */, 1835018 /* regdef:VGPR_32 */, def %9 , 196622 /* mem:m */, [[COPY]](p3)
229
+ ; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY %9
230
230
; CHECK: $vgpr0 = COPY [[COPY2]](s32)
231
231
; CHECK: [[COPY3:%[0-9]+]]:ccr_sgpr_64 = COPY [[COPY1]]
232
232
; CHECK: S_SETPC_B64_return [[COPY3]], implicit $vgpr0
@@ -243,8 +243,8 @@ define i32 @test_vgpr_matching_constraint(i32 %a) nounwind {
243
243
; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
244
244
; CHECK: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]
245
245
; CHECK: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[AND]](s32)
246
- ; CHECK: INLINEASM &";", 1 /* sideeffect attdialect */, 1835018 /* regdef:VGPR_32 */, def %4 , 2147483657 /* reguse tiedto:$0 */, [[COPY2]](tied-def 3)
247
- ; CHECK: [[COPY3:%[0-9]+]]:_(s32) = COPY %4
246
+ ; CHECK: INLINEASM &";", 1 /* sideeffect attdialect */, 1835018 /* regdef:VGPR_32 */, def %11 , 2147483657 /* reguse tiedto:$0 */, [[COPY2]](tied-def 3)
247
+ ; CHECK: [[COPY3:%[0-9]+]]:_(s32) = COPY %11
248
248
; CHECK: $vgpr0 = COPY [[COPY3]](s32)
249
249
; CHECK: [[COPY4:%[0-9]+]]:ccr_sgpr_64 = COPY [[COPY1]]
250
250
; CHECK: S_SETPC_B64_return [[COPY4]], implicit $vgpr0
@@ -258,14 +258,14 @@ define i32 @test_sgpr_matching_constraint() nounwind {
258
258
; CHECK: bb.1.entry:
259
259
; CHECK: liveins: $sgpr30_sgpr31
260
260
; CHECK: [[COPY:%[0-9]+]]:sgpr_64 = COPY $sgpr30_sgpr31
261
- ; CHECK: INLINEASM &"s_mov_b32 $0, 7", 0 /* attdialect */, 1966090 /* regdef:SReg_32 */, def %1
262
- ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %1
263
- ; CHECK: INLINEASM &"s_mov_b32 $0, 8", 0 /* attdialect */, 1966090 /* regdef:SReg_32 */, def %3
264
- ; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY %3
261
+ ; CHECK: INLINEASM &"s_mov_b32 $0, 7", 0 /* attdialect */, 1966090 /* regdef:SReg_32 */, def %8
262
+ ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %8
263
+ ; CHECK: INLINEASM &"s_mov_b32 $0, 8", 0 /* attdialect */, 1966090 /* regdef:SReg_32 */, def %10
264
+ ; CHECK: [[COPY2:%[0-9]+]]:_(s32) = COPY %10
265
265
; CHECK: [[COPY3:%[0-9]+]]:sreg_32 = COPY [[COPY1]](s32)
266
266
; CHECK: [[COPY4:%[0-9]+]]:sreg_32 = COPY [[COPY2]](s32)
267
- ; CHECK: INLINEASM &"s_add_u32 $0, $1, $2", 0 /* attdialect */, 1966090 /* regdef:SReg_32 */, def %5 , 1966089 /* reguse:SReg_32 */, [[COPY3]], 2147483657 /* reguse tiedto:$0 */, [[COPY4]](tied-def 3)
268
- ; CHECK: [[COPY5:%[0-9]+]]:_(s32) = COPY %5
267
+ ; CHECK: INLINEASM &"s_add_u32 $0, $1, $2", 0 /* attdialect */, 1966090 /* regdef:SReg_32 */, def %12 , 1966089 /* reguse:SReg_32 */, [[COPY3]], 2147483657 /* reguse tiedto:$0 */, [[COPY4]](tied-def 3)
268
+ ; CHECK: [[COPY5:%[0-9]+]]:_(s32) = COPY %12
269
269
; CHECK: $vgpr0 = COPY [[COPY5]](s32)
270
270
; CHECK: [[COPY6:%[0-9]+]]:ccr_sgpr_64 = COPY [[COPY]]
271
271
; CHECK: S_SETPC_B64_return [[COPY6]], implicit $vgpr0
@@ -288,10 +288,10 @@ define void @test_many_matching_constraints(i32 %a, i32 %b, i32 %c) nounwind {
288
288
; CHECK: [[COPY4:%[0-9]+]]:vgpr_32 = COPY [[COPY2]](s32)
289
289
; CHECK: [[COPY5:%[0-9]+]]:vgpr_32 = COPY [[COPY]](s32)
290
290
; CHECK: [[COPY6:%[0-9]+]]:vgpr_32 = COPY [[COPY1]](s32)
291
- ; CHECK: INLINEASM &"; ", 1 /* sideeffect attdialect */, 1835018 /* regdef:VGPR_32 */, def %4 , 1835018 /* regdef:VGPR_32 */, def %5 , 1835018 /* regdef:VGPR_32 */, def %6 , 2147483657 /* reguse tiedto:$0 */, [[COPY4]](tied-def 3), 2147614729 /* reguse tiedto:$2 */, [[COPY5]](tied-def 7), 2147549193 /* reguse tiedto:$1 */, [[COPY6]](tied-def 5)
292
- ; CHECK: [[COPY7:%[0-9]+]]:_(s32) = COPY %4
293
- ; CHECK: [[COPY8:%[0-9]+]]:_(s32) = COPY %5
294
- ; CHECK: [[COPY9:%[0-9]+]]:_(s32) = COPY %6
291
+ ; CHECK: INLINEASM &"; ", 1 /* sideeffect attdialect */, 1835018 /* regdef:VGPR_32 */, def %11 , 1835018 /* regdef:VGPR_32 */, def %12 , 1835018 /* regdef:VGPR_32 */, def %13 , 2147483657 /* reguse tiedto:$0 */, [[COPY4]](tied-def 3), 2147614729 /* reguse tiedto:$2 */, [[COPY5]](tied-def 7), 2147549193 /* reguse tiedto:$1 */, [[COPY6]](tied-def 5)
292
+ ; CHECK: [[COPY7:%[0-9]+]]:_(s32) = COPY %11
293
+ ; CHECK: [[COPY8:%[0-9]+]]:_(s32) = COPY %12
294
+ ; CHECK: [[COPY9:%[0-9]+]]:_(s32) = COPY %13
295
295
; CHECK: G_STORE [[COPY7]](s32), [[DEF]](p1) :: (store 4 into `i32 addrspace(1)* undef`, addrspace 1)
296
296
; CHECK: G_STORE [[COPY8]](s32), [[DEF]](p1) :: (store 4 into `i32 addrspace(1)* undef`, addrspace 1)
297
297
; CHECK: G_STORE [[COPY9]](s32), [[DEF]](p1) :: (store 4 into `i32 addrspace(1)* undef`, addrspace 1)
@@ -312,11 +312,11 @@ define i32 @test_sgpr_to_vgpr_move_matching_constraint() nounwind {
312
312
; CHECK: bb.1.entry:
313
313
; CHECK: liveins: $sgpr30_sgpr31
314
314
; CHECK: [[COPY:%[0-9]+]]:sgpr_64 = COPY $sgpr30_sgpr31
315
- ; CHECK: INLINEASM &"s_mov_b32 $0, 7", 0 /* attdialect */, 1966090 /* regdef:SReg_32 */, def %1
316
- ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %1
315
+ ; CHECK: INLINEASM &"s_mov_b32 $0, 7", 0 /* attdialect */, 1966090 /* regdef:SReg_32 */, def %8
316
+ ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY %8
317
317
; CHECK: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[COPY1]](s32)
318
- ; CHECK: INLINEASM &"v_mov_b32 $0, $1", 0 /* attdialect */, 1835018 /* regdef:VGPR_32 */, def %3 , 2147483657 /* reguse tiedto:$0 */, [[COPY2]](tied-def 3)
319
- ; CHECK: [[COPY3:%[0-9]+]]:_(s32) = COPY %3
318
+ ; CHECK: INLINEASM &"v_mov_b32 $0, $1", 0 /* attdialect */, 1835018 /* regdef:VGPR_32 */, def %10 , 2147483657 /* reguse tiedto:$0 */, [[COPY2]](tied-def 3)
319
+ ; CHECK: [[COPY3:%[0-9]+]]:_(s32) = COPY %10
320
320
; CHECK: $vgpr0 = COPY [[COPY3]](s32)
321
321
; CHECK: [[COPY4:%[0-9]+]]:ccr_sgpr_64 = COPY [[COPY]]
322
322
; CHECK: S_SETPC_B64_return [[COPY4]], implicit $vgpr0
0 commit comments