Ten broadcast byte do všech lanes teda nic moc.
Dřív se používalo spíš něco jako toto (kompaktnější):
IMUL eax, eax, 0x01010101 // broadcast byte to dword MOVD xmm0, eax PSHUFD xmm0, xmm0, 0x00 // broadcast dword to dqword
Nebo třeba toto (ideálně pokud už konstanta 0 je v registru xmm7):
PXOR xmm7, xmm7 // xmm7 = 0 MOVD xmm0, eax PSHUFB xmm0, xmm7 // broadcast byte to dqword
Ale není nad AVX512:
VPBROADCASTB xmm0, eax // broadcast byte to dqword