summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-10-19 03:29:26 +0000
committerChris Lattner <sabre@nondot.org>2007-10-19 03:29:26 +0000
commit5d979d57ae5229af6d64864a5bce471a991df15a (patch)
treee8a89f6ce6a830470aa276a3045792de66a2729f /llvm/lib
parente1b7fa3410c35b965e271c636719883f24af6e49 (diff)
downloadbcm5719-llvm-5d979d57ae5229af6d64864a5bce471a991df15a.tar.gz
bcm5719-llvm-5d979d57ae5229af6d64864a5bce471a991df15a.zip
Add an easy microoptimization I noticed.
llvm-svn: 43164
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/README.txt19
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/README.txt b/llvm/lib/Target/ARM/README.txt
index f05ae1c4230..1fb775064ef 100644
--- a/llvm/lib/Target/ARM/README.txt
+++ b/llvm/lib/Target/ARM/README.txt
@@ -573,3 +573,22 @@ __Z11no_overflowjj:
bx lr
//===---------------------------------------------------------------------===//
+
+Easy ARM microoptimization (with -mattr=+vfp2):
+
+define i64 @i(double %X) {
+ %Y = bitcast double %X to i64
+ ret i64 %Y
+}
+
+compiles into:
+
+_i:
+ fmdrr d0, r0, r1
+ fmrrd r0, r1, d0
+ bx lr
+
+This just needs a target-specific dag combine to merge the two ARMISD nodes.
+
+
+//===---------------------------------------------------------------------===//
OpenPOWER on IntegriCloud