blob: d1ca2bee39944728d1329ed4bcdd209713e07999 [file] [log] [blame]
Peter Collingbournefbb662f2013-01-16 17:27:22 +00001; RUN: %lli_mcjit %s > /dev/null
Danil Malyshevbb8cef52012-05-17 21:07:47 +00002
3define i32 @bar(i8* %X) {
4 ; pointer should be 4 byte aligned!
5 %P = alloca double ; <double*> [#uses=1]
6 %R = ptrtoint double* %P to i32 ; <i32> [#uses=1]
7 %A = and i32 %R, 3 ; <i32> [#uses=1]
8 ret i32 %A
9}
10
11define i32 @main() {
12 %SP = alloca i8 ; <i8*> [#uses=1]
13 %X = add i32 0, 0 ; <i32> [#uses=1]
14 alloca i8, i32 %X ; <i8*>:1 [#uses=0]
15 call i32 @bar( i8* %SP ) ; <i32>:2 [#uses=1]
16 ret i32 %2
17}