DynamoRIO / DynamoRIO/dynamorio

VZEROUPPER and VZEROALL do not list any register operands

Open
#7,891 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.