diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -12887,71 +12887,68 @@ if (!hasMVE()) return false; - return Mnemonic.startswith("vabav") || Mnemonic.startswith("vaddv") || - Mnemonic.startswith("vaddlv") || Mnemonic.startswith("vminnmv") || - Mnemonic.startswith("vminnmav") || Mnemonic.startswith("vminv") || - Mnemonic.startswith("vminav") || Mnemonic.startswith("vmaxnmv") || - Mnemonic.startswith("vmaxnmav") || Mnemonic.startswith("vmaxv") || - Mnemonic.startswith("vmaxav") || Mnemonic.startswith("vmladav") || - Mnemonic.startswith("vrmlaldavh") || Mnemonic.startswith("vrmlalvh") || - Mnemonic.startswith("vmlsdav") || Mnemonic.startswith("vmlav") || - Mnemonic.startswith("vmlaldav") || Mnemonic.startswith("vmlalv") || - Mnemonic.startswith("vmaxnm") || Mnemonic.startswith("vminnm") || - Mnemonic.startswith("vmax") || Mnemonic.startswith("vmin") || - Mnemonic.startswith("vshlc") || Mnemonic.startswith("vmovlt") || - Mnemonic.startswith("vmovlb") || Mnemonic.startswith("vshll") || - Mnemonic.startswith("vrshrn") || Mnemonic.startswith("vshrn") || - Mnemonic.startswith("vqrshrun") || Mnemonic.startswith("vqshrun") || - Mnemonic.startswith("vqrshrn") || Mnemonic.startswith("vqshrn") || - Mnemonic.startswith("vbic") || Mnemonic.startswith("vrev64") || - Mnemonic.startswith("vrev32") || Mnemonic.startswith("vrev16") || - Mnemonic.startswith("vmvn") || Mnemonic.startswith("veor") || - Mnemonic.startswith("vorn") || Mnemonic.startswith("vorr") || - Mnemonic.startswith("vand") || Mnemonic.startswith("vmul") || - Mnemonic.startswith("vqrdmulh") || Mnemonic.startswith("vqdmulh") || - Mnemonic.startswith("vsub") || Mnemonic.startswith("vadd") || - Mnemonic.startswith("vqsub") || Mnemonic.startswith("vqadd") || - Mnemonic.startswith("vabd") || Mnemonic.startswith("vrhadd") || - Mnemonic.startswith("vhsub") || Mnemonic.startswith("vhadd") || - Mnemonic.startswith("vdup") || Mnemonic.startswith("vcls") || - Mnemonic.startswith("vclz") || Mnemonic.startswith("vneg") || - Mnemonic.startswith("vabs") || Mnemonic.startswith("vqneg") || - Mnemonic.startswith("vqabs") || - (Mnemonic.startswith("vrint") && Mnemonic != "vrintr") || - Mnemonic.startswith("vcmla") || Mnemonic.startswith("vfma") || - Mnemonic.startswith("vfms") || Mnemonic.startswith("vcadd") || - Mnemonic.startswith("vadd") || Mnemonic.startswith("vsub") || - Mnemonic.startswith("vshl") || Mnemonic.startswith("vqshl") || - Mnemonic.startswith("vqrshl") || Mnemonic.startswith("vrshl") || - Mnemonic.startswith("vsri") || Mnemonic.startswith("vsli") || - Mnemonic.startswith("vrshr") || Mnemonic.startswith("vshr") || - Mnemonic.startswith("vpsel") || Mnemonic.startswith("vcmp") || - Mnemonic.startswith("vqdmladh") || Mnemonic.startswith("vqrdmladh") || - Mnemonic.startswith("vqdmlsdh") || Mnemonic.startswith("vqrdmlsdh") || - Mnemonic.startswith("vcmul") || Mnemonic.startswith("vrmulh") || - Mnemonic.startswith("vqmovn") || Mnemonic.startswith("vqmovun") || - Mnemonic.startswith("vmovnt") || Mnemonic.startswith("vmovnb") || - Mnemonic.startswith("vmaxa") || Mnemonic.startswith("vmaxnma") || - Mnemonic.startswith("vhcadd") || Mnemonic.startswith("vadc") || - Mnemonic.startswith("vsbc") || Mnemonic.startswith("vrshr") || - Mnemonic.startswith("vshr") || Mnemonic.startswith("vstrb") || - Mnemonic.startswith("vldrb") || - (Mnemonic.startswith("vstrh") && Mnemonic != "vstrhi") || + return MS.isVPTPredicableCDEInstr(Mnemonic) || Mnemonic.startswith("vabav") || + Mnemonic.startswith("vabd") || Mnemonic.startswith("vabs") || + Mnemonic.startswith("vadc") || Mnemonic.startswith("vadd") || + Mnemonic.startswith("vaddlv") || Mnemonic.startswith("vaddv") || + Mnemonic.startswith("vand") || Mnemonic.startswith("vbic") || + Mnemonic.startswith("vbrsr") || Mnemonic.startswith("vcadd") || + Mnemonic.startswith("vcls") || Mnemonic.startswith("vclz") || + Mnemonic.startswith("vcmla") || Mnemonic.startswith("vcmp") || + Mnemonic.startswith("vcmul") || Mnemonic.startswith("vctp") || + Mnemonic.startswith("vcvt") || Mnemonic.startswith("vddup") || + Mnemonic.startswith("vdup") || Mnemonic.startswith("vdwdup") || + Mnemonic.startswith("veor") || Mnemonic.startswith("vfma") || + Mnemonic.startswith("vfmas") || Mnemonic.startswith("vfms") || + Mnemonic.startswith("vhadd") || Mnemonic.startswith("vhcadd") || + Mnemonic.startswith("vhsub") || Mnemonic.startswith("vidup") || + Mnemonic.startswith("viwdup") || Mnemonic.startswith("vldrb") || + Mnemonic.startswith("vldrd") || (Mnemonic.startswith("vldrh") && Mnemonic != "vldrhi") || - Mnemonic.startswith("vstrw") || Mnemonic.startswith("vldrw") || - Mnemonic.startswith("vldrd") || Mnemonic.startswith("vstrd") || - Mnemonic.startswith("vqdmull") || Mnemonic.startswith("vbrsr") || - Mnemonic.startswith("vfmas") || Mnemonic.startswith("vmlas") || - Mnemonic.startswith("vmla") || Mnemonic.startswith("vqdmlash") || - Mnemonic.startswith("vqdmlah") || Mnemonic.startswith("vqrdmlash") || - Mnemonic.startswith("vqrdmlah") || Mnemonic.startswith("viwdup") || - Mnemonic.startswith("vdwdup") || Mnemonic.startswith("vidup") || - Mnemonic.startswith("vddup") || Mnemonic.startswith("vctp") || - Mnemonic.startswith("vpnot") || Mnemonic.startswith("vbic") || - Mnemonic.startswith("vrmlsldavh") || Mnemonic.startswith("vmlsldav") || - Mnemonic.startswith("vcvt") || - MS.isVPTPredicableCDEInstr(Mnemonic) || + Mnemonic.startswith("vldrw") || Mnemonic.startswith("vmax") || + Mnemonic.startswith("vmaxa") || Mnemonic.startswith("vmaxav") || + Mnemonic.startswith("vmaxnm") || Mnemonic.startswith("vmaxnma") || + Mnemonic.startswith("vmaxnmav") || Mnemonic.startswith("vmaxnmv") || + Mnemonic.startswith("vmaxv") || Mnemonic.startswith("vmin") || + Mnemonic.startswith("vminav") || Mnemonic.startswith("vminnm") || + Mnemonic.startswith("vminnmav") || Mnemonic.startswith("vminnmv") || + Mnemonic.startswith("vminv") || Mnemonic.startswith("vmla") || + Mnemonic.startswith("vmladav") || Mnemonic.startswith("vmlaldav") || + Mnemonic.startswith("vmlalv") || Mnemonic.startswith("vmlas") || + Mnemonic.startswith("vmlav") || Mnemonic.startswith("vmlsdav") || + Mnemonic.startswith("vmlsldav") || (Mnemonic.startswith("vmov") && !(ExtraToken == ".f16" || ExtraToken == ".32" || - ExtraToken == ".16" || ExtraToken == ".8")); + ExtraToken == ".16" || ExtraToken == ".8")) || + Mnemonic.startswith("vmovlb") || Mnemonic.startswith("vmovlt") || + Mnemonic.startswith("vmovnb") || Mnemonic.startswith("vmovnt") || + Mnemonic.startswith("vmul") || Mnemonic.startswith("vmvn") || + Mnemonic.startswith("vneg") || Mnemonic.startswith("vorn") || + Mnemonic.startswith("vorr") || Mnemonic.startswith("vpnot") || + Mnemonic.startswith("vpsel") || Mnemonic.startswith("vqabs") || + Mnemonic.startswith("vqadd") || Mnemonic.startswith("vqdmladh") || + Mnemonic.startswith("vqdmlah") || Mnemonic.startswith("vqdmlash") || + Mnemonic.startswith("vqdmlsdh") || Mnemonic.startswith("vqdmulh") || + Mnemonic.startswith("vqdmull") || Mnemonic.startswith("vqmovn") || + Mnemonic.startswith("vqmovun") || Mnemonic.startswith("vqneg") || + Mnemonic.startswith("vqrdmladh") || Mnemonic.startswith("vqrdmlah") || + Mnemonic.startswith("vqrdmlash") || Mnemonic.startswith("vqrdmlsdh") || + Mnemonic.startswith("vqrdmulh") || Mnemonic.startswith("vqrshl") || + Mnemonic.startswith("vqrshrn") || Mnemonic.startswith("vqrshrun") || + Mnemonic.startswith("vqshl") || Mnemonic.startswith("vqshrn") || + Mnemonic.startswith("vqshrun") || Mnemonic.startswith("vqsub") || + Mnemonic.startswith("vrev16") || Mnemonic.startswith("vrev32") || + Mnemonic.startswith("vrev64") || Mnemonic.startswith("vrhadd") || + (Mnemonic.startswith("vrint") && Mnemonic != "vrintr") || + Mnemonic.startswith("vrmlaldavh") || Mnemonic.startswith("vrmlalvh") || + Mnemonic.startswith("vrmlsldavh") || Mnemonic.startswith("vrmulh") || + Mnemonic.startswith("vrshl") || Mnemonic.startswith("vrshr") || + Mnemonic.startswith("vrshrn") || Mnemonic.startswith("vsbc") || + Mnemonic.startswith("vshl") || Mnemonic.startswith("vshlc") || + Mnemonic.startswith("vshll") || Mnemonic.startswith("vshr") || + Mnemonic.startswith("vshrn") || Mnemonic.startswith("vsli") || + Mnemonic.startswith("vsri") || Mnemonic.startswith("vstrb") || + (Mnemonic.startswith("vstrh") && Mnemonic != "vstrhi") || + Mnemonic.startswith("vstrd") || Mnemonic.startswith("vstrw") || + Mnemonic.startswith("vsub"); }