1 ; RUN: opt -S -instcombine < %s | FileCheck %s
2 @b = internal global [1 x i32] zeroinitializer, align 4
3 @c = internal global i32 0, align 4
6 ; CHECK: [[ADD:%.*]] = add i32 %a, -1
7 ; CHECK-NEXT: [[AND:%.*]] = and i32 [[ADD]], sub (i32 0, i32 zext (i1 icmp eq (i32* getelementptr inbounds ([1 x i32]* @b, i64 0, i64 0), i32* @c) to i32))
8 ; CHECK-NEXT: ret i32 [[AND]]
9 define i32 @fn1(i32 %a) {
11 %mul = mul nsw i32 %xor, zext (i1 icmp eq (i32* getelementptr inbounds ([1 x i32]* @b, i64 0, i64 0), i32* @c) to i32)