brintos

brintos / llvm-project-archived public Read only

0
0
Text · 954 B · fa7c542 Raw
41 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt < %s -passes=instcombine -S | FileCheck %s3 4define i1 @foo1(i1 %a, i1 %b) {5; CHECK-LABEL: define i1 @foo1(6; CHECK-SAME: i1 [[A:%.*]], i1 [[B:%.*]]) {7; CHECK-NEXT:    [[R:%.*]] = xor i1 [[B]], [[A]]8; CHECK-NEXT:    ret i1 [[R]]9;10  %r = sub i1 %a, %b11  ret i1 %r12}13 14define i1 @foo2(i1 %a, i1 %b) {15; CHECK-LABEL: define i1 @foo2(16; CHECK-SAME: i1 [[A:%.*]], i1 [[B:%.*]]) {17; CHECK-NEXT:    [[R:%.*]] = and i1 [[A]], [[B]]18; CHECK-NEXT:    ret i1 [[R]]19;20  %r = mul i1 %a, %b21  ret i1 %r22}23 24define i1 @foo3(i1 %a, i1 %b) {25; CHECK-LABEL: define i1 @foo3(26; CHECK-SAME: i1 [[A:%.*]], i1 [[B:%.*]]) {27; CHECK-NEXT:    ret i1 [[A]]28;29  %r = udiv i1 %a, %b30  ret i1 %r31}32 33define i1 @foo4(i1 %a, i1 %b) {34; CHECK-LABEL: define i1 @foo4(35; CHECK-SAME: i1 [[A:%.*]], i1 [[B:%.*]]) {36; CHECK-NEXT:    ret i1 [[A]]37;38  %r = sdiv i1 %a, %b39  ret i1 %r40}41