I noticed a couple of finalize_memop related oddities while I was rebasing my decodetree series:
(1) in disas_ldst_reg_imm9(), we calculate a memop, but then when we call gen_mte_check1_mmuidx() we don't pass the memop as that function's memop argument, we just pass size. Everywhere else that calls gen_mte_check* functions passes memop. Intentional? (2) disas_ldst_reg_roffset() and disas_ldst_reg_unsigned_imm() use finalize_memop() for both vector and normal register loads/stores. Should they be using finalize_memop_asimd() for the vector versions? (3) disas_ldst_multiple_struct() and disas_ldst_single_struct() use finalize_memop() even though they always load/store vector registers. Should they be using finalize_memop_asimd() ? thanks -- PMM