brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 148da05 Raw
34 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 42; RUN: opt -S -passes=instcombine < %s | FileCheck %s3 4define i64 @pr80597(i1 %cond) {5; CHECK-LABEL: define i64 @pr80597(6; CHECK-SAME: i1 [[COND:%.*]]) {7; CHECK-NEXT:  entry:8; CHECK-NEXT:    [[ADD:%.*]] = select i1 [[COND]], i64 0, i64 -128849018889; CHECK-NEXT:    [[SEXT1:%.*]] = add nsw i64 [[ADD]], 883683951438410547210; CHECK-NEXT:    [[CMP:%.*]] = icmp ult i64 [[SEXT1]], -3435973836811; CHECK-NEXT:    br i1 [[CMP]], label [[IF_THEN:%.*]], label [[IF_ELSE:%.*]]12; CHECK:       if.else:13; CHECK-NEXT:    [[SEXT2:%.*]] = ashr exact i64 [[ADD]], 114; CHECK-NEXT:    [[ASHR:%.*]] = or disjoint i64 [[SEXT2]], 441841976148702003215; CHECK-NEXT:    ret i64 [[ASHR]]16; CHECK:       if.then:17; CHECK-NEXT:    ret i64 018;19entry:20  %add = select i1 %cond, i64 0, i64 429496729321  %add8 = shl i64 %add, 3222  %sext1 = add i64 %add8, 883683951438410547223  %cmp = icmp ult i64 %sext1, -3435973836824  br i1 %cmp, label %if.then, label %if.else25 26if.else:27  %sext2 = or i64 %add8, 883683952297404006428  %ashr = ashr i64 %sext2, 129  ret i64 %ashr30 31if.then:32  ret i64 033}34