Right now MOVSLDUP encoded with opcode F3 0F 12 use operand type q for both its operands which is defined as:
Quadword, regardless of operand-size attribute (for example, CALL (FF /2)).
According to the intel docs:
Duplicates even-indexed single-precision floating-point values from the source operand (the second operand). See Figure 4-4. The source operand is an XMM, YMM or ZMM register or 128, 256 or 512-bit memory location and the destination operand is an XMM, YMM or ZMM register.
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:
Right now
MOVSLDUP
encoded with opcodeF3 0F 12
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: