VEX前缀可以与通用指令一起使用吗?

时间:2016-03-06 00:24:04

标签: x86 machine-code

我发现英特尔和AMD手册都不清楚VEX前缀是否可用于没有为其定义特殊行为的指令,REX可以显示的方式。例如,CPUID0F A2,我可以将其编码为VEX.LIG.0F.WIG A2C4 E1 78 A2)吗? NOP使用VEX VEX.LIG.WIG 90形式的C5 F8 90EVEX)会怎样?

如果允许,是否必须将未使用的字段设置为特定值?那么bool Image::isPointInsideRectangle(int x, int y, const ofRectangle & rectangle){ return x - xOffset >= rectangle.getX() && x - xOffset <= rectangle.getX() + rectangle.getWidth() && y - yOffset >= rectangle.getY() && y - yOffset <= rectangle.getY() + rectangle.getHeight(); } 呢?

1 个答案:

答案 0 :(得分:4)

没有

英特尔的insn ref手册(第2卷)非常清楚。请参阅 wiki中的链接。它列出了每个指令助记符的所有有效编码。例如,它单独列出了PSHUFB的非VEX和VEX编码。同样,Intel Future Extensions pdf列出了每个EVEX指令的所有有效编码。

列出imul的非VEX编码,因为没有VEX编码。

列出pext r64a, r64b, r/m64的VEX编码,因为该BMI2整数指令仅适用于VEX编码。