[host] replaced use of AVX in memcpySSE

There is no need to use AVX instructions as we are not using the
wider registers. Removing their use removes the requirement to run
a AVX capable guest CPU.
This commit is contained in:
Geoffrey McRae 2018-07-10 16:32:50 +10:00
parent b19518a1f8
commit a72ad4e46c

View file

@ -25,22 +25,22 @@ memcpySSE proc
add r10, r9 add r10, r9
@FullLoop: @FullLoop:
vmovaps xmm0 , xmmword ptr [rdx + 000h] movaps xmm0 , xmmword ptr [rdx + 000h]
vmovaps xmm1 , xmmword ptr [rdx + 010h] movaps xmm1 , xmmword ptr [rdx + 010h]
vmovaps xmm2 , xmmword ptr [rdx + 020h] movaps xmm2 , xmmword ptr [rdx + 020h]
vmovaps xmm3 , xmmword ptr [rdx + 030h] movaps xmm3 , xmmword ptr [rdx + 030h]
vmovaps xmm4 , xmmword ptr [rdx + 040h] movaps xmm4 , xmmword ptr [rdx + 040h]
vmovaps xmm5 , xmmword ptr [rdx + 050h] movaps xmm5 , xmmword ptr [rdx + 050h]
vmovaps xmm6 , xmmword ptr [rdx + 060h] movaps xmm6 , xmmword ptr [rdx + 060h]
vmovaps xmm7 , xmmword ptr [rdx + 070h] movaps xmm7 , xmmword ptr [rdx + 070h]
vmovntdq xmmword ptr [rcx + 000h], xmm0 movntdq xmmword ptr [rcx + 000h], xmm0
vmovntdq xmmword ptr [rcx + 010h], xmm1 movntdq xmmword ptr [rcx + 010h], xmm1
vmovntdq xmmword ptr [rcx + 020h], xmm2 movntdq xmmword ptr [rcx + 020h], xmm2
vmovntdq xmmword ptr [rcx + 030h], xmm3 movntdq xmmword ptr [rcx + 030h], xmm3
vmovntdq xmmword ptr [rcx + 040h], xmm4 movntdq xmmword ptr [rcx + 040h], xmm4
vmovntdq xmmword ptr [rcx + 050h], xmm5 movntdq xmmword ptr [rcx + 050h], xmm5
vmovntdq xmmword ptr [rcx + 060h], xmm6 movntdq xmmword ptr [rcx + 060h], xmm6
vmovntdq xmmword ptr [rcx + 070h], xmm7 movntdq xmmword ptr [rcx + 070h], xmm7
add rdx, 080h add rdx, 080h
add rcx, 080h add rcx, 080h
cmp rcx, r10 cmp rcx, r10
@ -71,20 +71,20 @@ memcpySSE proc
ret ret
@FinalBlocks: @FinalBlocks:
vmovaps xmm6 , xmmword ptr [rdx + 060h] movaps xmm6 , xmmword ptr [rdx + 060h]
vmovntdq xmmword ptr [rcx + 060h], xmm6 movntdq xmmword ptr [rcx + 060h], xmm6
vmovaps xmm5 , xmmword ptr [rdx + 050h] movaps xmm5 , xmmword ptr [rdx + 050h]
vmovntdq xmmword ptr [rcx + 050h], xmm5 movntdq xmmword ptr [rcx + 050h], xmm5
vmovaps xmm4 , xmmword ptr [rdx + 040h] movaps xmm4 , xmmword ptr [rdx + 040h]
vmovntdq xmmword ptr [rcx + 040h], xmm4 movntdq xmmword ptr [rcx + 040h], xmm4
vmovaps xmm3 , xmmword ptr [rdx + 030h] movaps xmm3 , xmmword ptr [rdx + 030h]
vmovntdq xmmword ptr [rcx + 030h], xmm3 movntdq xmmword ptr [rcx + 030h], xmm3
vmovaps xmm2 , xmmword ptr [rdx + 020h] movaps xmm2 , xmmword ptr [rdx + 020h]
vmovntdq xmmword ptr [rcx + 020h], xmm2 movntdq xmmword ptr [rcx + 020h], xmm2
vmovaps xmm1 , xmmword ptr [rdx + 010h] movaps xmm1 , xmmword ptr [rdx + 010h]
vmovntdq xmmword ptr [rcx + 010h], xmm1 movntdq xmmword ptr [rcx + 010h], xmm1
vmovaps xmm0 , xmmword ptr [rdx + 000h] movaps xmm0 , xmmword ptr [rdx + 000h]
vmovntdq xmmword ptr [rcx + 000h], xmm0 movntdq xmmword ptr [rcx + 000h], xmm0
movdqa xmm6 , oword ptr [rsp + 4*8 + 00] movdqa xmm6 , oword ptr [rsp + 4*8 + 00]
movdqa xmm7 , oword ptr [rsp + 4*8 + 16] movdqa xmm7 , oword ptr [rsp + 4*8 + 16]