xref: /aosp_15_r20/external/llvm/test/CodeGen/Mips/2008-07-03-SRet.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker%struct.sret0 = type { i32, i32, i32 }
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdefine void @test0(%struct.sret0* noalias sret %agg.result, i32 %dummy) nounwind {
6*9880d681SAndroid Build Coastguard Workerentry:
7*9880d681SAndroid Build Coastguard Worker; CHECK: sw ${{[0-9]+}}, {{[0-9]+}}($4)
8*9880d681SAndroid Build Coastguard Worker; CHECK: sw ${{[0-9]+}}, {{[0-9]+}}($4)
9*9880d681SAndroid Build Coastguard Worker; CHECK: sw ${{[0-9]+}}, {{[0-9]+}}($4)
10*9880d681SAndroid Build Coastguard Worker  getelementptr %struct.sret0, %struct.sret0* %agg.result, i32 0, i32 0    ; <i32*>:0 [#uses=1]
11*9880d681SAndroid Build Coastguard Worker  store i32 %dummy, i32* %0, align 4
12*9880d681SAndroid Build Coastguard Worker  getelementptr %struct.sret0, %struct.sret0* %agg.result, i32 0, i32 1    ; <i32*>:1 [#uses=1]
13*9880d681SAndroid Build Coastguard Worker  store i32 %dummy, i32* %1, align 4
14*9880d681SAndroid Build Coastguard Worker  getelementptr %struct.sret0, %struct.sret0* %agg.result, i32 0, i32 2    ; <i32*>:2 [#uses=1]
15*9880d681SAndroid Build Coastguard Worker  store i32 %dummy, i32* %2, align 4
16*9880d681SAndroid Build Coastguard Worker  ret void
17*9880d681SAndroid Build Coastguard Worker}
18*9880d681SAndroid Build Coastguard Worker
19