capstone/tests/MC/Mips
Giovanni 81a6ba0389
MIPS: Fix MIPS16 decoding, wrong flags and ghost registers (#2665)
* Disable Mips_FeatureUseIndirectJumpsHazard

Mips_FeatureUseIndirectJumpsHazard is only used for jalr when used in
mips32 configs.

* DDIV test

* Fix details on instructions that contains ghost registers.

* Add missing MIPS tables & Fix mips16 and JrcRa16/AddiuSpImmX16 decoding.

Mips16 decoding of JrcRa16 & AddiuSpImmX16 was expecting the wrong bits.

Implement DecodeCPU16RegsRegisterClass for Mips16

Adds missing mips decoding tables:
- DecoderTableNanoMips_Conflict_Space16
- DecoderTableMicroMipsR6_Ambiguous32
- DecoderTableMicroMipsDSP32
- DecoderTable16
- DecoderTable32
- DecoderTableMips32r6_64r6_Ambiguous32
- DecoderTableMips32r6_64r6_BranchZero32
- DecoderTableMipsDSP32

* Patch details only when details are request.

* Fix wrong tests

* Address comments

* Add mips DSP test

* microMips32r3 DSP

* Test Conflict_Space16

* Test Conflict_Space16
2025-04-04 13:40:01 +08:00
..
hilo-addressing.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
invalid-xfail.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
invalid.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
mftr-mttr-aliases.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
mftr-mttr-reserved-valid.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
micromips-alu-instructions-EB.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
micromips-alu-instructions.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
micromips-branch-instructions-EB.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
micromips-branch-instructions.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
micromips-expansions.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
micromips-jump-instructions-EB.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
micromips-jump-instructions.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
micromips-loadstore-instructions-EB.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
micromips-loadstore-instructions.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
micromips-loadstore-unaligned-EB.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
micromips-loadstore-unaligned.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
micromips-movcond-instructions-EB.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
micromips-movcond-instructions.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
micromips-multiply-instructions-EB.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
micromips-multiply-instructions.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
micromips-shift-instructions-EB.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
micromips-shift-instructions.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
micromips-trap-instructions-EB.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
micromips-trap-instructions.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
mips-alu-instructions.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
mips-control-instructions-64.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
mips-control-instructions.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
mips-coprocessor-encodings.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
mips-dsp-instructions.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
mips-expansions.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
mips-fpu-instructions.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
mips-memory-instructions.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
mips-register-names.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
mips64-alu-instructions.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
mips64-instructions.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
mips64-register-names.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
mips_directives.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
nabi-regs.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
set-at-directive.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_2r.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_2r.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_2r_msa64.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_2rf.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_2rf.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_3r.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_3r.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_3rf.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_3rf.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_bit.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_bit.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_ctrlregs.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_ctrlregs.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_dlsa.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_elm.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_elm.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_elm_insert.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_elm_insert.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_elm_insert_msa64.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_elm_insve.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_elm_insve.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_elm_msa64.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_i5.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_i5.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_i8.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_i8.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_i10.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_i10.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_lsa.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_lsa.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_mi10.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_mi10.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
test_vec.s.yaml Modern Testing (#2456) 2024-08-31 21:33:38 +08:00
test_vec.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-32-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-32.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-32r6-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-32r6.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-64-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-64.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-64r6-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-64r6.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-fp64-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-fp64.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-micromips-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-micromips.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-micromips32r3.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips1-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips1.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips2-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips2.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips3-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips3.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips4-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips4.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips32-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips32.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips32r2-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips32r2.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips32r3-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips32r3.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips32r5-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips32r5.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips32r6-el.txt.yaml MIPS: Fix MIPS16 decoding, wrong flags and ghost registers (#2665) 2025-04-04 13:40:01 +08:00
valid-mips32r6.txt.yaml MIPS: Fix MIPS16 decoding, wrong flags and ghost registers (#2665) 2025-04-04 13:40:01 +08:00
valid-mips64-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips64-xfail.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips64.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips64r2-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips64r2.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips64r3-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips64r3.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips64r5-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips64r5.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips64r6-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-mips64r6.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-r2-el.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-r2.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-xfail-mips32.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-xfail-mips32r2.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-xfail-mips32r3.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-xfail-mips32r5.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-xfail-mips32r6.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-xfail-mips64r2.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-xfail-mips64r3.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-xfail-mips64r5.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-xfail-mips64r6.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid-xfail.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid.s.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid_R6-eva.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00
valid_preR6-eva.txt.yaml Auto-Sync Mips (#2410) 2024-09-07 22:30:47 +08:00