-; RUN: llvm-as -f %s -o - | llc
+; RUN: llc < %s
+@.str_1 = internal constant [42 x i8] c" ui = %u (0x%x)\09\09UL-ui = %lld (0x%llx)\0A\00" ; <[42 x i8]*> [#uses=1]
-%.str_1 = internal constant [42 x sbyte] c" ui = %u (0x%x)\09\09UL-ui = %lld (0x%llx)\0A\00"
+declare i32 @printf(i8*, ...)
-implementation ; Functions:
-
-declare int %printf(sbyte*, ...)
-
-internal ulong %getL() {
-entry: ; No predecessors!
- ret ulong 12659530247033960611
+define internal i64 @getL() {
+entry:
+ ret i64 -5787213826675591005
}
-int %main(int %argc.1, sbyte** %argv.1) {
-entry: ; No predecessors!
- %tmp.11 = call ulong %getL( )
- %tmp.5 = cast ulong %tmp.11 to uint
- %tmp.23 = and ulong %tmp.11, 18446744069414584320
- %tmp.16 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([42 x sbyte]* %.str_1, long 0, long 0), uint %tmp.5, uint %tmp.5, ulong %tmp.23, ulong %tmp.23 )
- ret int 0
+define i32 @main(i32 %argc.1, i8** %argv.1) {
+entry:
+ %tmp.11 = call i64 @getL( ) ; <i64> [#uses=2]
+ %tmp.5 = trunc i64 %tmp.11 to i32 ; <i32> [#uses=2]
+ %tmp.23 = and i64 %tmp.11, -4294967296 ; <i64> [#uses=2]
+ %tmp.16 = call i32 (i8*, ...)* @printf( i8* getelementptr ([42 x i8]* @.str_1, i64 0, i64 0), i32 %tmp.5, i32 %tmp.5, i64 %tmp.23, i64 %tmp.23 ) ; <i32> [#uses=0]
+ ret i32 0
}
+