@@ -14,7 +14,7 @@ define arm_aapcscc i32* @test_call_simple_reg_params(i32 *%a, i32 %b) {
14
14
; ARM: BL @simple_reg_params_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit-def $r0
15
15
; THUMB: tBL 14 /* CC::al */, $noreg, @simple_reg_params_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit-def $r0
16
16
; CHECK: [[RVREG:%[0-9]+]]:_(p0) = COPY $r0
17
- ; CHECK: ADJCALLSTACKUP 0, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
17
+ ; CHECK: ADJCALLSTACKUP 0, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
18
18
; CHECK: $r0 = COPY [[RVREG]]
19
19
; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $r0
20
20
; THUMB: tBX_RET 14 /* CC::al */, $noreg, implicit $r0
@@ -45,7 +45,7 @@ define arm_aapcscc i32* @test_call_simple_stack_params(i32 *%a, i32 %b) {
45
45
; ARM: BL @simple_stack_params_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit $r2, implicit $r3, implicit-def $r0
46
46
; THUMB: tBL 14 /* CC::al */, $noreg, @simple_stack_params_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit $r2, implicit $r3, implicit-def $r0
47
47
; CHECK: [[RVREG:%[0-9]+]]:_(p0) = COPY $r0
48
- ; CHECK: ADJCALLSTACKUP 8, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
48
+ ; CHECK: ADJCALLSTACKUP 8, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
49
49
; CHECK: $r0 = COPY [[RVREG]]
50
50
; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $r0
51
51
; THUMB: tBX_RET 14 /* CC::al */, $noreg, implicit $r0
@@ -103,7 +103,7 @@ define arm_aapcscc signext i16 @test_call_ext_params(i8 %a, i16 %b, i1 %c) {
103
103
; CHECK: [[R0VREG:%[0-9]+]]:_(s32) = COPY $r0
104
104
; CHECK: [[R0VREG_ASSERT:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[R0VREG]], 16
105
105
; CHECK: [[RVREG:%[0-9]+]]:_(s16) = G_TRUNC [[R0VREG_ASSERT]]
106
- ; CHECK: ADJCALLSTACKUP 20, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
106
+ ; CHECK: ADJCALLSTACKUP 20, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
107
107
; CHECK: [[RExtVREG:%[0-9]+]]:_(s32) = G_SEXT [[RVREG]]
108
108
; CHECK: $r0 = COPY [[RExtVREG]]
109
109
; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $r0
@@ -125,7 +125,7 @@ define arm_aapcs_vfpcc double @test_call_vfpcc_fp_params(double %a, float %b) {
125
125
; ARM: BL @vfpcc_fp_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit $d1, implicit-def $d0
126
126
; THUMB: tBL 14 /* CC::al */, $noreg, @vfpcc_fp_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit $d1, implicit-def $d0
127
127
; CHECK: [[RVREG:%[0-9]+]]:_(s64) = COPY $d0
128
- ; CHECK: ADJCALLSTACKUP 0, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
128
+ ; CHECK: ADJCALLSTACKUP 0, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
129
129
; CHECK: $d0 = COPY [[RVREG]]
130
130
; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $d0
131
131
; THUMB: tBX_RET 14 /* CC::al */, $noreg, implicit $d0
@@ -164,7 +164,7 @@ define arm_aapcscc double @test_call_aapcs_fp_params(double %a, float %b) {
164
164
; CHECK-DAG: [[R2:%[0-9]+]]:_(s32) = COPY $r1
165
165
; LITTLE: [[RVREG:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[R1]](s32), [[R2]](s32)
166
166
; BIG: [[RVREG:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[R2]](s32), [[R1]](s32)
167
- ; CHECK: ADJCALLSTACKUP 16, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
167
+ ; CHECK: ADJCALLSTACKUP 16, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
168
168
; CHECK: [[R1:%[0-9]+]]:_(s32), [[R2:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[RVREG]](s64)
169
169
; LITTLE-DAG: $r0 = COPY [[R1]]
170
170
; LITTLE-DAG: $r1 = COPY [[R2]]
@@ -187,7 +187,7 @@ define arm_aapcs_vfpcc float @test_call_different_call_conv(float %x) {
187
187
; ARM: BL @different_call_conv_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit-def $r0
188
188
; THUMB: tBL 14 /* CC::al */, $noreg, @different_call_conv_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit-def $r0
189
189
; CHECK: [[R:%[0-9]+]]:_(s32) = COPY $r0
190
- ; CHECK: ADJCALLSTACKUP 0, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
190
+ ; CHECK: ADJCALLSTACKUP 0, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
191
191
; CHECK: $s0 = COPY [[R]]
192
192
; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $s0
193
193
; THUMB: tBX_RET 14 /* CC::al */, $noreg, implicit $s0
@@ -211,7 +211,7 @@ define arm_aapcscc [3 x i32] @test_tiny_int_arrays([2 x i32] %arr) {
211
211
; CHECK: [[R0:%[0-9]+]]:_(s32) = COPY $r0
212
212
; CHECK: [[R1:%[0-9]+]]:_(s32) = COPY $r1
213
213
; CHECK: [[R2:%[0-9]+]]:_(s32) = COPY $r2
214
- ; CHECK: ADJCALLSTACKUP 0, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
214
+ ; CHECK: ADJCALLSTACKUP 0, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
215
215
; FIXME: This doesn't seem correct with regard to the AAPCS docs (which say
216
216
; that composite types larger than 4 bytes should be passed through memory),
217
217
; but it's what DAGISel does. We should fix it in the common code for both.
@@ -241,7 +241,7 @@ define arm_aapcscc void @test_multiple_int_arrays([2 x i32] %arr0, [2 x i32] %ar
241
241
; CHECK: $r3 = COPY [[R3]]
242
242
; ARM: BL @multiple_int_arrays_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit $r2, implicit $r3
243
243
; THUMB: tBL 14 /* CC::al */, $noreg, @multiple_int_arrays_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit $r2, implicit $r3
244
- ; CHECK: ADJCALLSTACKUP 0, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
244
+ ; CHECK: ADJCALLSTACKUP 0, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
245
245
; ARM: BX_RET 14 /* CC::al */, $noreg
246
246
; THUMB: tBX_RET 14 /* CC::al */, $noreg
247
247
entry:
@@ -284,7 +284,7 @@ define arm_aapcscc void @test_large_int_arrays([20 x i32] %arr) {
284
284
; CHECK: G_STORE [[LAST_STACK_ELEMENT]](s32), [[LAST_STACK_ARG_ADDR]]{{.*}}store (s32)
285
285
; ARM: BL @large_int_arrays_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit $r2, implicit $r3
286
286
; THUMB: tBL 14 /* CC::al */, $noreg, @large_int_arrays_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit $r2, implicit $r3
287
- ; CHECK: ADJCALLSTACKUP 64, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
287
+ ; CHECK: ADJCALLSTACKUP 64, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
288
288
; ARM: BX_RET 14 /* CC::al */, $noreg
289
289
; THUMB: tBX_RET 14 /* CC::al */, $noreg
290
290
entry:
@@ -328,7 +328,7 @@ define arm_aapcscc [2 x float] @test_fp_arrays_aapcs([3 x double] %arr) {
328
328
; THUMB: tBL 14 /* CC::al */, $noreg, @fp_arrays_aapcs_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit $r2, implicit $r3, implicit-def $r0, implicit-def $r1
329
329
; CHECK: [[R0:%[0-9]+]]:_(s32) = COPY $r0
330
330
; CHECK: [[R1:%[0-9]+]]:_(s32) = COPY $r1
331
- ; CHECK: ADJCALLSTACKUP 8, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
331
+ ; CHECK: ADJCALLSTACKUP 8, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
332
332
; CHECK: $r0 = COPY [[R0]]
333
333
; CHECK: $r1 = COPY [[R1]]
334
334
; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $r0, implicit $r1
@@ -391,7 +391,7 @@ define arm_aapcs_vfpcc [4 x float] @test_fp_arrays_aapcs_vfp([3 x double] %x, [3
391
391
; CHECK: [[R1:%[0-9]+]]:_(s32) = COPY $s1
392
392
; CHECK: [[R2:%[0-9]+]]:_(s32) = COPY $s2
393
393
; CHECK: [[R3:%[0-9]+]]:_(s32) = COPY $s3
394
- ; CHECK: ADJCALLSTACKUP 32, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
394
+ ; CHECK: ADJCALLSTACKUP 32, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
395
395
; CHECK: $s0 = COPY [[R0]]
396
396
; CHECK: $s1 = COPY [[R1]]
397
397
; CHECK: $s2 = COPY [[R2]]
@@ -440,7 +440,7 @@ define arm_aapcscc [2 x i32*] @test_tough_arrays([6 x [4 x i32]] %arr) {
440
440
; THUMB: tBL 14 /* CC::al */, $noreg, @tough_arrays_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit $r2, implicit $r3, implicit-def $r0, implicit-def $r1
441
441
; CHECK: [[R0:%[0-9]+]]:_(p0) = COPY $r0
442
442
; CHECK: [[R1:%[0-9]+]]:_(p0) = COPY $r1
443
- ; CHECK: ADJCALLSTACKUP 80, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
443
+ ; CHECK: ADJCALLSTACKUP 80, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
444
444
; CHECK: $r0 = COPY [[R0]]
445
445
; CHECK: $r1 = COPY [[R1]]
446
446
; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $r0, implicit $r1
@@ -464,7 +464,7 @@ define arm_aapcscc {i32, i32} @test_structs({i32, i32} %x) {
464
464
; THUMB: tBL 14 /* CC::al */, $noreg, @structs_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit-def $r0, implicit-def $r1
465
465
; CHECK: [[R0:%[0-9]+]]:_(s32) = COPY $r0
466
466
; CHECK: [[R1:%[0-9]+]]:_(s32) = COPY $r1
467
- ; CHECK: ADJCALLSTACKUP 0, 0 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
467
+ ; CHECK: ADJCALLSTACKUP 0, -1 , 14 /* CC::al */, $noreg, implicit-def $sp, implicit $sp
468
468
; CHECK: $r0 = COPY [[R0]](s32)
469
469
; CHECK: $r1 = COPY [[R1]](s32)
470
470
; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $r0, implicit $r1
0 commit comments