xref: /aosp_15_r20/external/llvm/test/CodeGen/PowerPC/byval-agg-info.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -print-after=prologepilog >%t 2>&1 && FileCheck <%t %s
2*9880d681SAndroid Build Coastguard Workertarget datalayout = "E-m:e-i64:64-n32:64"
3*9880d681SAndroid Build Coastguard Workertarget triple = "powerpc64-unknown-linux-gnu"
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker%struct.anon = type { i32, i32 }
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workerdeclare void @foo(%struct.anon* %v)
8*9880d681SAndroid Build Coastguard Workerdefine void @test(i32 %a, i32 %b, %struct.anon* byval nocapture %v) {
9*9880d681SAndroid Build Coastguard Workerentry:
10*9880d681SAndroid Build Coastguard Worker  call void @foo(%struct.anon* %v)
11*9880d681SAndroid Build Coastguard Worker  ret void
12*9880d681SAndroid Build Coastguard Worker}
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker; Make sure that the MMO on the store has no offset from the byval
15*9880d681SAndroid Build Coastguard Worker; variable itself (we used to have mem:ST8[%v+64]).
16*9880d681SAndroid Build Coastguard Worker; CHECK: STD %X5<kill>, 176, %X1; mem:ST8[%v](align=16)
17*9880d681SAndroid Build Coastguard Worker
18