A64/translate: Amend instruction prototypes erroneously marked as taking Reg
Makes the prototypes consistent
This commit is contained in:
parent
cf81f04ed3
commit
9de60b60bb
1 changed files with 45 additions and 45 deletions
|
@ -772,14 +772,14 @@ struct TranslatorVisitor final {
|
||||||
bool CNT(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
bool CNT(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
||||||
bool SADALP(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
bool SADALP(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
||||||
bool XTN(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
bool XTN(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
||||||
bool FCVTN(bool Q, bool sz, Vec Vn, Reg Rd);
|
bool FCVTN(bool Q, bool sz, Vec Vn, Vec Vd);
|
||||||
bool FCVTL(bool Q, bool sz, Reg Rn, Vec Vd);
|
bool FCVTL(bool Q, bool sz, Vec Vn, Vec Vd);
|
||||||
bool URECPE(bool Q, bool sz, Vec Vn, Vec Vd);
|
bool URECPE(bool Q, bool sz, Vec Vn, Vec Vd);
|
||||||
bool REV32_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
bool REV32_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
||||||
bool UADDLP(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
bool UADDLP(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
||||||
bool CLZ_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
bool CLZ_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
||||||
bool UADALP(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
bool UADALP(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
||||||
bool SHLL(bool Q, Imm<2> size, Reg Rn, Vec Vd);
|
bool SHLL(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
||||||
bool NOT(bool Q, Vec Vn, Vec Vd);
|
bool NOT(bool Q, Vec Vn, Vec Vd);
|
||||||
bool RBIT_asimd(bool Q, Vec Vn, Vec Vd);
|
bool RBIT_asimd(bool Q, Vec Vn, Vec Vd);
|
||||||
bool URSQRTE(bool Q, bool sz, Vec Vn, Vec Vd);
|
bool URSQRTE(bool Q, bool sz, Vec Vn, Vec Vd);
|
||||||
|
@ -802,29 +802,29 @@ struct TranslatorVisitor final {
|
||||||
bool UMINV(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
bool UMINV(bool Q, Imm<2> size, Vec Vn, Vec Vd);
|
||||||
|
|
||||||
// Data Processing - FP and SIMD - SIMD three different
|
// Data Processing - FP and SIMD - SIMD three different
|
||||||
bool SADDL(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool SADDL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool SADDW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
bool SADDW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool SSUBL(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool SSUBL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool SSUBW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
bool SSUBW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool ADDHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Reg Rd);
|
bool ADDHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool SABAL(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool SABAL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool SUBHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Reg Rd);
|
bool SUBHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool SABDL(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool SABDL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool SMLAL_vec(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool SMLAL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool SMLSL_vec(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool SMLSL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool SMULL_vec(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool SMULL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool PMULL(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool PMULL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool UADDL(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool UADDL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool UADDW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
bool UADDW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool USUBL(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool USUBL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool USUBW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
bool USUBW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool RADDHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Reg Rd);
|
bool RADDHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool UABAL(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool UABAL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool RSUBHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Reg Rd);
|
bool RSUBHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool UABDL(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool UABDL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool UMLAL_vec(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool UMLAL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool UMLSL_vec(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool UMLSL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool UMULL_vec(bool Q, Imm<2> size, Reg Rm, Reg Rn, Vec Vd);
|
bool UMULL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
|
|
||||||
// Data Processing - FP and SIMD - SIMD three same
|
// Data Processing - FP and SIMD - SIMD three same
|
||||||
bool SHADD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
bool SHADD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
|
@ -839,12 +839,12 @@ struct TranslatorVisitor final {
|
||||||
bool SMAXP(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
bool SMAXP(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool SMINP(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
bool SMINP(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool ADDP_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
bool ADDP_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool FMLAL_vec_1(bool Q, bool sz, Reg Rm, Reg Rn, Vec Vd);
|
bool FMLAL_vec_1(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool FMLAL_vec_2(bool Q, bool sz, Reg Rm, Reg Rn, Vec Vd);
|
bool FMLAL_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool AND_asimd(bool Q, Vec Vm, Vec Vn, Vec Vd);
|
bool AND_asimd(bool Q, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool BIC_asimd_reg(bool Q, Vec Vm, Vec Vn, Vec Vd);
|
bool BIC_asimd_reg(bool Q, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool FMLSL_vec_1(bool Q, bool sz, Reg Rm, Reg Rn, Vec Vd);
|
bool FMLSL_vec_1(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool FMLSL_vec_2(bool Q, bool sz, Reg Rm, Reg Rn, Vec Vd);
|
bool FMLSL_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool ORR_asimd_reg(bool Q, Vec Vm, Vec Vn, Vec Vd);
|
bool ORR_asimd_reg(bool Q, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool ORN_asimd(bool Q, Vec Vm, Vec Vn, Vec Vd);
|
bool ORN_asimd(bool Q, Vec Vm, Vec Vn, Vec Vd);
|
||||||
bool UHADD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
bool UHADD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd);
|
||||||
|
@ -865,7 +865,7 @@ struct TranslatorVisitor final {
|
||||||
|
|
||||||
// Data Processing - FP and SIMD - SIMD modified immediate
|
// Data Processing - FP and SIMD - SIMD modified immediate
|
||||||
bool MOVI(bool Q, bool op, Imm<1> a, Imm<1> b, Imm<1> c, Imm<4> cmode, Imm<1> d, Imm<1> e, Imm<1> f, Imm<1> g, Imm<1> h, Vec Vd);
|
bool MOVI(bool Q, bool op, Imm<1> a, Imm<1> b, Imm<1> c, Imm<4> cmode, Imm<1> d, Imm<1> e, Imm<1> f, Imm<1> g, Imm<1> h, Vec Vd);
|
||||||
bool FMOV_2(bool Q, Imm<1> a, Imm<1> b, Imm<1> c, Imm<1> d, Imm<1> e, Imm<1> f, Imm<1> g, Imm<1> h, Reg Rd);
|
bool FMOV_2(bool Q, Imm<1> a, Imm<1> b, Imm<1> c, Imm<1> d, Imm<1> e, Imm<1> f, Imm<1> g, Imm<1> h, Vec Vd);
|
||||||
|
|
||||||
// Data Processing - FP and SIMD - SIMD Shift by immediate
|
// Data Processing - FP and SIMD - SIMD Shift by immediate
|
||||||
bool SSHR_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool SSHR_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
|
@ -874,10 +874,10 @@ struct TranslatorVisitor final {
|
||||||
bool SRSRA_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool SRSRA_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool SHL_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool SHL_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool SQSHL_imm_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool SQSHL_imm_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool SHRN(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Reg Rd);
|
bool SHRN(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool RSHRN(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Reg Rd);
|
bool RSHRN(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool SQSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Reg Rd);
|
bool SQSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool SQRSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Reg Rd);
|
bool SQRSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool SSHLL(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool SSHLL(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool SCVTF_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool SCVTF_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool FCVTZS_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool FCVTZS_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
|
@ -889,29 +889,29 @@ struct TranslatorVisitor final {
|
||||||
bool SLI_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool SLI_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool SQSHLU_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool SQSHLU_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool UQSHL_imm_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool UQSHL_imm_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool SQSHRUN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Reg Rd);
|
bool SQSHRUN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool SQRSHRUN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Reg Rd);
|
bool SQRSHRUN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool UQSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Reg Rd);
|
bool UQSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool UQRSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Reg Rd);
|
bool UQRSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool USHLL(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool USHLL(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool UCVTF_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool UCVTF_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
bool FCVTZU_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
bool FCVTZU_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd);
|
||||||
|
|
||||||
// Data Processing - FP and SIMD - SIMD x indexed element
|
// Data Processing - FP and SIMD - SIMD x indexed element
|
||||||
bool SMLAL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Reg Rn, Vec Vd);
|
bool SMLAL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool SMLSL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Reg Rn, Vec Vd);
|
bool SMLSL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool MUL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
bool MUL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool SMULL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Reg Rn, Vec Vd);
|
bool SMULL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool SDOT_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
bool SDOT_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool FMLAL_elt_1(bool Q, bool sz, bool L, bool M, Vec Vm, bool H, Reg Rn, Vec Vd);
|
bool FMLAL_elt_1(bool Q, bool sz, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool FMLAL_elt_2(bool Q, bool sz, bool L, bool M, Vec Vm, bool H, Reg Rn, Vec Vd);
|
bool FMLAL_elt_2(bool Q, bool sz, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool FMLSL_elt_1(bool Q, bool sz, bool L, bool M, Vec Vm, bool H, Reg Rn, Vec Vd);
|
bool FMLSL_elt_1(bool Q, bool sz, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool FMLSL_elt_2(bool Q, bool sz, bool L, bool M, Vec Vm, bool H, Reg Rn, Vec Vd);
|
bool FMLSL_elt_2(bool Q, bool sz, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool MLA_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
bool MLA_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool UMLAL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Reg Rn, Vec Vd);
|
bool UMLAL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool MLS_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
bool MLS_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool UMLSL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Reg Rn, Vec Vd);
|
bool UMLSL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool UMULL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Reg Rn, Vec Vd);
|
bool UMULL_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool UDOT_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
bool UDOT_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, bool H, Vec Vn, Vec Vd);
|
||||||
bool FCMLA_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, Imm<2> rot, bool H, Vec Vn, Vec Vd);
|
bool FCMLA_elt(bool Q, Imm<2> size, bool L, bool M, Vec Vm, Imm<2> rot, bool H, Vec Vn, Vec Vd);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue