54 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s3 4; rdar://120810075 6define i32 @and_1(i8 zeroext %a, i8 zeroext %b, i32 %x) {7; CHECK-LABEL: and_1:8; CHECK: # %bb.0:9; CHECK-NEXT: movl %edi, %eax10; CHECK-NEXT: andl %esi, %eax11; CHECK-NEXT: cmovnel %edx, %eax12; CHECK-NEXT: retq13 %1 = and i8 %b, %a14 %2 = icmp ne i8 %1, 015 %3 = select i1 %2, i32 %x, i32 016 ret i32 %317}18 19define zeroext i1 @and_2(i8 zeroext %a, i8 zeroext %b) {20; CHECK-LABEL: and_2:21; CHECK: # %bb.0:22; CHECK-NEXT: testl %edi, %esi23; CHECK-NEXT: setne %al24; CHECK-NEXT: retq25 %1 = and i8 %b, %a26 %2 = icmp ne i8 %1, 027 ret i1 %228}29 30define i32 @xor_1(i8 zeroext %a, i8 zeroext %b, i32 %x) {31; CHECK-LABEL: xor_1:32; CHECK: # %bb.0:33; CHECK-NEXT: xorl %eax, %eax34; CHECK-NEXT: xorl %esi, %edi35; CHECK-NEXT: cmovnel %edx, %eax36; CHECK-NEXT: retq37 %1 = xor i8 %b, %a38 %2 = icmp ne i8 %1, 039 %3 = select i1 %2, i32 %x, i32 040 ret i32 %341}42 43define zeroext i1 @xor_2(i8 zeroext %a, i8 zeroext %b) {44; CHECK-LABEL: xor_2:45; CHECK: # %bb.0:46; CHECK-NEXT: xorl %esi, %edi47; CHECK-NEXT: setne %al48; CHECK-NEXT: retq49 %1 = xor i8 %b, %a50 %2 = icmp ne i8 %1, 051 ret i1 %252}53 54