@@ -608,6 +608,12 @@ static DecodeStatus DecodeVCCRRegisterClass(MCInst &Inst,
608608 return MCDisassembler::Success;
609609}
610610
611+ static DecodeStatus
612+ Decodecl_FPSCR_NZCVRegisterClass (MCInst &Inst, const MCDisassembler *Decoder) {
613+ Inst.addOperand (MCOperand::createReg (ARM::FPSCR_NZCV));
614+ return MCDisassembler::Success;
615+ }
616+
611617// Operand decoding functions.
612618
613619static DecodeStatus DecodePredicateOperand (MCInst &Inst, unsigned Val,
@@ -2892,32 +2898,6 @@ static DecodeStatus DecodeMVEModImmInstruction(MCInst &Inst, unsigned Insn,
28922898 return S;
28932899}
28942900
2895- static DecodeStatus DecodeMVEVADCInstruction (MCInst &Inst, unsigned Insn,
2896- uint64_t Address,
2897- const MCDisassembler *Decoder) {
2898- DecodeStatus S = MCDisassembler::Success;
2899-
2900- unsigned Qd = fieldFromInstruction (Insn, 13 , 3 );
2901- Qd |= fieldFromInstruction (Insn, 22 , 1 ) << 3 ;
2902- if (!Check (S, DecodeMQPRRegisterClass (Inst, Qd, Address, Decoder)))
2903- return MCDisassembler::Fail;
2904- Inst.addOperand (MCOperand::createReg (ARM::FPSCR_NZCV));
2905-
2906- unsigned Qn = fieldFromInstruction (Insn, 17 , 3 );
2907- Qn |= fieldFromInstruction (Insn, 7 , 1 ) << 3 ;
2908- if (!Check (S, DecodeMQPRRegisterClass (Inst, Qn, Address, Decoder)))
2909- return MCDisassembler::Fail;
2910- unsigned Qm = fieldFromInstruction (Insn, 1 , 3 );
2911- Qm |= fieldFromInstruction (Insn, 5 , 1 ) << 3 ;
2912- if (!Check (S, DecodeMQPRRegisterClass (Inst, Qm, Address, Decoder)))
2913- return MCDisassembler::Fail;
2914- if (!fieldFromInstruction (Insn, 12 , 1 )) // I bit clear => need input FPSCR
2915- Inst.addOperand (MCOperand::createReg (ARM::FPSCR_NZCV));
2916-
2917- Check (S, DecodeVpredROperand (Inst, Decoder));
2918- return S;
2919- }
2920-
29212901static DecodeStatus DecodeVSHLMaxInstruction (MCInst &Inst, unsigned Insn,
29222902 uint64_t Address,
29232903 const MCDisassembler *Decoder) {
0 commit comments