forked from OSchip/llvm-project
ARM add some more pre-UAL VFP mnemonics for convenience when porting old code.
llvm-svn: 146300
This commit is contained in:
parent
4e36a934dc
commit
54337b8617
|
@ -1181,8 +1181,28 @@ def : VFP2MnemonicAlias<"fmdrr", "vmov">;
|
||||||
def : VFP2MnemonicAlias<"fmuld", "vmul.f64">;
|
def : VFP2MnemonicAlias<"fmuld", "vmul.f64">;
|
||||||
def : VFP2MnemonicAlias<"fnegs", "vneg.f32">;
|
def : VFP2MnemonicAlias<"fnegs", "vneg.f32">;
|
||||||
def : VFP2MnemonicAlias<"fnegd", "vneg.f64">;
|
def : VFP2MnemonicAlias<"fnegd", "vneg.f64">;
|
||||||
|
def : VFP2MnemonicAlias<"ftosizd", "vcvt.s32.f64">;
|
||||||
|
def : VFP2MnemonicAlias<"ftosid", "vcvtr.s32.f64">;
|
||||||
|
def : VFP2MnemonicAlias<"ftosizs", "vcvt.s32.f32">;
|
||||||
|
def : VFP2MnemonicAlias<"ftosis", "vcvtr.s32.f32">;
|
||||||
|
def : VFP2MnemonicAlias<"ftouizd", "vcvt.u32.f64">;
|
||||||
|
def : VFP2MnemonicAlias<"ftouid", "vcvtr.u32.f64">;
|
||||||
|
def : VFP2MnemonicAlias<"ftouizs", "vcvt.u32.f32">;
|
||||||
|
def : VFP2MnemonicAlias<"ftouis", "vcvtr.u32.f32">;
|
||||||
|
def : VFP2MnemonicAlias<"fsitod", "vcvt.f64.s32">;
|
||||||
|
def : VFP2MnemonicAlias<"fsitos", "vcvt.f32.s32">;
|
||||||
|
def : VFP2MnemonicAlias<"fuitod", "vcvt.f64.u32">;
|
||||||
|
def : VFP2MnemonicAlias<"fuitos", "vcvt.f32.u32">;
|
||||||
|
|
||||||
def : VFP2InstAlias<"fmstat${p}", (FMSTAT pred:$p)>;
|
def : VFP2InstAlias<"fmstat${p}", (FMSTAT pred:$p)>;
|
||||||
|
def : VFP2InstAlias<"fadds${p} $Sd, $Sn, $Sm",
|
||||||
|
(VADDS SPR:$Sd, SPR:$Sn, SPR:$Sm, pred:$p)>;
|
||||||
|
def : VFP2InstAlias<"faddd${p} $Dd, $Dn, $Dm",
|
||||||
|
(VADDD DPR:$Dd, DPR:$Dn, DPR:$Dm, pred:$p)>;
|
||||||
|
def : VFP2InstAlias<"fsubs${p} $Sd, $Sn, $Sm",
|
||||||
|
(VSUBS SPR:$Sd, SPR:$Sn, SPR:$Sm, pred:$p)>;
|
||||||
|
def : VFP2InstAlias<"fsubd${p} $Dd, $Dn, $Dm",
|
||||||
|
(VSUBD DPR:$Dd, DPR:$Dn, DPR:$Dm, pred:$p)>;
|
||||||
|
|
||||||
// No need for the size suffix on VSQRT. It's implied by the register classes.
|
// No need for the size suffix on VSQRT. It's implied by the register classes.
|
||||||
def : VFP2InstAlias<"vsqrt${p} $Sd, $Sm", (VSQRTS SPR:$Sd, SPR:$Sm, pred:$p)>;
|
def : VFP2InstAlias<"vsqrt${p} $Sd, $Sm", (VSQRTS SPR:$Sd, SPR:$Sm, pred:$p)>;
|
||||||
|
|
|
@ -4307,7 +4307,7 @@ StringRef ARMAsmParser::splitMnemonic(StringRef Mnemonic,
|
||||||
Mnemonic == "vcls" || Mnemonic == "vmls" || Mnemonic == "vmrs" ||
|
Mnemonic == "vcls" || Mnemonic == "vmls" || Mnemonic == "vmrs" ||
|
||||||
Mnemonic == "vnmls" || Mnemonic == "vqabs" || Mnemonic == "vrecps" ||
|
Mnemonic == "vnmls" || Mnemonic == "vqabs" || Mnemonic == "vrecps" ||
|
||||||
Mnemonic == "vrsqrts" || Mnemonic == "srs" || Mnemonic == "flds" ||
|
Mnemonic == "vrsqrts" || Mnemonic == "srs" || Mnemonic == "flds" ||
|
||||||
Mnemonic == "fmrs" || Mnemonic == "fsqrts" ||
|
Mnemonic == "fmrs" || Mnemonic == "fsqrts" || Mnemonic == "fsubs" ||
|
||||||
(Mnemonic == "movs" && isThumb()))) {
|
(Mnemonic == "movs" && isThumb()))) {
|
||||||
Mnemonic = Mnemonic.slice(0, Mnemonic.size() - 1);
|
Mnemonic = Mnemonic.slice(0, Mnemonic.size() - 1);
|
||||||
CarrySetting = true;
|
CarrySetting = true;
|
||||||
|
|
Loading…
Reference in New Issue