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