在Intel x86 Instruction Set Reference中,有很多AVX-512指令在指令中有一个可选的{er}。例如,一种形式的 VADDPD 定义为
EVEX.NDS.512.66.0F.W1 58 /r
VADDPD zmm1 {k1}{z}, zmm2,
zmm3/m512/m64bcst{er}
{er} 是什么意思?
最佳答案
来自英特尔 SDM 卷 2A,3.1.1.3“操作码摘要表中的指令列”:
{er} — Indicates support for embedded rounding control, which is only applicable to the register-register form of the instruction. This also implies support for SAE (Suppress All Exceptions).
前面的 2.6.8 节指出 {er} 在适用时可以在 EVEX.L´L 中编码:
Static rounding control embedded in the EVEX encoding system applies only to register-to-register flavor of floating-point instructions with rounding semantic at two distinct vector lengths: (i) scalar, (ii) 512-bit. In both cases, the field EVEX.L’L expresses rounding mode control overriding MXCSR.RC if EVEX.b is set. When EVEX.b is set, “suppress all exceptions” is implied. The processor behaves as if all MXCSR masking controls are set.
关于assembly - AVX-512 指令编码 - {er} 含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43648361/