ARM VFP support 'fmrs/fmsr' aliases for 'vldr'
authorJim Grosbach <grosbach@apple.com>
Thu, 8 Dec 2011 00:52:55 +0000 (00:52 +0000)
committerJim Grosbach <grosbach@apple.com>
Thu, 8 Dec 2011 00:52:55 +0000 (00:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146116 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrVFP.td
lib/Target/ARM/AsmParser/ARMAsmParser.cpp

index eadf5303456d797217ff3925b6151d0ab21548bf..7ab2b88a1e1606aa5dae372e5576659a5e41484d 100644 (file)
@@ -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)>;
 
index a1b13483311b75c22a91c520695f296a85ea97c0..d91ce93e71ceed4cdf924353e438b316774faac2 100644 (file)
@@ -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;