From 77a6d9032fcc4e3c847048b9cc6c0ac42efdcfc6 Mon Sep 17 00:00:00 2001 From: Nate Begeman Date: Wed, 13 Apr 2005 21:45:13 +0000 Subject: [PATCH] Add CodeGen tests for the recent SelectionDAG transforms git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21292 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/PowerPC/select_lt0.ll | 45 +++++++++++++++++++++++++++ test/CodeGen/PowerPC/setcc_no_zext.ll | 8 +++++ 2 files changed, 53 insertions(+) create mode 100644 test/CodeGen/PowerPC/select_lt0.ll create mode 100644 test/CodeGen/PowerPC/setcc_no_zext.ll diff --git a/test/CodeGen/PowerPC/select_lt0.ll b/test/CodeGen/PowerPC/select_lt0.ll new file mode 100644 index 00000000000..9d8732e9690 --- /dev/null +++ b/test/CodeGen/PowerPC/select_lt0.ll @@ -0,0 +1,45 @@ +; RUN: llvm-as < %s | llc -march=ppc32 -enable-ppc-pattern-isel | not grep cmp + +int %seli32_1(int %a) { +entry: + %tmp.1 = setlt int %a, 0 + %retval = select bool %tmp.1, int 5, int 0 + ret int %retval +} + +int %seli32_2(int %a, int %b) { +entry: + %tmp.1 = setlt int %a, 0 + %retval = select bool %tmp.1, int %b, int 0 + ret int %retval +} + +int %seli32_3(int %a, short %b) { +entry: + %tmp.2 = cast short %b to int + %tmp.1 = setlt int %a, 0 + %retval = select bool %tmp.1, int %tmp.2, int 0 + ret int %retval +} + +int %seli32_4(int %a, ushort %b) { +entry: + %tmp.2 = cast ushort %b to int + %tmp.1 = setlt int %a, 0 + %retval = select bool %tmp.1, int %tmp.2, int 0 + ret int %retval +} + +short %seli16_1(short %a) { +entry: + %tmp.1 = setlt short %a, 0 + %retval = select bool %tmp.1, short 7, short 0 + ret short %retval +} + +short %seli16_2(int %a, short %b) { +entry: + %tmp.1 = setlt int %a, 0 + %retval = select bool %tmp.1, short %b, short 0 + ret short %retval +} diff --git a/test/CodeGen/PowerPC/setcc_no_zext.ll b/test/CodeGen/PowerPC/setcc_no_zext.ll new file mode 100644 index 00000000000..e28d48107d5 --- /dev/null +++ b/test/CodeGen/PowerPC/setcc_no_zext.ll @@ -0,0 +1,8 @@ +; RUN: llvm-as < %s | llc -march=ppc32 -enable-ppc-pattern-isel | not grep rlwinm + +int %setcc_one_or_zero(int* %a) { +entry: + %tmp.1 = setne int* %a, null + %inc.1 = cast bool %tmp.1 to int + ret int %inc.1 +}