From 0d8b0cf3b850d1f627e16bbf890ec43df1021ed9 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Tue, 21 Jul 2009 00:31:12 +0000 Subject: Fix ARM isle code that optimize multiply by constants which are power-of-2 +/- 1. llvm-svn: 76520 --- llvm/test/CodeGen/ARM/mul_const.ll | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 llvm/test/CodeGen/ARM/mul_const.ll (limited to 'llvm/test/CodeGen/ARM/mul_const.ll') diff --git a/llvm/test/CodeGen/ARM/mul_const.ll b/llvm/test/CodeGen/ARM/mul_const.ll new file mode 100644 index 00000000000..f5ace1852a4 --- /dev/null +++ b/llvm/test/CodeGen/ARM/mul_const.ll @@ -0,0 +1,17 @@ +; RUN: llvm-as < %s | llc -march=arm | FileCheck %s + +define i32 @t1(i32 %v) nounwind readnone { +entry: +; CHECK: t1: +; CHECK: add r0, r0, r0, lsl #3 + %0 = mul i32 %v, 9 + ret i32 %0 +} + +define i32 @t2(i32 %v) nounwind readnone { +entry: +; CHECK: t2: +; CHECK: rsb r0, r0, r0, lsl #3 + %0 = mul i32 %v, 7 + ret i32 %0 +} -- cgit v1.2.3