11; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2- ; RUN: opt < %s -passes='instcombine<no-verify-fixpoint >' -S | FileCheck %s
2+ ; RUN: opt < %s -passes='instcombine<max-iterations=5 >' -S | FileCheck %s
33
44; This is a fuzzer-generated test that would assert because
55; we'd get into foldAndOfICmps() without running InstSimplify
@@ -14,27 +14,17 @@ define void @simplify_before_foldAndOfICmps(ptr %p, ptr %A8) {
1414; CHECK-NEXT: [[TMP2:%.*]] = zext i1 [[TMP1]] to i64
1515; CHECK-NEXT: [[G4:%.*]] = getelementptr i16, ptr [[A8]], i64 [[TMP2]]
1616; CHECK-NEXT: [[L2:%.*]] = load i16, ptr [[G4]], align 2
17- ; CHECK-NEXT: [[L4:%.*]] = load i16, ptr [[A8]], align 2
18- ; CHECK-NEXT: [[B21:%.*]] = sdiv i16 [[L7]], [[L4]]
19- ; CHECK-NEXT: [[TMP5:%.*]] = select i1 [[TMP1]], i16 [[B21]], i16 0
20- ; CHECK-NEXT: [[B18:%.*]] = sub i16 0, [[TMP5]]
2117; CHECK-NEXT: [[C11:%.*]] = icmp ugt i16 [[L2]], [[B11]]
2218; CHECK-NEXT: [[B20:%.*]] = and i16 [[L7]], [[L2]]
23- ; CHECK-NEXT: [[C5:%.*]] = icmp sgt i16 [[B21]], [[L2]]
24- ; CHECK-NEXT: [[C12:%.*]] = icmp ule i16 [[B21]], [[L2]]
19+ ; CHECK-NEXT: [[C5:%.*]] = icmp slt i16 [[L2]], 1
2520; CHECK-NEXT: [[C10:%.*]] = icmp slt i16 [[B20]], 0
26- ; CHECK-NEXT: [[B29:%.*]] = srem i16 [[L4]], [[B18]]
27- ; CHECK-NEXT: [[B15:%.*]] = xor i1 [[C10]], [[C11]]
28- ; CHECK-NEXT: [[TMP6:%.*]] = and i1 [[C12]], [[B15]]
29- ; CHECK-NEXT: [[C6:%.*]] = xor i1 [[TMP6]], true
30- ; CHECK-NEXT: [[B33:%.*]] = or i16 [[B29]], [[L4]]
31- ; CHECK-NEXT: [[C3:%.*]] = and i1 [[C5]], [[C6]]
21+ ; CHECK-NEXT: [[C3:%.*]] = and i1 [[C5]], [[C10]]
3222; CHECK-NEXT: [[C4:%.*]] = and i1 [[C3]], [[C11]]
3323; CHECK-NEXT: [[TMP4:%.*]] = xor i1 [[C11]], true
3424; CHECK-NEXT: [[C18:%.*]] = or i1 [[C10]], [[TMP4]]
3525; CHECK-NEXT: [[TMP3:%.*]] = sext i1 [[C4]] to i64
3626; CHECK-NEXT: [[G26:%.*]] = getelementptr i1, ptr null, i64 [[TMP3]]
37- ; CHECK-NEXT: store i16 [[B33 ]], ptr [[P:%.*]], align 2
27+ ; CHECK-NEXT: store i16 [[L7 ]], ptr [[P:%.*]], align 2
3828; CHECK-NEXT: store i1 [[C18]], ptr [[P]], align 1
3929; CHECK-NEXT: store ptr [[G26]], ptr [[P]], align 8
4030; CHECK-NEXT: ret void
0 commit comments