[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / SystemZ / int-cmp-54.ll
blob6e157959a19c26a8cb9948518148a4cbc1775280
1 ; Check that custom handling of SETCC does not crash
3 ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13
5 @g_39 = external global [4 x i8], align 2
6 @g_2166 = external global <{ i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32 }>, align 8
8 ; Function Attrs: nounwind
9 define void @main() local_unnamed_addr #0 {
10   %1 = load volatile i88, i88* bitcast (<{ i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32 }>* @g_2166 to i88*), align 8
11   %2 = lshr i88 %1, 87
12   %3 = trunc i88 %2 to i64
13   %4 = icmp sgt i64 %3, 9293
14   %5 = zext i1 %4 to i32
15   %6 = lshr i32 %5, 0
16   %7 = shl i32 %6, 6
17   %8 = trunc i32 %7 to i8
18   store i8 %8, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @g_39, i64 0, i64 1), align 1
19   unreachable