vmovd 是否有 avx-sse 转换惩罚?

Does vmovd have avx-sse transition penalty?

(假设movd前后有很多avx指令)如果我使用vmovd在通用寄存器和ymm寄存器之间移动数据,它会因为只使用ymm的1个浮点值而变慢吗?

avx-sse 转换惩罚仅在执行非 VEX 编码的 SSE 指令和 SSE 编码的指令时适用。只要您使用 vmovd 而不是 movd,一切都应该没问题。