From 597cb99d620af0c10910591ecee52ec61f5e32f5 Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Thu, 8 Dec 2011 00:52:55 +0000 Subject: [PATCH] ARM VFP support 'fmrs/fmsr' aliases for 'vldr' llvm-svn: 146116 --- lib/Target/ARM/ARMInstrVFP.td | 2 ++ lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 1 + 2 files changed, 3 insertions(+) diff --git a/lib/Target/ARM/ARMInstrVFP.td b/lib/Target/ARM/ARMInstrVFP.td index eadf5303456..7ab2b88a1e1 100644 --- a/lib/Target/ARM/ARMInstrVFP.td +++ b/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/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index a1b13483311..d91ce93e71c 100644 --- a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/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;