The encoding list compression algorithm is not the sharpest knife in the drawer. It can reuse subsets of I64 encoding lists for I32 instructions, but only when the I64 lists are defined first. With this change and the previous change to the encoding list format, we get the following table sizes for the Intel ISA: ENCLISTS: 1478 B -> 662 B LEVEL2: 1072 B (unchanged) LEVEL1: 32 B -> 48 B Total: 2582 B -> 1782 B (-31%)
16 lines
355 B
Python
16 lines
355 B
Python
"""
|
|
Intel definitions.
|
|
|
|
Commonly used definitions.
|
|
"""
|
|
from __future__ import absolute_import
|
|
from cdsl.isa import TargetISA, CPUMode
|
|
import base.instructions
|
|
from . import instructions as x86
|
|
|
|
ISA = TargetISA('intel', [base.instructions.GROUP, x86.GROUP])
|
|
|
|
# CPU modes for 32-bit and 64-bit operation.
|
|
I64 = CPUMode('I64', ISA)
|
|
I32 = CPUMode('I32', ISA)
|