#1244 Add CPU32 processor variant with full instruction set support

Add Motorola CPU32 processor variant to the 68000 processor module.
CPU32 is based on the 68020 with some instructions removed and table
lookup/interpolation instructions added. Used in MC68330, MC68340,
MC68360 and similar microcontrollers.

Changes:
- 68000.sinc: @ifdef/@ifndef CPU32 conditionals
  - Added: TBL instructions, LPSTOP, BGND
  - Excluded: BFxxx, CALLM, CAS, CAS2, PACK, RTM, UNPK
- CPU32.slaspec: new language specification
- 68000.ldefs: CPU32 variant definition
- certification.manifest: CPU32.slaspec entry
- Emulator test classes and pcode_defs.py configuration

All 79 CPU32 instructions verified against CPU32 Reference Manual
(Rev 1, Dec 1990). Pcode emulator tests pass: 16/16 O0, 16/16 O3.
This commit is contained in:
Sami Saari
2026-03-28 15:31:09 +00:00
committed by ghidorahrex
parent c2647f1296
commit e50f27d6b6
7 changed files with 255 additions and 2 deletions

View File

@@ -842,3 +842,19 @@ PCodeTest({
'language_id': 'Xtensa:BE:32:default',
'ccflags': '-L %(toolchain_dir)s/lib/gcc/xtensa-elf/%(gcc_version)s',
})
PCodeTest({
'name': 'CPU32',
'build_all': 1,
'build_exe': 0,
'has_float': 0,
'has_double': 0,
'toolchain': 'm68k/m68k-linux-gnu',
'exec_prefix': 'm68k-linux-gnu-',
'gcc_version': '14',
'ccflags': '-mcpu=cpu32 -nostdlib -static',
'cclibs': '-lgcc',
'gcc_libdir': '/usr/lib/gcc-cross/m68k-linux-gnu/14',
'language_id': '68000:BE:32:CPU32',
})