@@ -14,7 +14,7 @@ define arm_aapcscc i32* @test_call_simple_reg_params(i32 *%a, i32 %b) {
1414; ARM: BL @simple_reg_params_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit-def $r0
1515; THUMB: tBL 14 /* CC::al */, $noreg, @simple_reg_params_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit-def $r0
1616; 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
1818; CHECK: $r0 = COPY [[RVREG]]
1919; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $r0
2020; 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) {
4545; ARM: BL @simple_stack_params_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit $r2, implicit $r3, implicit-def $r0
4646; 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
4747; 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
4949; CHECK: $r0 = COPY [[RVREG]]
5050; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $r0
5151; 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) {
103103; CHECK: [[R0VREG:%[0-9]+]]:_(s32) = COPY $r0
104104; CHECK: [[R0VREG_ASSERT:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[R0VREG]], 16
105105; 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
107107; CHECK: [[RExtVREG:%[0-9]+]]:_(s32) = G_SEXT [[RVREG]]
108108; CHECK: $r0 = COPY [[RExtVREG]]
109109; 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) {
125125; ARM: BL @vfpcc_fp_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit $d1, implicit-def $d0
126126; THUMB: tBL 14 /* CC::al */, $noreg, @vfpcc_fp_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $s0, implicit $d1, implicit-def $d0
127127; 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
129129; CHECK: $d0 = COPY [[RVREG]]
130130; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $d0
131131; 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) {
164164; CHECK-DAG: [[R2:%[0-9]+]]:_(s32) = COPY $r1
165165; LITTLE: [[RVREG:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[R1]](s32), [[R2]](s32)
166166; 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
168168; CHECK: [[R1:%[0-9]+]]:_(s32), [[R2:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[RVREG]](s64)
169169; LITTLE-DAG: $r0 = COPY [[R1]]
170170; LITTLE-DAG: $r1 = COPY [[R2]]
@@ -187,7 +187,7 @@ define arm_aapcs_vfpcc float @test_call_different_call_conv(float %x) {
187187; ARM: BL @different_call_conv_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit-def $r0
188188; THUMB: tBL 14 /* CC::al */, $noreg, @different_call_conv_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit-def $r0
189189; 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
191191; CHECK: $s0 = COPY [[R]]
192192; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $s0
193193; 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) {
211211; CHECK: [[R0:%[0-9]+]]:_(s32) = COPY $r0
212212; CHECK: [[R1:%[0-9]+]]:_(s32) = COPY $r1
213213; 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
215215; FIXME: This doesn't seem correct with regard to the AAPCS docs (which say
216216; that composite types larger than 4 bytes should be passed through memory),
217217; 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
241241; CHECK: $r3 = COPY [[R3]]
242242; ARM: BL @multiple_int_arrays_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit $r2, implicit $r3
243243; 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
245245; ARM: BX_RET 14 /* CC::al */, $noreg
246246; THUMB: tBX_RET 14 /* CC::al */, $noreg
247247entry:
@@ -284,7 +284,7 @@ define arm_aapcscc void @test_large_int_arrays([20 x i32] %arr) {
284284; CHECK: G_STORE [[LAST_STACK_ELEMENT]](s32), [[LAST_STACK_ARG_ADDR]]{{.*}}store (s32)
285285; ARM: BL @large_int_arrays_target, csr_aapcs, implicit-def $lr, implicit $sp, implicit $r0, implicit $r1, implicit $r2, implicit $r3
286286; 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
288288; ARM: BX_RET 14 /* CC::al */, $noreg
289289; THUMB: tBX_RET 14 /* CC::al */, $noreg
290290entry:
@@ -328,7 +328,7 @@ define arm_aapcscc [2 x float] @test_fp_arrays_aapcs([3 x double] %arr) {
328328; 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
329329; CHECK: [[R0:%[0-9]+]]:_(s32) = COPY $r0
330330; 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
332332; CHECK: $r0 = COPY [[R0]]
333333; CHECK: $r1 = COPY [[R1]]
334334; 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
391391; CHECK: [[R1:%[0-9]+]]:_(s32) = COPY $s1
392392; CHECK: [[R2:%[0-9]+]]:_(s32) = COPY $s2
393393; 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
395395; CHECK: $s0 = COPY [[R0]]
396396; CHECK: $s1 = COPY [[R1]]
397397; CHECK: $s2 = COPY [[R2]]
@@ -440,7 +440,7 @@ define arm_aapcscc [2 x i32*] @test_tough_arrays([6 x [4 x i32]] %arr) {
440440; 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
441441; CHECK: [[R0:%[0-9]+]]:_(p0) = COPY $r0
442442; 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
444444; CHECK: $r0 = COPY [[R0]]
445445; CHECK: $r1 = COPY [[R1]]
446446; 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) {
464464; 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
465465; CHECK: [[R0:%[0-9]+]]:_(s32) = COPY $r0
466466; 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
468468; CHECK: $r0 = COPY [[R0]](s32)
469469; CHECK: $r1 = COPY [[R1]](s32)
470470; ARM: BX_RET 14 /* CC::al */, $noreg, implicit $r0, implicit $r1
0 commit comments