Age | Commit message (Collapse) | Author | Files | Lines |
|
Add copyright notices to the other *.dat files.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
ymm1-15 were incorrectly listed as starting at register number 0, with
obviously disastrous consequences...
|
|
Make it possible to use ymm0 as a fixed operand in instructions
|
|
Add support for ymm0..15 registers, and the "ymmreg" qualifier.
No support yet for "yword" or "dy".
|
|
The handling of XCHG in 64-bit mode somewhat broken. Add a register
flag for "not accumulator", so we can generate all the appropriate
modes.
|
|
Add the SSSE3, SSE4.1 and SSE4.2 instruction sets. Change \332 to be
a literal 0xF2 prefix, by analog with \333 for 0xF3 prefix (the
previous \332 flag changed to \335). This is necessary to get the REX
prefix in the right place for instructions that use it.
We are going to have to go in and change existing instruction patterns
which use these, as well.
|
|
Remove CVS $Id$ tags, since git doesn't use them.
|
|
Implement "REL" and "ABS" modifiers for offsets in 64-bit mode. This
replaces "rip+XXX" type addressing. The infrastructure to set the default
mode is there, but there is nothing to throw the switch just yet.
|
|
Handle dashed sequences with suffixes. Use that for r8-r15[bwd].
|
|
Get rid of magic open-coded register numbers. We now keep track of
a total of three different kinds of register numbers: the register
enumeration (regs.h), the x86 register value, and the register flags.
That has all the information we need.
Additionally, do massive revamping of the EA generation code and the
REX generation logic.
|
|
|
|
|
|
|
|
We used to use * to mean substitute in 0-7. Now it means that it should
be incremented 8 times. Using a different character feels cleaner.
|
|
64-bit support required some major changes to regs.dat; clean some of
it up (re-introduce patterns, where appropriate) and allow a single
register to belong to multiple disassembly classes; also keep track
of the x86 register number again.
|
|
|
|
|
|
|
|
a) Automatically generate dependencies for all Makefiles;
b) Move register definitions to a separate .dat file;
c) Add support for "unimplemented but there in theory" registers.
|