assembly - AVX-512 指令编码 - {er} 含义

标签 assembly x86 avx avx512

在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/

相关文章:

memory - 新的 Haswell AVX "gather"指令有哪些对齐限制?

c++ - AVX __m256i 有符号 32 位元素的整数除法

java - 如何将 javas "out.println"转换为汇编?不使用 printf

c++ - 混合使用 C++ 和程序集无法将多个参数从 C++ 函数传递给程序集

c - 我怎么知道指针中有多少空闲位?

assembly - 为什么在将立即值添加到内存地址处的值时需要消除歧义

c++ - 为什么 _umul128 的工作速度比 mul128x64x2 函数的标量代码慢?

windows - 汇编语言 (MASM) 和 Spectre : Variant 2 (CVE-2017-5715) Branch Target Injection

assembly - ARMv8(也称为 AArch64 或 ARM64)的默认 FPU 是什么?

x86 - 英特尔x86处理器的整数除法算法