This should always be signed chars, so use int8_t. This fixes a miscompile when
[llvm/stm8.git] / test / CodeGen / X86 / 2009-03-25-TestBug.ll
blobf40fddc5a36d0b4f84bf4329fef86a43381046b6
1 ; RUN: llc < %s -march=x86 -o %t
2 ; RUN: not grep and %t
3 ; RUN: not grep shr %t
4 ; rdar://6661955
6 @hello = internal constant [7 x i8] c"hello\0A\00"
7 @world = internal constant [7 x i8] c"world\0A\00"
9 define void @func(i32* %b) nounwind {
10 bb1579.i.i:             ; preds = %bb1514.i.i, %bb191.i.i
11         %tmp176 = load i32* %b, align 4
12         %tmp177 = and i32 %tmp176, 2
13         %tmp178 = icmp eq i32 %tmp177, 0
14         br i1 %tmp178, label %hello, label %world
16 hello:
17         %h = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([7 x i8]* @hello, i32 0, i32 0))
18         ret void
20 world:
21         %w = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([7 x i8]* @world, i32 0, i32 0))
22         ret void
25 declare i32 @printf(i8*, ...) nounwind