summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/README.txt
diff options
context:
space:
mode:
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