DynamoRIO / DynamoRIO/dynamorio
VZEROUPPER and VZEROALL do not list any register operands
Open
Component-IR
OpSys-x86
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
This is mentioned at https://github.com/DynamoRIO/dynamorio/issues/1312#issuecomment-828719213
VZEROUPPER and VZEROALL implicitly write to 16 (in 64-bit mode) SIMD registers, yet the instructions do not list any register operands in DR"s IR.
However, while listing 16 operands is possible, it may cause problems such as with DR_ISA_REGDEPS which has an upper limit on operand counts. It may be simpler to treat these like XRESTOR and related opcode which write a large amount of state at once? Tools like drreg doing dependence analysis should special-case those; better to also special-case VZEROUPPER?
Contributor guide
Assessment
This issue has not been assessed yet.