xref: /llvm-project/llvm/test/CodeGen/ARM/2009-04-08-AggregateAddr.ll (revision bed1c7f061aa12417aa081e334afdba45767b938)
1; RUN: llc -mtriple=arm-eabi %s -o /dev/null
2; PR3795
3
4define fastcc void @_D3foo3fooFAriZv({ i32, ptr } %d_arg, i32 %x_arg) {
5entry:
6	%d = alloca { i32, ptr }		; <ptr> [#uses=2]
7	%x = alloca i32		; <ptr> [#uses=2]
8	%b = alloca { double, double }		; <ptr> [#uses=1]
9	store { i32, ptr } %d_arg, ptr %d
10	store i32 %x_arg, ptr %x
11	%tmp = load i32, ptr %x		; <i32> [#uses=1]
12	%tmp1 = getelementptr { i32, ptr }, ptr %d, i32 0, i32 1		; <ptr> [#uses=1]
13	%.ptr = load ptr, ptr %tmp1		; <ptr> [#uses=1]
14	%tmp2 = getelementptr { double, double }, ptr %.ptr, i32 %tmp		; <ptr> [#uses=1]
15	%tmp3 = load { double, double }, ptr %tmp2		; <{ double, double }> [#uses=1]
16	store { double, double } %tmp3, ptr %b
17	ret void
18}
19