From: Chris Lattner Date: Fri, 19 Oct 2007 03:29:26 +0000 (+0000) Subject: Add an easy microoptimization I noticed. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=3a7c33a853b03d9dcde400b9d58e02c25d9789db;p=oota-llvm.git Add an easy microoptimization I noticed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43164 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/ARM/README.txt b/lib/Target/ARM/README.txt index f05ae1c4230..1fb775064ef 100644 --- a/lib/Target/ARM/README.txt +++ b/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. + + +//===---------------------------------------------------------------------===//