1*9880d681SAndroid Build Coastguard Worker; RUN: llc -fast-isel -fast-isel-abort=1 -aarch64-atomic-cfg-tidy=0 -verify-machineinstrs -mtriple=aarch64-apple-darwin < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_eq_i1(i1 %a) { 4*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_eq_i1 5*9880d681SAndroid Build Coastguard Worker; CHECK: tbz w0, #0, {{LBB.+_2}} 6*9880d681SAndroid Build Coastguard Worker %1 = icmp eq i1 %a, 0 7*9880d681SAndroid Build Coastguard Worker br i1 %1, label %bb1, label %bb2 8*9880d681SAndroid Build Coastguard Workerbb2: 9*9880d681SAndroid Build Coastguard Worker ret i32 1 10*9880d681SAndroid Build Coastguard Workerbb1: 11*9880d681SAndroid Build Coastguard Worker ret i32 0 12*9880d681SAndroid Build Coastguard Worker} 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_eq_i8(i8 %a) { 15*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_eq_i8 16*9880d681SAndroid Build Coastguard Worker; CHECK: uxtb [[REG:w[0-9]+]], w0 17*9880d681SAndroid Build Coastguard Worker; CHECK: cbz [[REG]], {{LBB.+_2}} 18*9880d681SAndroid Build Coastguard Worker %1 = icmp eq i8 %a, 0 19*9880d681SAndroid Build Coastguard Worker br i1 %1, label %bb1, label %bb2 20*9880d681SAndroid Build Coastguard Workerbb2: 21*9880d681SAndroid Build Coastguard Worker ret i32 1 22*9880d681SAndroid Build Coastguard Workerbb1: 23*9880d681SAndroid Build Coastguard Worker ret i32 0 24*9880d681SAndroid Build Coastguard Worker} 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_eq_i16(i16 %a) { 27*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_eq_i16 28*9880d681SAndroid Build Coastguard Worker; CHECK: uxth [[REG:w[0-9]+]], w0 29*9880d681SAndroid Build Coastguard Worker; CHECK: cbz [[REG]], {{LBB.+_2}} 30*9880d681SAndroid Build Coastguard Worker %1 = icmp eq i16 %a, 0 31*9880d681SAndroid Build Coastguard Worker br i1 %1, label %bb1, label %bb2 32*9880d681SAndroid Build Coastguard Workerbb2: 33*9880d681SAndroid Build Coastguard Worker ret i32 1 34*9880d681SAndroid Build Coastguard Workerbb1: 35*9880d681SAndroid Build Coastguard Worker ret i32 0 36*9880d681SAndroid Build Coastguard Worker} 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_eq_i32(i32 %a) { 39*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_eq_i32 40*9880d681SAndroid Build Coastguard Worker; CHECK: cbz w0, {{LBB.+_2}} 41*9880d681SAndroid Build Coastguard Worker %1 = icmp eq i32 %a, 0 42*9880d681SAndroid Build Coastguard Worker br i1 %1, label %bb1, label %bb2 43*9880d681SAndroid Build Coastguard Workerbb2: 44*9880d681SAndroid Build Coastguard Worker ret i32 1 45*9880d681SAndroid Build Coastguard Workerbb1: 46*9880d681SAndroid Build Coastguard Worker ret i32 0 47*9880d681SAndroid Build Coastguard Worker} 48*9880d681SAndroid Build Coastguard Worker 49*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_eq_i64(i64 %a) { 50*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_eq_i64 51*9880d681SAndroid Build Coastguard Worker; CHECK: cbz x0, {{LBB.+_2}} 52*9880d681SAndroid Build Coastguard Worker %1 = icmp eq i64 %a, 0 53*9880d681SAndroid Build Coastguard Worker br i1 %1, label %bb1, label %bb2 54*9880d681SAndroid Build Coastguard Workerbb2: 55*9880d681SAndroid Build Coastguard Worker ret i32 1 56*9880d681SAndroid Build Coastguard Workerbb1: 57*9880d681SAndroid Build Coastguard Worker ret i32 0 58*9880d681SAndroid Build Coastguard Worker} 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_eq_ptr(i8* %a) { 61*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_eq_ptr 62*9880d681SAndroid Build Coastguard Worker; CHECK: cbz x0, {{LBB.+_2}} 63*9880d681SAndroid Build Coastguard Worker %1 = icmp eq i8* %a, null 64*9880d681SAndroid Build Coastguard Worker br i1 %1, label %bb1, label %bb2 65*9880d681SAndroid Build Coastguard Workerbb2: 66*9880d681SAndroid Build Coastguard Worker ret i32 1 67*9880d681SAndroid Build Coastguard Workerbb1: 68*9880d681SAndroid Build Coastguard Worker ret i32 0 69*9880d681SAndroid Build Coastguard Worker} 70*9880d681SAndroid Build Coastguard Worker 71