Hello, I did exhaustive comparisons against latest binutils and found the following undefined instructions that QEMU fails to flag:
- in disas_b_exc_sys, before calling disas_system bits [23:22] should be checked to be 0 - in disas_ldst_reg_imm9, PRFM is wrongly detected: PRFM is for idx = 0, not for is_unpriv, the rest being undefined - in disas_ldst_multiple_struct, if the instruction is not post-indexed, then bits [20:16] should be checked to be 0 - in disas_ldst_single_struct, if the instruction is not post-indexed, then bits [20:16] should be checked to be 0; also bit [31] should be 0 - in disas_add_sub_ext_reg, bits [23:22] should be checked to be 0 - in disas_data_proc_1src, there's a missing default that would flag undefined instructions - in disas_fp_1src, disas_fp_2src, disas_fp_3src, and disas_fp_imm bits, [31:29] should be checked to be 0 - in disas_fp_imm, bits [9:5] should be checked to be 0 - in disas_simd_indexed, SDOT and UDOT are not scalar instructions. That's all I found. I hope I didn't make any transcription error :-) Thanks, Laurent