[fpc-devel] x86ins.dat
tgrundke
fckama at freenet.de
Sat Jan 7 13:53:36 CET 2012
Hi,
i am working on the AVX-support for the fp-compiler.
Some AVX-assembler instructions have 4 operant e.g.
VBLENDVPD xmm1, xmm2, xmm3/m128, xmm4
INTEL Def.
3.1.1.2 Opcode Column in the Instruction Summary Table (Instructions
with VEX prefix)
/is4: An 8-bit immediate byte is present containing a source register
specifier in
imm[7:4] and instruction-specific payload in imm[3:0].
I need a idea, how can i encode (in file x86ins.dat) the 4th operant.
My idea:
new flag \77 =>> 4th operand is coded in bit 4-7 and the follow byte
define the bits 0-3
e.g.
[VBLENDVPD]
(Ch_All, Ch_None, Ch_None)
xmmreg,xmmreg,xmmrm,xmmreg
\361\362\372\1\x4B\75\120\77\x00 AVX,SANDYBRIDGE
\ 361 = prefix 066h for SSE instruction
\ 362 = new flag VEX (starting with 0xC5 or 0xC4)
\ 372 = new flag VEX-CODE include prefix 0x0F3A
\ 75 = VEX-BYTE contains operand no. 2
\ 120 = operands 1 and 3 encoded in MODRM-Byte
\ 77 = immediate byte (bit 4-7) contains 4th operand
\ 00 = immediate byte (bit 0-3) = 0
i look forward to comments.
regards
Torsten Grundke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20120107/7dfa4692/attachment.html>
More information about the fpc-devel
mailing list