and-compare.ll 504 B

123456789101112131415
  1. ; RUN: opt < %s -instcombine -S | \
  2. ; RUN: FileCheck %s
  3. ; Should be optimized to one and.
  4. define i1 @test1(i32 %a, i32 %b) {
  5. ; CHECK-LABEL: @test1(
  6. ; CHECK-NEXT: %1 = xor i32 %a, %b
  7. ; CHECK-NEXT: %2 = and i32 %1, 65280
  8. ; CHECK-NEXT: %tmp = icmp ne i32 %2, 0
  9. ; CHECK-NEXT: ret i1 %tmp
  10. %tmp1 = and i32 %a, 65280 ; <i32> [#uses=1]
  11. %tmp3 = and i32 %b, 65280 ; <i32> [#uses=1]
  12. %tmp = icmp ne i32 %tmp1, %tmp3 ; <i1> [#uses=1]
  13. ret i1 %tmp
  14. }