Closed Kashio closed 4 months ago
Good point. I need to figure out why Intel uses this operand type in the manual.
Edit: see Core 2 manual, revision 028, 253667.pdf, opcode map.
I have reviewed it and I decided to keep it as it is. All the old Intel manuals consistently indicate the operands as MOVSHDUP Vq, Wq
. Also the VMOVSHDUP
operands are indicated as integers in the newest manual: Vx, Wx
.
I have added the following XML note to the reference (see commit 48e324cb89bce):
although this instruction operates on packed FP values, Intel manual indicates the operands with integer types; this is presumably because the operands are treated as integers during the move operation
And this should be mentioned in the docs too so I keep this issue open.
Added to the main README.
Right now
MOVSHDUP
encoded with opcodeF3 0F 16
use operand typeq
for both its operands which is defined as:According to the intel docs:
Putting aside VEX/EVEX, the instruction is dealing with 128 bit single precision fp values for both its operands, the operand type should be of type
ps
which is defined as: