blob: 617b485e0de0f2786512aa53a14ae32117bea40f [file] [log] [blame]
Roger Ferrer Ibanez2b6215f2019-08-07 12:43:07 +00001; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -mtriple=x86_64 < %s | FileCheck %s
3
Nikita Popov2f448bf2022-06-22 14:33:12 +02004define void @bool_eq(i1 zeroext %a, i1 zeroext %b, ptr nocapture %c) nounwind {
Roger Ferrer Ibanez2b6215f2019-08-07 12:43:07 +00005; CHECK-LABEL: bool_eq:
6; CHECK: # %bb.0: # %entry
7; CHECK-NEXT: xorl %esi, %edi
8; CHECK-NEXT: je .LBB0_2
9; CHECK-NEXT: # %bb.1: # %if.end
10; CHECK-NEXT: retq
11; CHECK-NEXT: .LBB0_2: # %if.then
12; CHECK-NEXT: jmpq *%rdx # TAILCALL
13entry:
14 %0 = xor i1 %a, %b
15 br i1 %0, label %if.end, label %if.then
16
17if.then:
18 tail call void %c() #1
19 br label %if.end
20
21if.end:
22 ret void
23}
24
Nikita Popov2f448bf2022-06-22 14:33:12 +020025define void @bool_ne(i1 zeroext %a, i1 zeroext %b, ptr nocapture %c) nounwind {
Roger Ferrer Ibanez2b6215f2019-08-07 12:43:07 +000026; CHECK-LABEL: bool_ne:
27; CHECK: # %bb.0: # %entry
Roger Ferrer Ibanez14bc5e12019-08-07 15:31:29 +000028; CHECK-NEXT: cmpb %sil, %dil
29; CHECK-NEXT: je .LBB1_1
Roger Ferrer Ibanez2b6215f2019-08-07 12:43:07 +000030; CHECK-NEXT: # %bb.2: # %if.then
31; CHECK-NEXT: jmpq *%rdx # TAILCALL
32; CHECK-NEXT: .LBB1_1: # %if.end
33; CHECK-NEXT: retq
34entry:
35 %cmp = xor i1 %a, %b
36 br i1 %cmp, label %if.then, label %if.end
37
38if.then:
39 tail call void %c() #1
40 br label %if.end
41
42if.end:
43 ret void
44}