80e19ba19320e1115d5941bd9155b25f5cfb6c81
[oota-llvm.git] / test / ExecutionEngine / 2003-01-15-AlignmentTest.ll
1 ; RUN: %lli %s > /dev/null
2 ; XFAIL: arm
3
4 define i32 @bar(i8* %X) {
5         ; pointer should be 4 byte aligned!
6         %P = alloca double              ; <double*> [#uses=1]
7         %R = ptrtoint double* %P to i32         ; <i32> [#uses=1]
8         %A = and i32 %R, 3              ; <i32> [#uses=1]
9         ret i32 %A
10 }
11
12 define i32 @main() {
13         %SP = alloca i8         ; <i8*> [#uses=1]
14         %X = add i32 0, 0               ; <i32> [#uses=1]
15         alloca i8, i32 %X               ; <i8*>:1 [#uses=0]
16         call i32 @bar( i8* %SP )                ; <i32>:2 [#uses=1]
17         ret i32 %2
18 }