Intel ARCHITECTURE IA-32 User Manual

Page 341

Advertising
background image

Optimizing Cache Usage

6

6-51

prefetch_loop:

movaps xmm0, [esi+ecx]

movaps xmm0, [esi+ecx+64]

add ecx,128

cmp ecx,BLOCK_SIZE

jne prefetch_loop

xor ecx,ecx

align 16

cpy_loop:

movdqa xmm0,[esi+ecx]

movdqa xmm1,[esi+ecx+16]

movdqa xmm2,[esi+ecx+32]

movdqa xmm3,[esi+ecx+48]

movdqa xmm4,[esi+ecx+64]

movdqa xmm5,[esi+ecx+16+64]

movdqa xmm6,[esi+ecx+32+64]

movdqa xmm7,[esi+ecx+48+64]

movntdq [edi+ecx],xmm0

movntdq [edi+ecx+16],xmm1

movntdq [edi+ecx+32],xmm2

movntdq [edi+ecx+48],xmm3

movntdq [edi+ecx+64],xmm4

movntdq [edi+ecx+80],xmm5

movntdq [edi+ecx+96],xmm6

movntdq [edi+ecx+112],xmm7

add ecx,128

cmp ecx,BLOCK_SIZE

jne cpy_loop

Advertising