xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/2014-02-05-vfp-regs-after-stack.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -o - -filetype=asm | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S64"
4*9880d681SAndroid Build Coastguard Workertarget triple = "armv8-none--eabi"
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: fn1:
7*9880d681SAndroid Build Coastguard Workerdefine arm_aapcs_vfpcc float @fn1(double %a, double %b, double %c, double %d, double %e, double %f, double %g, float %h, double %i, float %j) {
8*9880d681SAndroid Build Coastguard Worker  ret float %j
9*9880d681SAndroid Build Coastguard Worker; CHECK: vldr    s0, [sp, #8]
10*9880d681SAndroid Build Coastguard Worker}
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: fn2:
13*9880d681SAndroid Build Coastguard Workerdefine arm_aapcs_vfpcc float @fn2(double %a, double %b, double %c, double %d, double %e, double %f, float %h, <4 x float> %i, float %j) {
14*9880d681SAndroid Build Coastguard Worker  ret float %j
15*9880d681SAndroid Build Coastguard Worker; CHECK: vldr    s0, [sp, #16]
16*9880d681SAndroid Build Coastguard Worker}
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: fn3:
19*9880d681SAndroid Build Coastguard Workerdefine arm_aapcs_vfpcc float @fn3(float %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h, double %i, float %j) #0 {
20*9880d681SAndroid Build Coastguard Worker  ret float %j
21*9880d681SAndroid Build Coastguard Worker; CHECK: vldr    s0, [sp, #8]
22*9880d681SAndroid Build Coastguard Worker}
23