Skip to content

Commit 7c71740

Browse files
committed
[Test] Fix IRGen/abi_v7k.swift
rdar://162406964 Code gen changed after LLVM rebranch. This is adjusting the tests to reflect those changes.
1 parent 89b31cf commit 7c71740

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

test/IRGen/abi_v7k.swift

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@ func addFDF(x: Float, y: Double, z: Float) -> Float {
3838
// CHECK: fadd double
3939
// CHECK: ret double
4040
// V7K-LABEL: _$s8test_v7k8addStack
41+
// V7K: mov r7, sp
4142
// V7K: sub sp, #72
42-
// V7K: vldr d16, [sp, #72]
43+
// V7K: vldr d16, [r7, #8]
4344
// V7K: vadd.f64 d0, d6, d16
4445
// a is assigned to d6, c is passed via stack
4546
func addStack(d0: Double, d1: Double, d2: Double, d3: Double, d4: Double,
@@ -50,8 +51,9 @@ func addStack(d0: Double, d1: Double, d2: Double, d3: Double, d4: Double,
5051
// CHECK-LABEL: define hidden swiftcc float @"$s8test_v7k9addStack{{.*}}"(double %0, double %1, double %2, double %3, double %4, double %5, double %6, float %7, double %8, float %9)
5152
// CHECK: fadd float
5253
// V7K-LABEL: _$s8test_v7k9addStack
54+
// V7K: mov r7, sp
5355
// V7K: sub sp, #80
54-
// V7K: vldr s0, [sp, #88]
56+
// V7K: vldr s0, [r7, #16]
5557
// V7K: vadd.f32 s0, s14, s0
5658
// a is assigned to s14, b is via stack, c is via stack since it can't be back-filled to s15
5759
func addStack2(d0: Double, d1: Double, d2: Double, d3: Double, d4: Double,
@@ -81,11 +83,12 @@ func testSingle(x: SingleCase) -> Int32{
8183
// CHECK-LABEL: define hidden swiftcc double @"$s8test_v7k0A4Data{{.*}}"(i32 %0, double %1)
8284
// CHECK: ret double
8385
// V7K-LABEL: _$s8test_v7k0A4Data
86+
// V7K: push {r7, lr}
8487
// V7K: vstr d0, [sp, #16]
8588
// V7K: vldr d16, [sp, #16]
8689
// V7K: vstr d16, [sp, #8]
8790
// V7K: vldr d0, [sp, #8]
88-
// V7K: bx lr
91+
// V7K: pop {r7, pc}
8992
enum DataCase { case Y(Int, Double) }
9093
func testData(x: DataCase) -> Double {
9194
switch x {
@@ -184,6 +187,7 @@ func testSingleP(x: SinglePayload) -> Double {
184187
// CHECK: phi double [ 0.000000e+00, {{.*}} ]
185188
// CHECK: ret double
186189
// V7K-LABEL: _$s8test_v7k0A6MultiP
190+
// V7K: push {r7, lr}
187191
// V7K: ldr r0, [sp, #24]
188192
// V7K: ldr r1, [sp, #28]
189193
// V7K: vmov d16, r0, r1
@@ -192,7 +196,7 @@ func testSingleP(x: SinglePayload) -> Double {
192196
// V7K: vstr d16, [sp]
193197
// V7K: vldr d0, [sp]
194198
// V7K: add sp, #{{[0-9]+}}
195-
// V7K: bx lr
199+
// V7K: pop {r7, pc}
196200
// Backend will assign r0, r1 and r2 for input parameters and d0 for return values.
197201
class Bignum {}
198202
enum MultiPayload {

0 commit comments

Comments
 (0)