1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4 2; RUN: llc -mtriple=arm-eabi -mattr=+neon -float-abi=soft %s -o - | FileCheck %s 3 4; CHECK: function1 5define double @function1(double %a, double %b, double %c, double %d, double %e, double %f) nounwind noinline ssp { 6; CHECK-LABEL: function1: 7; CHECK: @ %bb.0: @ %entry 8; CHECK-NEXT: .save {r4, r5, r11, lr} 9; CHECK-NEXT: push {r4, r5, r11, lr} 10; CHECK-NEXT: vldr d16, [sp, #40] 11; CHECK-NEXT: vldr d17, [sp, #32] 12; CHECK-NEXT: vmov r12, lr, d16 13; CHECK-NEXT: vldr d16, [sp, #16] 14; CHECK-NEXT: vmov r4, r5, d17 15; CHECK-NEXT: vldr d17, [sp, #24] 16; CHECK-NEXT: str r3, [sp, #36] 17; CHECK-NEXT: str r2, [sp, #32] 18; CHECK-NEXT: str r1, [sp, #44] 19; CHECK-NEXT: str r0, [sp, #40] 20; CHECK-NEXT: vstr d17, [sp, #16] 21; CHECK-NEXT: vstr d16, [sp, #24] 22; CHECK-NEXT: mov r0, r12 23; CHECK-NEXT: mov r1, lr 24; CHECK-NEXT: mov r2, r4 25; CHECK-NEXT: mov r3, r5 26; CHECK-NEXT: pop {r4, r5, r11, lr} 27; CHECK-NEXT: b function2 28entry: 29 %call = tail call double @function2(double %f, double %e, double %d, double %c, double %b, double %a) nounwind 30 ret double %call 31} 32 33declare double @function2(double, double, double, double, double, double) 34