提交 993a93c8 编写于 作者: M Mao Minkai 提交者: guzitao

sw64: fix simd version of memset

Sunway inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I5GFOO

--------------------------------

In commit 20b900c4 ("sw64: optimize simd version of memcpy and
memset"), _nc instructions are used to improve performance, but the
position of memb instruction in memset is wrong. Fix it.

Fixes: 20b900c4 ("sw64: optimize simd version of memcpy and memset")
Signed-off-by: NMao Minkai <maominkai@wxiat.com>
Signed-off-by: NGu Zitao <guzitao@wxiat.com>
上级 b6bc5e6d
......@@ -99,12 +99,11 @@ $mod32_aligned:
.align 5
$mod32_loop_nc:
subl $18, 64, $18
blt $18, $mod32_tail
blt $18, $mod32_tail_memb
vstd_nc $f10, 0($16)
vstd_nc $f10, 32($16)
addl $16, 64, $16
br $31, $mod32_loop_nc
memb # required for _nc store instructions
.align 5
$mod32_loop:
......@@ -115,6 +114,8 @@ $mod32_loop:
addl $16, 64, $16
br $31, $mod32_loop
$mod32_tail_memb:
memb # required for _nc store instructions
$mod32_tail:
vldd $f10, 0($4)
addl $sp, 64, $sp
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册