【问题标题】:Is there a performance penalty merging MM and YMM technologies?合并 MM 和 YMM 技术是否存在性能损失?
【发布时间】:2013-10-21 00:43:10
【问题描述】:

我必须避免在 SSE 和 AVX 之间切换。我认为MM是不同的技术,但不得不问。下一个代码会导致处罚吗?:

vmovq XMM0, RAX
pinsrw MM0, EDX, 1
vmovd XMM5, EBX
movdq2q MM1, XMM2

【问题讨论】:

    标签: optimization assembly intel sse avx


    【解决方案1】:

    MMX 寄存器不对 AVX 的低位部分起别名,因此不会像 AVX256 和 SSE 之间那样存在状态转换危险。

    但是。

    确实没有充分的理由混合 MMX 和 AVX(或者根本没有使用 MMX,因为 SSE 是普遍可用的,并且避免了与 MMX 使用相关的一些危险,并且还为您提供了更多的寄存器名称)。为什么不简单地在 AVX(或 SSE)中进行所有操作?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 2018-04-23
      • 2014-04-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多