reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/ARM/AsmParser/ARMAsmParser.cpp
 6221   if ((Mnemonic == "movs" && isThumb()) ||
 6222       Mnemonic == "teq"   || Mnemonic == "vceq"   || Mnemonic == "svc"   ||
 6222       Mnemonic == "teq"   || Mnemonic == "vceq"   || Mnemonic == "svc"   ||
 6222       Mnemonic == "teq"   || Mnemonic == "vceq"   || Mnemonic == "svc"   ||
 6223       Mnemonic == "mls"   || Mnemonic == "smmls"  || Mnemonic == "vcls"  ||
 6223       Mnemonic == "mls"   || Mnemonic == "smmls"  || Mnemonic == "vcls"  ||
 6223       Mnemonic == "mls"   || Mnemonic == "smmls"  || Mnemonic == "vcls"  ||
 6224       Mnemonic == "vmls"  || Mnemonic == "vnmls"  || Mnemonic == "vacge" ||
 6224       Mnemonic == "vmls"  || Mnemonic == "vnmls"  || Mnemonic == "vacge" ||
 6224       Mnemonic == "vmls"  || Mnemonic == "vnmls"  || Mnemonic == "vacge" ||
 6225       Mnemonic == "vcge"  || Mnemonic == "vclt"   || Mnemonic == "vacgt" ||
 6225       Mnemonic == "vcge"  || Mnemonic == "vclt"   || Mnemonic == "vacgt" ||
 6225       Mnemonic == "vcge"  || Mnemonic == "vclt"   || Mnemonic == "vacgt" ||
 6226       Mnemonic == "vaclt" || Mnemonic == "vacle"  || Mnemonic == "hlt" ||
 6226       Mnemonic == "vaclt" || Mnemonic == "vacle"  || Mnemonic == "hlt" ||
 6226       Mnemonic == "vaclt" || Mnemonic == "vacle"  || Mnemonic == "hlt" ||
 6227       Mnemonic == "vcgt"  || Mnemonic == "vcle"   || Mnemonic == "smlal" ||
 6227       Mnemonic == "vcgt"  || Mnemonic == "vcle"   || Mnemonic == "smlal" ||
 6227       Mnemonic == "vcgt"  || Mnemonic == "vcle"   || Mnemonic == "smlal" ||
 6228       Mnemonic == "umaal" || Mnemonic == "umlal"  || Mnemonic == "vabal" ||
 6228       Mnemonic == "umaal" || Mnemonic == "umlal"  || Mnemonic == "vabal" ||
 6228       Mnemonic == "umaal" || Mnemonic == "umlal"  || Mnemonic == "vabal" ||
 6229       Mnemonic == "vmlal" || Mnemonic == "vpadal" || Mnemonic == "vqdmlal" ||
 6229       Mnemonic == "vmlal" || Mnemonic == "vpadal" || Mnemonic == "vqdmlal" ||
 6229       Mnemonic == "vmlal" || Mnemonic == "vpadal" || Mnemonic == "vqdmlal" ||
 6230       Mnemonic == "fmuls" || Mnemonic == "vmaxnm" || Mnemonic == "vminnm" ||
 6230       Mnemonic == "fmuls" || Mnemonic == "vmaxnm" || Mnemonic == "vminnm" ||
 6230       Mnemonic == "fmuls" || Mnemonic == "vmaxnm" || Mnemonic == "vminnm" ||
 6231       Mnemonic == "vcvta" || Mnemonic == "vcvtn"  || Mnemonic == "vcvtp" ||
 6231       Mnemonic == "vcvta" || Mnemonic == "vcvtn"  || Mnemonic == "vcvtp" ||
 6231       Mnemonic == "vcvta" || Mnemonic == "vcvtn"  || Mnemonic == "vcvtp" ||
 6232       Mnemonic == "vcvtm" || Mnemonic == "vrinta" || Mnemonic == "vrintn" ||
 6232       Mnemonic == "vcvtm" || Mnemonic == "vrinta" || Mnemonic == "vrintn" ||
 6232       Mnemonic == "vcvtm" || Mnemonic == "vrinta" || Mnemonic == "vrintn" ||
 6233       Mnemonic == "vrintp" || Mnemonic == "vrintm" || Mnemonic == "hvc" ||
 6233       Mnemonic == "vrintp" || Mnemonic == "vrintm" || Mnemonic == "hvc" ||
 6233       Mnemonic == "vrintp" || Mnemonic == "vrintm" || Mnemonic == "hvc" ||
 6234       Mnemonic.startswith("vsel") || Mnemonic == "vins" || Mnemonic == "vmovx" ||
 6234       Mnemonic.startswith("vsel") || Mnemonic == "vins" || Mnemonic == "vmovx" ||
 6234       Mnemonic.startswith("vsel") || Mnemonic == "vins" || Mnemonic == "vmovx" ||
 6235       Mnemonic == "bxns"  || Mnemonic == "blxns" ||
 6235       Mnemonic == "bxns"  || Mnemonic == "blxns" ||
 6236       Mnemonic == "vudot" || Mnemonic == "vsdot" ||
 6236       Mnemonic == "vudot" || Mnemonic == "vsdot" ||
 6237       Mnemonic == "vcmla" || Mnemonic == "vcadd" ||
 6237       Mnemonic == "vcmla" || Mnemonic == "vcadd" ||
 6238       Mnemonic == "vfmal" || Mnemonic == "vfmsl" ||
 6238       Mnemonic == "vfmal" || Mnemonic == "vfmsl" ||
 6239       Mnemonic == "wls" || Mnemonic == "le" || Mnemonic == "dls" ||
 6239       Mnemonic == "wls" || Mnemonic == "le" || Mnemonic == "dls" ||
 6239       Mnemonic == "wls" || Mnemonic == "le" || Mnemonic == "dls" ||
 6240       Mnemonic == "csel" || Mnemonic == "csinc" ||
 6240       Mnemonic == "csel" || Mnemonic == "csinc" ||
 6241       Mnemonic == "csinv" || Mnemonic == "csneg" || Mnemonic == "cinc" ||
 6241       Mnemonic == "csinv" || Mnemonic == "csneg" || Mnemonic == "cinc" ||
 6241       Mnemonic == "csinv" || Mnemonic == "csneg" || Mnemonic == "cinc" ||
 6242       Mnemonic == "cinv" || Mnemonic == "cneg" || Mnemonic == "cset" ||
 6242       Mnemonic == "cinv" || Mnemonic == "cneg" || Mnemonic == "cset" ||
 6242       Mnemonic == "cinv" || Mnemonic == "cneg" || Mnemonic == "cset" ||
 6243       Mnemonic == "csetm")
 6244     return Mnemonic;
 6248   if (Mnemonic != "adcs" && Mnemonic != "bics" && Mnemonic != "movs" &&
 6248   if (Mnemonic != "adcs" && Mnemonic != "bics" && Mnemonic != "movs" &&
 6248   if (Mnemonic != "adcs" && Mnemonic != "bics" && Mnemonic != "movs" &&
 6249       Mnemonic != "muls" && Mnemonic != "smlals" && Mnemonic != "smulls" &&
 6249       Mnemonic != "muls" && Mnemonic != "smlals" && Mnemonic != "smulls" &&
 6249       Mnemonic != "muls" && Mnemonic != "smlals" && Mnemonic != "smulls" &&
 6250       Mnemonic != "umlals" && Mnemonic != "umulls" && Mnemonic != "lsls" &&
 6250       Mnemonic != "umlals" && Mnemonic != "umulls" && Mnemonic != "lsls" &&
 6250       Mnemonic != "umlals" && Mnemonic != "umulls" && Mnemonic != "lsls" &&
 6251       Mnemonic != "sbcs" && Mnemonic != "rscs" &&
 6251       Mnemonic != "sbcs" && Mnemonic != "rscs" &&
 6253         (Mnemonic == "vmine" ||
 6254          Mnemonic == "vshle" || Mnemonic == "vshlt" || Mnemonic == "vshllt" ||
 6254          Mnemonic == "vshle" || Mnemonic == "vshlt" || Mnemonic == "vshllt" ||
 6254          Mnemonic == "vshle" || Mnemonic == "vshlt" || Mnemonic == "vshllt" ||
 6255          Mnemonic == "vrshle" || Mnemonic == "vrshlt" ||
 6255          Mnemonic == "vrshle" || Mnemonic == "vrshlt" ||
 6256          Mnemonic == "vmvne" || Mnemonic == "vorne" ||
 6256          Mnemonic == "vmvne" || Mnemonic == "vorne" ||
 6257          Mnemonic == "vnege" || Mnemonic == "vnegt" ||
 6257          Mnemonic == "vnege" || Mnemonic == "vnegt" ||
 6258          Mnemonic == "vmule" || Mnemonic == "vmult" ||
 6258          Mnemonic == "vmule" || Mnemonic == "vmult" ||
 6259          Mnemonic == "vrintne" ||
 6260          Mnemonic == "vcmult" || Mnemonic == "vcmule" ||
 6260          Mnemonic == "vcmult" || Mnemonic == "vcmule" ||
 6261          Mnemonic == "vpsele" || Mnemonic == "vpselt" ||
 6261          Mnemonic == "vpsele" || Mnemonic == "vpselt" ||
 6262          Mnemonic.startswith("vq")))) {
 6263     unsigned CC = ARMCondCodeFromString(Mnemonic.substr(Mnemonic.size()-2));
 6263     unsigned CC = ARMCondCodeFromString(Mnemonic.substr(Mnemonic.size()-2));
 6265       Mnemonic = Mnemonic.slice(0, Mnemonic.size() - 2);
 6265       Mnemonic = Mnemonic.slice(0, Mnemonic.size() - 2);
 6265       Mnemonic = Mnemonic.slice(0, Mnemonic.size() - 2);
 6272   if (Mnemonic.endswith("s") &&
 6273       !(Mnemonic == "cps" || Mnemonic == "mls" ||
 6273       !(Mnemonic == "cps" || Mnemonic == "mls" ||
 6274         Mnemonic == "mrs" || Mnemonic == "smmls" || Mnemonic == "vabs" ||
 6274         Mnemonic == "mrs" || Mnemonic == "smmls" || Mnemonic == "vabs" ||
 6274         Mnemonic == "mrs" || Mnemonic == "smmls" || Mnemonic == "vabs" ||
 6275         Mnemonic == "vcls" || Mnemonic == "vmls" || Mnemonic == "vmrs" ||
 6275         Mnemonic == "vcls" || Mnemonic == "vmls" || Mnemonic == "vmrs" ||
 6275         Mnemonic == "vcls" || Mnemonic == "vmls" || Mnemonic == "vmrs" ||
 6276         Mnemonic == "vnmls" || Mnemonic == "vqabs" || Mnemonic == "vrecps" ||
 6276         Mnemonic == "vnmls" || Mnemonic == "vqabs" || Mnemonic == "vrecps" ||
 6276         Mnemonic == "vnmls" || Mnemonic == "vqabs" || Mnemonic == "vrecps" ||
 6277         Mnemonic == "vrsqrts" || Mnemonic == "srs" || Mnemonic == "flds" ||
 6277         Mnemonic == "vrsqrts" || Mnemonic == "srs" || Mnemonic == "flds" ||
 6277         Mnemonic == "vrsqrts" || Mnemonic == "srs" || Mnemonic == "flds" ||
 6278         Mnemonic == "fmrs" || Mnemonic == "fsqrts" || Mnemonic == "fsubs" ||
 6278         Mnemonic == "fmrs" || Mnemonic == "fsqrts" || Mnemonic == "fsubs" ||
 6278         Mnemonic == "fmrs" || Mnemonic == "fsqrts" || Mnemonic == "fsubs" ||
 6279         Mnemonic == "fsts" || Mnemonic == "fcpys" || Mnemonic == "fdivs" ||
 6279         Mnemonic == "fsts" || Mnemonic == "fcpys" || Mnemonic == "fdivs" ||
 6279         Mnemonic == "fsts" || Mnemonic == "fcpys" || Mnemonic == "fdivs" ||
 6280         Mnemonic == "fmuls" || Mnemonic == "fcmps" || Mnemonic == "fcmpzs" ||
 6280         Mnemonic == "fmuls" || Mnemonic == "fcmps" || Mnemonic == "fcmpzs" ||
 6280         Mnemonic == "fmuls" || Mnemonic == "fcmps" || Mnemonic == "fcmpzs" ||
 6281         Mnemonic == "vfms" || Mnemonic == "vfnms" || Mnemonic == "fconsts" ||
 6281         Mnemonic == "vfms" || Mnemonic == "vfnms" || Mnemonic == "fconsts" ||
 6281         Mnemonic == "vfms" || Mnemonic == "vfnms" || Mnemonic == "fconsts" ||
 6282         Mnemonic == "bxns" || Mnemonic == "blxns" || Mnemonic == "vfmas" ||
 6282         Mnemonic == "bxns" || Mnemonic == "blxns" || Mnemonic == "vfmas" ||
 6282         Mnemonic == "bxns" || Mnemonic == "blxns" || Mnemonic == "vfmas" ||
 6283         Mnemonic == "vmlas" ||
 6284         (Mnemonic == "movs" && isThumb()))) {
 6285     Mnemonic = Mnemonic.slice(0, Mnemonic.size() - 1);
 6285     Mnemonic = Mnemonic.slice(0, Mnemonic.size() - 1);
 6285     Mnemonic = Mnemonic.slice(0, Mnemonic.size() - 1);
 6291   if (Mnemonic.startswith("cps")) {
 6294       StringSwitch<unsigned>(Mnemonic.substr(Mnemonic.size()-2, 2))
 6294       StringSwitch<unsigned>(Mnemonic.substr(Mnemonic.size()-2, 2))
 6299       Mnemonic = Mnemonic.slice(0, Mnemonic.size()-2);
 6299       Mnemonic = Mnemonic.slice(0, Mnemonic.size()-2);
 6299       Mnemonic = Mnemonic.slice(0, Mnemonic.size()-2);
 6304   if (isMnemonicVPTPredicable(Mnemonic, ExtraToken) && Mnemonic != "vmovlt" &&
 6304   if (isMnemonicVPTPredicable(Mnemonic, ExtraToken) && Mnemonic != "vmovlt" &&
 6305       Mnemonic != "vshllt" && Mnemonic != "vrshrnt" && Mnemonic != "vshrnt" &&
 6305       Mnemonic != "vshllt" && Mnemonic != "vrshrnt" && Mnemonic != "vshrnt" &&
 6305       Mnemonic != "vshllt" && Mnemonic != "vrshrnt" && Mnemonic != "vshrnt" &&
 6306       Mnemonic != "vqrshrunt" && Mnemonic != "vqshrunt" &&
 6306       Mnemonic != "vqrshrunt" && Mnemonic != "vqshrunt" &&
 6307       Mnemonic != "vqrshrnt" && Mnemonic != "vqshrnt" && Mnemonic != "vmullt" &&
 6307       Mnemonic != "vqrshrnt" && Mnemonic != "vqshrnt" && Mnemonic != "vmullt" &&
 6307       Mnemonic != "vqrshrnt" && Mnemonic != "vqshrnt" && Mnemonic != "vmullt" &&
 6308       Mnemonic != "vqmovnt" && Mnemonic != "vqmovunt" &&
 6308       Mnemonic != "vqmovnt" && Mnemonic != "vqmovunt" &&
 6309       Mnemonic != "vqmovnt" && Mnemonic != "vmovnt" && Mnemonic != "vqdmullt" &&
 6309       Mnemonic != "vqmovnt" && Mnemonic != "vmovnt" && Mnemonic != "vqdmullt" &&
 6309       Mnemonic != "vqmovnt" && Mnemonic != "vmovnt" && Mnemonic != "vqdmullt" &&
 6310       Mnemonic != "vpnot" && Mnemonic != "vcvtt" && Mnemonic != "vcvt") {
 6310       Mnemonic != "vpnot" && Mnemonic != "vcvtt" && Mnemonic != "vcvt") {
 6310       Mnemonic != "vpnot" && Mnemonic != "vcvtt" && Mnemonic != "vcvt") {
 6311     unsigned CC = ARMVectorCondCodeFromString(Mnemonic.substr(Mnemonic.size()-1));
 6311     unsigned CC = ARMVectorCondCodeFromString(Mnemonic.substr(Mnemonic.size()-1));
 6313       Mnemonic = Mnemonic.slice(0, Mnemonic.size()-1);
 6313       Mnemonic = Mnemonic.slice(0, Mnemonic.size()-1);
 6313       Mnemonic = Mnemonic.slice(0, Mnemonic.size()-1);
 6316     return Mnemonic;
 6320   if (Mnemonic.startswith("it")) {
 6321     ITMask = Mnemonic.slice(2, Mnemonic.size());
 6321     ITMask = Mnemonic.slice(2, Mnemonic.size());
 6322     Mnemonic = Mnemonic.slice(0, 2);
 6322     Mnemonic = Mnemonic.slice(0, 2);
 6325   if (Mnemonic.startswith("vpst")) {
 6326     ITMask = Mnemonic.slice(4, Mnemonic.size());
 6326     ITMask = Mnemonic.slice(4, Mnemonic.size());
 6327     Mnemonic = Mnemonic.slice(0, 4);
 6327     Mnemonic = Mnemonic.slice(0, 4);
 6329   else if (Mnemonic.startswith("vpt")) {
 6330     ITMask = Mnemonic.slice(3, Mnemonic.size());
 6330     ITMask = Mnemonic.slice(3, Mnemonic.size());
 6331     Mnemonic = Mnemonic.slice(0, 3);
 6331     Mnemonic = Mnemonic.slice(0, 3);
 6334   return Mnemonic;