diff options
Diffstat (limited to 'rgo/src/memcpy.S')
-rw-r--r-- | rgo/src/memcpy.S | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/rgo/src/memcpy.S b/rgo/src/memcpy.S index d20e9d6..51d82f9 100644 --- a/rgo/src/memcpy.S +++ b/rgo/src/memcpy.S @@ -3,11 +3,11 @@ This file is part of rgo. - rgo is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + rgo is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - rgo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + rgo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - You should have received a copy of the GNU Lesser General Public License along with rgo. If not, see <https://www.gnu.org/licenses/>. + You should have received a copy of the GNU Lesser General Public License along with rgo. If not, see <https://www.gnu.org/licenses/>. */ #include <rgo.h> @@ -29,11 +29,11 @@ rgo_memcpy: movq %rsi,%r9 /* r10: Temporary. */ /* xmm0: Temporary. */ -.big128cpy: /* SSE2 is a part of AMD64. */ +.big128cpy: cmpq $0x10,%r9 jl .wrdcpy - movdqu (%rcx),%xmm0 - movdqu %xmm0,(%r8) + movups (%rcx),%xmm0 + movups %xmm0,(%r8) addq $0x10,%rcx addq $0x10,%r8 subq $0x10,%r9 @@ -49,7 +49,7 @@ rgo_memcpy: jmp .wrdcpy .bytecpy: testq %r9,%r9 - je .done + jz .done movb (%rcx),%r10b movb %r10b,(%r8) incq %rcx |