target/i386: document more deviations from the manual
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
2455e9cf5a
commit
8147df44da
@ -26,6 +26,13 @@
|
||||
* size (X86_SIZE_*) codes used in the manual. There are a few differences
|
||||
* though.
|
||||
*
|
||||
* Operand sizes
|
||||
* -------------
|
||||
*
|
||||
* The manual lists d64 ("cannot encode 32-bit size in 64-bit mode") and f64
|
||||
* ("cannot encode 16-bit or 32-bit size in 64-bit mode") as modifiers of the
|
||||
* "v" or "z" sizes. The decoder simply makes them separate operand sizes.
|
||||
*
|
||||
* Vector operands
|
||||
* ---------------
|
||||
*
|
||||
@ -44,6 +51,11 @@
|
||||
* if the difference is expressed via prefixes. Individual instructions
|
||||
* are separated by prefix in the generator functions.
|
||||
*
|
||||
* There is a custom size "xh" used to address half of a SSE/AVX operand.
|
||||
* This points to a 64-bit operand for SSE operations, 128-bit operand
|
||||
* for 256-bit AVX operands, etc. It is used for conversion operations
|
||||
* such as VCVTPH2PS or VCVTSS2SD.
|
||||
*
|
||||
* There are a couple cases in which instructions (e.g. MOVD) write the
|
||||
* whole XMM or MM register but are established incorrectly in the manual
|
||||
* as "d" or "q". These have to be fixed for the decoder to work correctly.
|
||||
|
Loading…
Reference in New Issue
Block a user