xref: /aosp_15_r20/external/llvm/test/CodeGen/Mips/cprestore.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; DISABLE: llc -march=mipsel < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: false
3*9880d681SAndroid Build Coastguard Worker; XFAIL: *
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker; CHECK: .set macro
6*9880d681SAndroid Build Coastguard Worker; CHECK: .set at
7*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: .cprestore
8*9880d681SAndroid Build Coastguard Worker; CHECK: .set noat
9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: .set nomacro
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker%struct.S = type { [16384 x i32] }
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Workerdefine void @foo2() nounwind {
14*9880d681SAndroid Build Coastguard Workerentry:
15*9880d681SAndroid Build Coastguard Worker  %s = alloca %struct.S, align 4
16*9880d681SAndroid Build Coastguard Worker  call void @foo1(%struct.S* byval %s)
17*9880d681SAndroid Build Coastguard Worker  ret void
18*9880d681SAndroid Build Coastguard Worker}
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Workerdeclare void @foo1(%struct.S* byval)
21