[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / cmp-bool.ll
blobcddff9799f12b63914d42b61de3daed5ccc0ea1f
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=aarch64 < %s | FileCheck %s
4 define void @bool_eq(i1 zeroext %a, i1 zeroext %b, ptr nocapture %c) nounwind {
5 ; CHECK-LABEL: bool_eq:
6 ; CHECK:       // %bb.0: // %entry
7 ; CHECK-NEXT:    cmp w0, w1
8 ; CHECK-NEXT:    b.eq .LBB0_2
9 ; CHECK-NEXT:  // %bb.1: // %if.end
10 ; CHECK-NEXT:    ret
11 ; CHECK-NEXT:  .LBB0_2: // %if.then
12 ; CHECK-NEXT:    br x2
13 entry:
14   %0 = xor i1 %a, %b
15   br i1 %0, label %if.end, label %if.then
17 if.then:
18   tail call void %c() #1
19   br label %if.end
21 if.end:
22   ret void
25 define void @bool_ne(i1 zeroext %a, i1 zeroext %b, ptr nocapture %c) nounwind {
26 ; CHECK-LABEL: bool_ne:
27 ; CHECK:       // %bb.0: // %entry
28 ; CHECK-NEXT:    cmp w0, w1
29 ; CHECK-NEXT:    b.eq .LBB1_2
30 ; CHECK-NEXT:  // %bb.1: // %if.then
31 ; CHECK-NEXT:    br x2
32 ; CHECK-NEXT:  .LBB1_2: // %if.end
33 ; CHECK-NEXT:    ret
34 entry:
35   %cmp = xor i1 %a, %b
36   br i1 %cmp, label %if.then, label %if.end
38 if.then:
39   tail call void %c() #1
40   br label %if.end
42 if.end:
43   ret void