From 2d1222c060f56909c57c7828b6cad6a3e25017e2 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 2 Feb 2007 04:36:46 +0000 Subject: add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33778 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/README.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'lib/Target/ARM/README.txt') 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 -- cgit v1.2.3