This should always be signed chars, so use int8_t. This fixes a miscompile when
[llvm/stm8.git] / test / CodeGen / X86 / 2008-10-11-CallCrash.ll
blobefc6125cfc2d7b0f56534c033f87ddf0b24d24f7
1 ; RUN: llc < %s
2 ; PR2735
3 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
4 target triple = "i386-apple-darwin7"
5 @g_385 = external global i32            ; <i32*> [#uses=1]
7 define i32 @func_45(i64 %p_46, i32 %p_48) nounwind {
8 entry:
9         %0 = tail call i32 (...)* @lshift_s_u(i64 %p_46, i64 0) nounwind                ; <i32> [#uses=0]
10         %1 = load i32* @g_385, align 4          ; <i32> [#uses=1]
11         %2 = shl i32 %1, 1              ; <i32> [#uses=1]
12         %3 = and i32 %2, 32             ; <i32> [#uses=1]
13         %4 = tail call i32 (...)* @func_87(i32 undef, i32 %p_48, i32 1) nounwind                ; <i32> [#uses=1]
14         %5 = add i32 %3, %4             ; <i32> [#uses=1]
15         %6 = tail call i32 (...)* @div_rhs(i32 %5) nounwind             ; <i32> [#uses=0]
16         ret i32 undef
19 declare i32 @lshift_s_u(...)
20 declare i32 @func_87(...)
21 declare i32 @div_rhs(...)