brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · c55d1ee Raw
81 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=sccp -S | FileCheck %s3 4define i1 @foo(i32 %t4, i32 %t10) {5; CHECK-LABEL: @foo(6; CHECK-NEXT:    [[T09:%.*]] = shl i32 [[T10:%.*]], 247; CHECK-NEXT:    [[T010:%.*]] = ashr exact i32 [[T09]], 248; CHECK-NEXT:    [[T011:%.*]] = add nsw i32 [[T010]], 9799; CHECK-NEXT:    [[T11:%.*]] = trunc i32 [[T4:%.*]] to i810; CHECK-NEXT:    [[T12:%.*]] = icmp eq i8 [[T11]], 011; CHECK-NEXT:    [[T14:%.*]] = zext i1 [[T12]] to i3212; CHECK-NEXT:    [[T15:%.*]] = shl i32 [[T4]], [[T14]]13; CHECK-NEXT:    [[T17:%.*]] = and i32 [[T15]], 25514; CHECK-NEXT:    ret i1 false15;16  %t09 = shl i32 %t10, 2417  %t010 = ashr exact i32 %t09, 2418  %t011 = add nsw i32 %t010, 97919  %t11 = trunc i32 %t4 to i820  %t12 = icmp eq i8 %t11, 021  %t14 = zext i1 %t12 to i3222  %t15 = shl i32 %t4, %t1423  %t17 = and i32 %t15, 25524  %t18 = icmp eq i32 %t011, %t1725  ret i1 %t1826}27 28define i1 @bar(i32 %t4, i32 %t10) {29; CHECK-LABEL: @bar(30; CHECK-NEXT:    [[T09:%.*]] = shl i32 [[T10:%.*]], 2431; CHECK-NEXT:    [[T010:%.*]] = ashr exact i32 [[T09]], 2432; CHECK-NEXT:    [[T011:%.*]] = add nsw i32 [[T010]], 97933; CHECK-NEXT:    [[T11:%.*]] = trunc i32 [[T4:%.*]] to i834; CHECK-NEXT:    [[T12:%.*]] = icmp eq i8 [[T11]], 035; CHECK-NEXT:    [[T14:%.*]] = zext i1 [[T12]] to i836; CHECK-NEXT:    [[T15:%.*]] = shl i8 [[T11]], [[T14]]37; CHECK-NEXT:    [[T17:%.*]] = zext i8 [[T15]] to i3238; CHECK-NEXT:    ret i1 false39;40  %t09 = shl i32 %t10, 2441  %t010 = ashr exact i32 %t09, 2442  %t011 = add nsw i32 %t010, 97943  %t11 = trunc i32 %t4 to i844  %t12 = icmp eq i8 %t11, 045  %t14 = zext i1 %t12 to i846  %t15 = shl i8 %t11, %t1447  %t17 = zext i8 %t15 to i3248  %t18 = icmp eq i32 %t011, %t1749  ret i1 %t1850}51 52define i1 @foobar(i32 %t4, i32 %t10) {53; CHECK-LABEL: @foobar(54; CHECK-NEXT:    [[T09:%.*]] = shl i32 [[T10:%.*]], 2455; CHECK-NEXT:    [[T010:%.*]] = ashr exact i32 [[T09]], 2456; CHECK-NEXT:    [[T011:%.*]] = add nsw i32 [[T010]], 97957; CHECK-NEXT:    [[T11:%.*]] = trunc i32 [[T4:%.*]] to i858; CHECK-NEXT:    [[T12:%.*]] = icmp eq i8 [[T11]], 059; CHECK-NEXT:    [[T13:%.*]] = zext i8 [[T11]] to i3260; CHECK-NEXT:    [[T14:%.*]] = select i1 [[T12]], i32 1, i32 061; CHECK-NEXT:    [[T15:%.*]] = shl nuw nsw i32 [[T13]], [[T14]]62; CHECK-NEXT:    [[T16:%.*]] = trunc i32 [[T15]] to i863; CHECK-NEXT:    [[T17:%.*]] = zext i8 [[T16]] to i3264; CHECK-NEXT:    ret i1 false65;66  %t09 = shl i32 %t10, 2467  %t010 = ashr exact i32 %t09, 2468  %t011 = add nsw i32 %t010, 97969 70  %t11 = trunc i32 %t4 to i871  %t12 = icmp eq i8 %t11, 072  %t13 = zext i8 %t11 to i3273  %t14 = select i1 %t12, i32 1, i32 074  %t15 = shl nuw nsw i32 %t13, %t1475  %t16 = trunc i32 %t15 to i876  %t17 = zext i8 %t16 to i3277 78  %t18 = icmp eq i32 %t011, %t1779  ret i1 %t1880}81