summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2010-05-17 21:54:50 +0000
committerEvan Cheng <evan.cheng@apple.com>2010-05-17 21:54:50 +0000
commitcd04ed3533ac63513da2d833e449e7ea9b018af2 (patch)
treee2abfbe137d77f6996846a6433465c2b4b6df213
parentbb166bed40e4099bfaac1f3dbda5bbfcac724630 (diff)
downloadbcm5719-llvm-cd04ed3533ac63513da2d833e449e7ea9b018af2.tar.gz
bcm5719-llvm-cd04ed3533ac63513da2d833e449e7ea9b018af2.zip
vmov of immediates are trivially re-materializable.
llvm-svn: 103982
-rw-r--r--llvm/lib/Target/ARM/ARMInstrNEON.td2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrNEON.td b/llvm/lib/Target/ARM/ARMInstrNEON.td
index c87d7b45564..bd6ffc0dcaa 100644
--- a/llvm/lib/Target/ARM/ARMInstrNEON.td
+++ b/llvm/lib/Target/ARM/ARMInstrNEON.td
@@ -2862,6 +2862,7 @@ def vmovImm64 : PatLeaf<(build_vector), [{
// Note: Some of the cmode bits in the following VMOV instructions need to
// be encoded based on the immed values.
+let isReMaterializable = 1 in {
def VMOVv8i8 : N1ModImm<1, 0b000, 0b1110, 0, 0, 0, 1, (outs DPR:$dst),
(ins h8imm:$SIMM), IIC_VMOVImm,
"vmov", "i8", "$dst, $SIMM", "",
@@ -2897,6 +2898,7 @@ def VMOVv2i64 : N1ModImm<1, 0b000, 0b1110, 0, 1, 1, 1, (outs QPR:$dst),
(ins h64imm:$SIMM), IIC_VMOVImm,
"vmov", "i64", "$dst, $SIMM", "",
[(set QPR:$dst, (v2i64 vmovImm64:$SIMM))]>;
+} // isReMaterializable
// VMOV : Vector Get Lane (move scalar to ARM core register)
OpenPOWER on IntegriCloud