xref: /aosp_15_r20/external/llvm/test/CodeGen/PowerPC/ppc-prologue.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=powerpc-apple-darwin8 -disable-fp-elim | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerdefine i32 @_Z4funci(i32 %a) ssp {
4*9880d681SAndroid Build Coastguard Worker; CHECK:       mflr r0
5*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:  stw r31, -4(r1)
6*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:  stw r0, 8(r1)
7*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:  stwu r1, -80(r1)
8*9880d681SAndroid Build Coastguard Worker; CHECK:  mr r31, r1
9*9880d681SAndroid Build Coastguard Workerentry:
10*9880d681SAndroid Build Coastguard Worker  %a_addr = alloca i32                            ; <i32*> [#uses=2]
11*9880d681SAndroid Build Coastguard Worker  %retval = alloca i32                            ; <i32*> [#uses=2]
12*9880d681SAndroid Build Coastguard Worker  %0 = alloca i32                                 ; <i32*> [#uses=2]
13*9880d681SAndroid Build Coastguard Worker  %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
14*9880d681SAndroid Build Coastguard Worker  store i32 %a, i32* %a_addr
15*9880d681SAndroid Build Coastguard Worker  %1 = call i32 @_Z3barPi(i32* %a_addr)           ; <i32> [#uses=1]
16*9880d681SAndroid Build Coastguard Worker  store i32 %1, i32* %0, align 4
17*9880d681SAndroid Build Coastguard Worker  %2 = load i32, i32* %0, align 4                      ; <i32> [#uses=1]
18*9880d681SAndroid Build Coastguard Worker  store i32 %2, i32* %retval, align 4
19*9880d681SAndroid Build Coastguard Worker  br label %return
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Workerreturn:                                           ; preds = %entry
22*9880d681SAndroid Build Coastguard Worker  %retval1 = load i32, i32* %retval                    ; <i32> [#uses=1]
23*9880d681SAndroid Build Coastguard Worker  ret i32 %retval1
24*9880d681SAndroid Build Coastguard Worker}
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Workerdeclare i32 @_Z3barPi(i32*)
27