71 lines · plain
1; RUN: llc -fast-isel -fast-isel-abort=1 -aarch64-enable-atomic-cfg-tidy=0 -verify-machineinstrs -mtriple=aarch64-apple-darwin < %s | FileCheck %s2 3define i32 @icmp_eq_i1(i1 %a) {4; CHECK-LABEL: icmp_eq_i15; CHECK: tbz w0, #0, {{LBB.+_2}}6 %1 = icmp eq i1 %a, 07 br i1 %1, label %bb1, label %bb28bb2:9 ret i32 110bb1:11 ret i32 012}13 14define i32 @icmp_eq_i8(i8 %a) {15; CHECK-LABEL: icmp_eq_i816; CHECK: uxtb [[REG:w[0-9]+]], w017; CHECK: cbz [[REG]], {{LBB.+_2}}18 %1 = icmp eq i8 %a, 019 br i1 %1, label %bb1, label %bb220bb2:21 ret i32 122bb1:23 ret i32 024}25 26define i32 @icmp_eq_i16(i16 %a) {27; CHECK-LABEL: icmp_eq_i1628; CHECK: uxth [[REG:w[0-9]+]], w029; CHECK: cbz [[REG]], {{LBB.+_2}}30 %1 = icmp eq i16 %a, 031 br i1 %1, label %bb1, label %bb232bb2:33 ret i32 134bb1:35 ret i32 036}37 38define i32 @icmp_eq_i32(i32 %a) {39; CHECK-LABEL: icmp_eq_i3240; CHECK: cbz w0, {{LBB.+_2}}41 %1 = icmp eq i32 %a, 042 br i1 %1, label %bb1, label %bb243bb2:44 ret i32 145bb1:46 ret i32 047}48 49define i32 @icmp_eq_i64(i64 %a) {50; CHECK-LABEL: icmp_eq_i6451; CHECK: cbz x0, {{LBB.+_2}}52 %1 = icmp eq i64 %a, 053 br i1 %1, label %bb1, label %bb254bb2:55 ret i32 156bb1:57 ret i32 058}59 60define i32 @icmp_eq_ptr(ptr %a) {61; CHECK-LABEL: icmp_eq_ptr62; CHECK: cbz x0, {{LBB.+_2}}63 %1 = icmp eq ptr %a, null64 br i1 %1, label %bb1, label %bb265bb2:66 ret i32 167bb1:68 ret i32 069}70 71