aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2007-05-03 20:54:42 +0000
committerDale Johannesen <dalej@apple.com>2007-05-03 20:54:42 +0000
commit4ac075c859ec0b03d61229bca3517a6801ac63ab (patch)
tree883b5c7beb79d09ebacc3320e6c85b6e97ed5efa /lib
parente8e5495474d67cd5151bd88e502be3f46ace7a85 (diff)
Evan's patch to avoid FPreg->intreg copy for cvt; store to mem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36693 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/ARM/ARMInstrVFP.td5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrVFP.td b/lib/Target/ARM/ARMInstrVFP.td
index 671e1a48c1..a8a72ed72c 100644
--- a/lib/Target/ARM/ARMInstrVFP.td
+++ b/lib/Target/ARM/ARMInstrVFP.td
@@ -78,6 +78,11 @@ def FSTS : ASI5<(ops SPR:$src, addrmode5:$addr),
[(store SPR:$src, addrmode5:$addr)]>;
} // isStore
+// avoid copying result of FTOUIZ to int reg when we're just storing it
+let AddedComplexity = 1 in
+def : ARMPat<(store (i32 (bitconvert SPR:$src)), addrmode5:$addr),
+ (FSTS SPR:$src, addrmode5:$addr)>;
+
//===----------------------------------------------------------------------===//
// Load / store multiple Instructions.
//