 // Passing struct: Int8, MyPoint x 10, MySize * 10
 // CHECK-LABEL: define hidden swiftcc double @_T08test_v7k0A4Ret5{{.*}}(%T8test_v7k7MyRect3V* noalias nocapture dereferenceable(328))
 // V7K-LABEL: __T08test_v7k0A4Ret5
-// V7K:  sub     sp, sp, #56
-// V7K:  ldrb    r1, [r0]
-// V7K:  strb    r1, [sp, #52]
-// V7K:  ldrsb   r1, [sp, #52]
-// V7K:  vmov    s0, r1
-// V7K:  vcvt.f64.s32    d16, s0
-// V7K:  ldr     r1, [r0, #8]
-// V7K:  str     r1, [sp, #24]
-// V7K:  ldr     r1, [r0, #12]
-// V7K:  str     r1, [sp, #28]
-// V7K:  ldr     r1, [r0, #16]
-// V7K:  str     r1, [sp, #32]
-// V7K:  ldr     r1, [r0, #20]
-// V7K:  str     r1, [sp, #36]
-// V7K:  ldr     r1, [sp, #24]
-// V7K:  str     r1, [sp, #40]
-// V7K:  ldr     r1, [sp, #28]
-// V7K:  str     r1, [sp, #44]
-// V7K:  vldr    d18, [sp, #40]
-// V7K:  vadd.f64        d16, d16, d18
-// V7K:  ldr     r1, [r0, #296]
-// V7K:  str     r1, [sp]
-// V7K:  ldr     r1, [r0, #300]
-// V7K:  str     r1, [sp, #4]
-// V7K:  ldr     r1, [r0, #304]
-// V7K:  str     r1, [sp, #8]
-// V7K:  ldr     r0, [r0, #308]
-// V7K:  str     r0, [sp, #12]
-// V7K:  ldr     r0, [sp]
-// V7K:  str     r0, [sp, #16]
-// V7K:  ldr     r0, [sp, #4]
-// V7K:  str     r0, [sp, #20]
-// V7K:  vldr    d18, [sp, #16]
-// V7K:  vadd.f64        d0, d16, d18
-// V7K:  add     sp, sp, #56
-// V7K:  bx      lr
+// V7K:   ldrb    r1, [r0]
+// V7K:   vldr    d16, [r0, #8]
+// V7K:   add     r0, r0, #296
+// V7K:   vldr    d18, [r0]
+// V7K:   sxtb    r0, r1
+// V7K:   vmov    s0, r0
+// V7K:   vcvt.f64.s32    d20, s0
+// V7K:   vadd.f64        d16, d20, d16
+// V7K:   vadd.f64        d0, d16, d18
+// V7K:   bx      lr
 
 struct MyRect3 {
   var t: Int8

// CHECK: ret float
// V7K-LABEL: __T08test_v7k0A3Opt
// V7K:         tst     r1, #1
// V7K:         str     r0, [r7, #-20]
// V7K:         ldr     r0, [r7, #-20]
// V7K:         vmov    s0, r0
// V7K:         sub     sp, r7, #16
// V7K:         pop     {r11}
// V7K:         pop      {r4, r5, r6, r7, pc}
func testOpt(x: Float?) -> Float {
  return x!
}


// REQUIRES: CPU=armv7k
// REQUIRES: OS=watchos

// CHECK-LABEL: define hidden swiftcc float @_T08test_v7k9addFloats{{.*}}(float, float)
// CHECK: fadd float %0, %1
