aboutsummaryrefslogtreecommitdiff
path: root/src/shared
AgeCommit message (Collapse)Author
2023-12-16fix incorrect register selection for `vpmovm2*` with `rex.b` setiximeow
2023-07-04incidental cleanup, see if inlining in evex helps/hurts (it hurts)iximeow
2021-12-17write `apply_disp_scale` in a mode-agnostic wayiximeow
`apply_disp_scale` forgot that `wrapping_mul` exists, so we don't need to explicitly write the size of value that `mem_size` should be cast to, in casting to/from a signed integer. taken with `.into()`, we don't need per-architecture stubs to make evex decoding work.
2021-12-17do not panic on negative compressed displacements, i mean it!!iximeow
2021-08-22bump to yaxpeax-arch 0.2.7 and proper field description support1.1.0iximeow
2021-08-21provide decoder annotation for evex prefixiximeow
2021-08-21extend annotation reporting to 32- and 16-bit modes, kindaiximeow
2021-07-04support vpscatter{dd,dq,qd,qq}iximeow
2021-07-04support avx512 registers >=16iximeow
2021-07-03be more strict about denying invalid operandsiximeow
2021-07-03instructions with evex-coded registers may have registers other than 0iximeow
2021-07-03enforce reserved evex prefix bitsiximeow
2021-07-03vbroadcastsd requires Wiximeow
2021-07-03reject instructions when their opcode is `Invalid`iximeow
the evex route would allow "valid" instructions that have the opcode `invalid`. this is.. not correct.
2021-07-02fix several strict rejection for severaliximeow
2021-07-01reallocate OperandCode, convert disparate registers to arrayiximeow
also remove redundant assignments of operand_count and some OperandSpec, bulk-assign all registers and operands on entry to `read_instr`. this all, taken together, shaves off about 7 cycles per decode.
2021-06-29fix several lingering mem_size discrepanciesiximeow
2021-06-28remove unused evex variants from generated codeiximeow
2021-06-27protected-mode avx512iximeow
2021-06-27all tests now passing for long modeiximeow
2021-06-26add long-mode avx512 support, except for compressed displacementsiximeow