[llvm-commits] [llvm] r43164 - /llvm/trunk/lib/Target/ARM/README.txt

Chris Lattner sabre at nondot.org
Thu Oct 18 20:29:26 PDT 2007


Author: lattner
Date: Thu Oct 18 22:29:26 2007
New Revision: 43164

URL: http://llvm.org/viewvc/llvm-project?rev=43164&view=rev
Log:
Add an easy microoptimization I noticed.

Modified:
    llvm/trunk/lib/Target/ARM/README.txt

Modified: llvm/trunk/lib/Target/ARM/README.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/README.txt?rev=43164&r1=43163&r2=43164&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/README.txt (original)
+++ llvm/trunk/lib/Target/ARM/README.txt Thu Oct 18 22:29:26 2007
@@ -573,3 +573,22 @@
         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.
+
+
+//===---------------------------------------------------------------------===//





More information about the llvm-commits mailing list