@@ -608,6 +608,12 @@ static DecodeStatus DecodeVCCRRegisterClass(MCInst &Inst,
608
608
return MCDisassembler::Success;
609
609
}
610
610
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
+
611
617
// Operand decoding functions.
612
618
613
619
static DecodeStatus DecodePredicateOperand (MCInst &Inst, unsigned Val,
@@ -2892,32 +2898,6 @@ static DecodeStatus DecodeMVEModImmInstruction(MCInst &Inst, unsigned Insn,
2892
2898
return S;
2893
2899
}
2894
2900
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
-
2921
2901
static DecodeStatus DecodeVSHLMaxInstruction (MCInst &Inst, unsigned Insn,
2922
2902
uint64_t Address,
2923
2903
const MCDisassembler *Decoder) {
0 commit comments