| ; RUN: llvm-as < %s | opt -argpromotion -instcombine | not grep load | |
| %QuadTy = type {int, int, int, int} | |
| %G = constant %QuadTy {int 0, int 0, int 17, int 25 } | |
| implementation | |
| internal int %test(%QuadTy* %P) { | |
| %A = getelementptr %QuadTy* %P, long 0, ubyte 3 | |
| %B = getelementptr %QuadTy* %P, long 0, ubyte 2 | |
| %a = load int* %A | |
| %b = load int* %B | |
| %V = add int %a, %b | |
| ret int %V | |
| } | |
| int %caller() { | |
| %V = call int %test(%QuadTy* %G) | |
| ret int %V | |
| } |