summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/README.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-02-02 04:36:46 +0000
committerChris Lattner <sabre@nondot.org>2007-02-02 04:36:46 +0000
commit2d1222c060f56909c57c7828b6cad6a3e25017e2 (patch)
treedf9c1a625e043f4d85b440dbda7dc1c66ac36230 /lib/Target/ARM/README.txt
parente1888eec1048e251fa8c6ede7e170430b69e95ce (diff)
downloadllvm-2d1222c060f56909c57c7828b6cad6a3e25017e2.tar.gz
llvm-2d1222c060f56909c57c7828b6cad6a3e25017e2.tar.bz2
llvm-2d1222c060f56909c57c7828b6cad6a3e25017e2.tar.xz
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33778 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/README.txt')
-rw-r--r--lib/Target/ARM/README.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Target/ARM/README.txt b/lib/Target/ARM/README.txt
index 000e8e6450..04bf9588ad 100644
--- a/lib/Target/ARM/README.txt
+++ b/lib/Target/ARM/README.txt
@@ -43,6 +43,20 @@ Among the obvious wins, doing so can eliminate the need to custom expand
copysign (i.e. we won't need to custom expand it to get the conditional
negate).
+This allows us to eliminate one instruction from:
+
+define i32 @_Z6slow4bii(i32 %x, i32 %y) {
+ %tmp = icmp sgt i32 %x, %y
+ %retval = select i1 %tmp, i32 %x, i32 %y
+ ret i32 %retval
+}
+
+__Z6slow4bii:
+ cmp r0, r1
+ movgt r1, r0
+ mov r0, r1
+ bx lr
+
//===---------------------------------------------------------------------===//
Implement long long "X-3" with instructions that fold the immediate in. These