Define I64 before I32 for better encoding table compression.

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%)
This commit is contained in:
Jakob Stoklund Olesen
2017-07-21 13:04:18 -07:00
parent 2ccb261e8d
commit 5a2bb8ba32

View File

@@ -11,5 +11,5 @@ from . import instructions as x86
ISA = TargetISA('intel', [base.instructions.GROUP, x86.GROUP])
# CPU modes for 32-bit and 64-bit operation.
I32 = CPUMode('I32', ISA)
I64 = CPUMode('I64', ISA)
I32 = CPUMode('I32', ISA)