summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-12-08 00:52:55 +0000
committerJim Grosbach <grosbach@apple.com>2011-12-08 00:52:55 +0000
commit9a6ba3c94e2de96db1aabdf2f1a1ec4c2cb35c2e (patch)
tree52acb148978ea21b6bed03134f8e847d611baad7 /llvm/lib
parent086d013e566c6f4f0e6f853588f4d6113314973c (diff)
downloadbcm5719-llvm-9a6ba3c94e2de96db1aabdf2f1a1ec4c2cb35c2e.tar.gz
bcm5719-llvm-9a6ba3c94e2de96db1aabdf2f1a1ec4c2cb35c2e.zip
ARM VFP support 'fmrs/fmsr' aliases for 'vldr'
llvm-svn: 146116
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrVFP.td2
-rw-r--r--llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp1
2 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrVFP.td b/llvm/lib/Target/ARM/ARMInstrVFP.td
index eadf5303456..7ab2b88a1e1 100644
--- a/llvm/lib/Target/ARM/ARMInstrVFP.td
+++ b/llvm/lib/Target/ARM/ARMInstrVFP.td
@@ -1166,6 +1166,8 @@ def FCONSTS : VFPAI<(outs SPR:$Sd), (ins vfp_f32imm:$imm),
// good to be friendly.
def : MnemonicAlias<"flds", "vldr">;
def : MnemonicAlias<"fldd", "vldr">;
+def : MnemonicAlias<"fmrs", "vmov">;
+def : MnemonicAlias<"fmsr", "vmov">;
def : VFP2InstAlias<"fmstat${p}", (FMSTAT pred:$p)>;
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
index a1b13483311..d91ce93e71c 100644
--- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
+++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
@@ -4236,6 +4236,7 @@ StringRef ARMAsmParser::splitMnemonic(StringRef Mnemonic,
Mnemonic == "vcls" || Mnemonic == "vmls" || Mnemonic == "vmrs" ||
Mnemonic == "vnmls" || Mnemonic == "vqabs" || Mnemonic == "vrecps" ||
Mnemonic == "vrsqrts" || Mnemonic == "srs" || Mnemonic == "flds" ||
+ Mnemonic == "fmrs" ||
(Mnemonic == "movs" && isThumb()))) {
Mnemonic = Mnemonic.slice(0, Mnemonic.size() - 1);
CarrySetting = true;
OpenPOWER on IntegriCloud