Skip to content

Commit a85c025

Browse files
authored
Merge pull request #9828 from aschwaighofer/fix_irgen_test_abi_v7k_and_reenable
2 parents 8501af3 + 8425ed7 commit a85c025

File tree

1 file changed

+15
-42
lines changed

1 file changed

+15
-42
lines changed

test/IRGen/abi_v7k.swift

Lines changed: 15 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
// REQUIRES: CPU=armv7k
55
// REQUIRES: OS=watchos
6-
// REQUIRES: rdar_32317328
76

87
// CHECK-LABEL: define hidden swiftcc float @_T08test_v7k9addFloats{{.*}}(float, float)
98
// CHECK: fadd float %0, %1
@@ -204,12 +203,12 @@ func testMultiP(x: MultiPayload) -> Double {
204203
// CHECK: ret float
205204
// V7K-LABEL: __T08test_v7k0A3Opt
206205
// V7K: tst r1, #1
207-
// V7K: str r0, [r7, #-20]
208-
// V7K: ldr r0, [r7, #-20]
206+
// V7K: str r0, [r7, [[SLOT:#-[0-9]+]]
207+
// V7K: ldr r0, [r7, [[SLOT]]
209208
// V7K: vmov s0, r0
210-
// V7K: sub sp, r7, #16
211-
// V7K: pop {r11}
212-
// V7K: pop {r4, r5, r6, r7, pc}
209+
// V7K: vstr s0, [r7, [[SLOT2:#-[0-9]+]]
210+
// V7K: vldr s0, [r7, [[SLOT2]]
211+
// V7K: pop {{{.*}}, pc}
213212
func testOpt(x: Float?) -> Float {
214213
return x!
215214
}
@@ -339,42 +338,16 @@ func minMax3(x : Int, y : Int) -> Ret? {
339338
// Passing struct: Int8, MyPoint x 10, MySize * 10
340339
// CHECK-LABEL: define hidden swiftcc double @_T08test_v7k0A4Ret5{{.*}}(%T8test_v7k7MyRect3V* noalias nocapture dereferenceable(328))
341340
// V7K-LABEL: __T08test_v7k0A4Ret5
342-
// V7K: sub sp, sp, #56
343-
// V7K: ldrb r1, [r0]
344-
// V7K: strb r1, [sp, #52]
345-
// V7K: ldrsb r1, [sp, #52]
346-
// V7K: vmov s0, r1
347-
// V7K: vcvt.f64.s32 d16, s0
348-
// V7K: ldr r1, [r0, #8]
349-
// V7K: str r1, [sp, #24]
350-
// V7K: ldr r1, [r0, #12]
351-
// V7K: str r1, [sp, #28]
352-
// V7K: ldr r1, [r0, #16]
353-
// V7K: str r1, [sp, #32]
354-
// V7K: ldr r1, [r0, #20]
355-
// V7K: str r1, [sp, #36]
356-
// V7K: ldr r1, [sp, #24]
357-
// V7K: str r1, [sp, #40]
358-
// V7K: ldr r1, [sp, #28]
359-
// V7K: str r1, [sp, #44]
360-
// V7K: vldr d18, [sp, #40]
361-
// V7K: vadd.f64 d16, d16, d18
362-
// V7K: ldr r1, [r0, #296]
363-
// V7K: str r1, [sp]
364-
// V7K: ldr r1, [r0, #300]
365-
// V7K: str r1, [sp, #4]
366-
// V7K: ldr r1, [r0, #304]
367-
// V7K: str r1, [sp, #8]
368-
// V7K: ldr r0, [r0, #308]
369-
// V7K: str r0, [sp, #12]
370-
// V7K: ldr r0, [sp]
371-
// V7K: str r0, [sp, #16]
372-
// V7K: ldr r0, [sp, #4]
373-
// V7K: str r0, [sp, #20]
374-
// V7K: vldr d18, [sp, #16]
375-
// V7K: vadd.f64 d0, d16, d18
376-
// V7K: add sp, sp, #56
377-
// V7K: bx lr
341+
// V7K: ldrb r1, [r0]
342+
// V7K: vldr d16, [r0, #8]
343+
// V7K: add r0, r0, #296
344+
// V7K: vldr d18, [r0]
345+
// V7K: sxtb r0, r1
346+
// V7K: vmov s0, r0
347+
// V7K: vcvt.f64.s32 d20, s0
348+
// V7K: vadd.f64 d16, d20, d16
349+
// V7K: vadd.f64 d0, d16, d18
350+
// V7K: bx lr
378351

379352
struct MyRect3 {
380353
var t: Int8

0 commit comments

Comments
 (0)