2
我必須避免在SSE和AVX之間切換。我認爲MM是不同的技術,但不得不問。出下一碼導致處罰?:合併MM和YMM技術是否存在性能損失?
vmovq XMM0, RAX
pinsrw MM0, EDX, 1
vmovd XMM5, EBX
movdq2q MM1, XMM2
我必須避免在SSE和AVX之間切換。我認爲MM是不同的技術,但不得不問。出下一碼導致處罰?:合併MM和YMM技術是否存在性能損失?
vmovq XMM0, RAX
pinsrw MM0, EDX, 1
vmovd XMM5, EBX
movdq2q MM1, XMM2
MMX寄存器不別名AVX的低部分,所以沒有狀態轉移危險好像有AVX256和SSE之間。
但是,
真的沒有什麼理由混合MMX和AVX(或者根本不使用MMX,因爲SSE是普遍可用的,避免了與MMX使用相關的多種危害,並且還提供了更多的註冊名稱)。你爲什麼不簡單地在AVX(或SSE?)中做所有的操作?