20 Commits

Author SHA1 Message Date
Alexis Engelke
8dad665751 encode: Fix unhelpful warning [NFC] 2023-04-23 08:57:08 +02:00
Alexis Engelke
0b881e21dc format: Fix 64-bit immediate on 32-bit platforms 2023-03-12 17:10:01 +01:00
Alexis Engelke
36c37186dd encode-test: Test all REX/VEX.RXB combinations 2023-01-15 13:38:28 +01:00
Alexis Engelke
2f7e8dd0de encode: Remove descriptor table
All relevant information is now encoded directly in the numeric value of
the mnemonic, significantly shrinking the size of the encoder.
2023-01-15 11:09:40 +01:00
Alexis Engelke
fe6fe0ffc1 instrs: Add CMPCCXADD 2022-11-27 13:39:37 +01:00
Alexis Engelke
7142478f41 encode: Fix MVR operand order 2022-11-27 13:39:37 +01:00
Ole André Vadla Ravnås
a05d52fdd0 windows: Add support for building with MSVC 2022-11-01 19:22:43 +01:00
Alexis Engelke
2fd83903cf meson,parseinstrs: Make decode and encode optional 2022-02-20 17:15:21 +01:00
Ole André Vadla Ravnås
8e56088c6f encode: Fix OPC_*_MSK on 32-bit systems
Where we'd end up losing the upper bits.

GCC catches this and emits a warning such as:

    warning: result of '7 << 31' requires 35 bits to represent, but
        'long int' only has 32 bits [-Wshift-overflow=]
2022-01-06 09:46:50 +01:00
Alexis Engelke
4185d7b2d6 encode: Support FD/TD encodings 2021-04-02 11:26:12 +02:00
Alexis Engelke
fa52782e76 encode: Enforce 15-byte limit 2021-04-02 11:00:24 +02:00
Alexis Engelke
d9183228d0 encode: Actually encode LOCK prefix 2021-04-02 10:59:06 +02:00
Alexis Engelke
cf8d1be15f encode: Fix erroneous encoding of SREG push/pop 2021-03-23 13:25:30 +01:00
Alexis Engelke
5faa90a292 encode: Support RVMR encoding 2021-03-23 12:55:43 +01:00
Alexis Engelke
1458bf9673 encode: Support VEX-encoded instructions 2021-01-10 16:03:40 +01:00
Alexis Engelke
018a954b4c encode: Use macro for OPC_SEG mask 2021-01-07 10:20:00 +01:00
Alexis Engelke
dfb28c923d encode: Make internal escape encoding more compact 2021-01-07 10:03:58 +01:00
Alexis Engelke
d2bf961b77 instrs: Properly handle PUSH/POP of SEG registers 2021-01-03 20:08:34 +01:00
Alexis Engelke
62b0420147 parseinstr: Simplify opcode naming scheme 2020-11-09 09:47:36 +01:00
Alexis Engelke
69ce124354 encode: Add library for x86-64 encoding 2020-11-09 09:46:38 +01:00