xref: /aosp_15_r20/external/llvm/test/CodeGen/Mips/cfi_offset.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips -mattr=+o32 < %s | FileCheck %s --check-prefixes=CHECK,CHECK-EB
2*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mipsel -mattr=+o32 < %s | FileCheck %s --check-prefixes=CHECK,CHECK-EL
3*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips -mattr=+o32,+fpxx < %s | FileCheck %s --check-prefixes=CHECK,CHECK-EB
4*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mipsel -mattr=+o32,+fpxx < %s | FileCheck %s --check-prefixes=CHECK,CHECK-EL
5*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips -mattr=+o32,+fp64 < %s | FileCheck %s --check-prefixes=CHECK,CHECK-EB
6*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mipsel -mattr=+o32,+fp64 < %s | FileCheck %s --check-prefixes=CHECK,CHECK-EL
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker@var = global double 0.0
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Workerdeclare void @foo(...)
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workerdefine void @bar() {
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL:  bar:
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Worker; CHECK:  .cfi_def_cfa_offset 40
17*9880d681SAndroid Build Coastguard Worker; CHECK:  sdc1  $f22, 32($sp)
18*9880d681SAndroid Build Coastguard Worker; CHECK:  sdc1  $f20, 24($sp)
19*9880d681SAndroid Build Coastguard Worker; CHECK:  sw  $ra, 20($sp)
20*9880d681SAndroid Build Coastguard Worker; CHECK:  sw  $16, 16($sp)
21*9880d681SAndroid Build Coastguard Worker
22*9880d681SAndroid Build Coastguard Worker; CHECK-EB:  .cfi_offset 55, -8
23*9880d681SAndroid Build Coastguard Worker; CHECK-EB:  .cfi_offset 54, -4
24*9880d681SAndroid Build Coastguard Worker; CHECK-EB:  .cfi_offset 53, -16
25*9880d681SAndroid Build Coastguard Worker; CHECK-EB:  .cfi_offset 52, -12
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Worker; CHECK-EL:  .cfi_offset 54, -8
28*9880d681SAndroid Build Coastguard Worker; CHECK-EL:  .cfi_offset 55, -4
29*9880d681SAndroid Build Coastguard Worker; CHECK-EL:  .cfi_offset 52, -16
30*9880d681SAndroid Build Coastguard Worker; CHECK-EL:  .cfi_offset 53, -12
31*9880d681SAndroid Build Coastguard Worker
32*9880d681SAndroid Build Coastguard Worker; CHECK:  .cfi_offset 31, -20
33*9880d681SAndroid Build Coastguard Worker; CHECK:  .cfi_offset 16, -24
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker    %val1 = load volatile double, double* @var
36*9880d681SAndroid Build Coastguard Worker    %val2 = load volatile double, double* @var
37*9880d681SAndroid Build Coastguard Worker    call void (...) @foo() nounwind
38*9880d681SAndroid Build Coastguard Worker    store volatile double %val1, double* @var
39*9880d681SAndroid Build Coastguard Worker    store volatile double %val2, double* @var
40*9880d681SAndroid Build Coastguard Worker    ret void
41*9880d681SAndroid Build Coastguard Worker}
42