X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=test%2FCodeGen%2FAArch64%2Ffast-isel-cbz.ll;h=6e31a045d28552e75721359db9d034fa2fa3449c;hp=4326340616094fde8aa36346596a287e202633ab;hb=e2995ff88f922cd9004ef6cae7b444b615808c0e;hpb=07c9ae576c6c23556b999a0a55a3c3038a574ab5 diff --git a/test/CodeGen/AArch64/fast-isel-cbz.ll b/test/CodeGen/AArch64/fast-isel-cbz.ll index 43263406160..6e31a045d28 100644 --- a/test/CodeGen/AArch64/fast-isel-cbz.ll +++ b/test/CodeGen/AArch64/fast-isel-cbz.ll @@ -1,8 +1,8 @@ ; RUN: llc -fast-isel -fast-isel-abort -aarch64-atomic-cfg-tidy=0 -verify-machineinstrs -mtriple=aarch64-apple-darwin < %s | FileCheck %s -define i32 @icmp_eq_i1(i1 signext %a) { +define i32 @icmp_eq_i1(i1 %a) { ; CHECK-LABEL: icmp_eq_i1 -; CHECK: cbz w0, {{LBB.+_2}} +; CHECK: tbz w0, #0, {{LBB.+_2}} %1 = icmp eq i1 %a, 0 br i1 %1, label %bb1, label %bb2 bb2: @@ -11,9 +11,10 @@ bb1: ret i32 0 } -define i32 @icmp_eq_i8(i8 signext %a) { +define i32 @icmp_eq_i8(i8 %a) { ; CHECK-LABEL: icmp_eq_i8 -; CHECK: cbz w0, {{LBB.+_2}} +; CHECK: uxtb [[REG:w[0-9]+]], w0 +; CHECK: cbz [[REG]], {{LBB.+_2}} %1 = icmp eq i8 %a, 0 br i1 %1, label %bb1, label %bb2 bb2: @@ -22,9 +23,10 @@ bb1: ret i32 0 } -define i32 @icmp_eq_i16(i16 signext %a) { +define i32 @icmp_eq_i16(i16 %a) { ; CHECK-LABEL: icmp_eq_i16 -; CHECK: cbz w0, {{LBB.+_2}} +; CHECK: uxth [[REG:w[0-9]+]], w0 +; CHECK: cbz [[REG]], {{LBB.+_2}} %1 = icmp eq i16 %a, 0 br i1 %1, label %bb1, label %bb2 bb2: @@ -55,3 +57,14 @@ bb1: ret i32 0 } +define i32 @icmp_eq_ptr(i8* %a) { +; CHECK-LABEL: icmp_eq_ptr +; CHECK: cbz x0, {{LBB.+_2}} + %1 = icmp eq i8* %a, null + br i1 %1, label %bb1, label %bb2 +bb2: + ret i32 1 +bb1: + ret i32 0 +} +