diff options
author | Chen Jie <chenj@lemote.com> | 2014-08-15 16:56:58 +0800 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-09-22 13:35:46 +0200 |
commit | 3c09bae43ba92a07a6a7b7d42360deb32d289cc0 (patch) | |
tree | 7648425d5b309e76a60612ca46ba4b88bfdf729b /arch/mips/lib | |
parent | 0f33be009b89d2268e94194dc4fd01a7851b6d51 (diff) | |
download | op-kernel-dev-3c09bae43ba92a07a6a7b7d42360deb32d289cc0.zip op-kernel-dev-3c09bae43ba92a07a6a7b7d42360deb32d289cc0.tar.gz |
MIPS: Use WSBH/DSBH/DSHD on Loongson 3A
Signed-off-by: chenj <chenj@lemote.com>
Cc: linux-mips@linux-mips.org
Cc: chenhc@lemote.com
Patchwork: https://patchwork.linux-mips.org/patch/7542/
Patchwork: https://patchwork.linux-mips.org/patch/7550/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/lib')
-rw-r--r-- | arch/mips/lib/csum_partial.S | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/mips/lib/csum_partial.S b/arch/mips/lib/csum_partial.S index 9901237..4c721e2 100644 --- a/arch/mips/lib/csum_partial.S +++ b/arch/mips/lib/csum_partial.S @@ -277,9 +277,12 @@ LEAF(csum_partial) #endif /* odd buffer alignment? */ -#ifdef CONFIG_CPU_MIPSR2 +#if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_LOONGSON3) + .set push + .set arch=mips32r2 wsbh v1, sum movn sum, v1, t7 + .set pop #else beqz t7, 1f /* odd buffer alignment? */ lui v1, 0x00ff @@ -726,9 +729,12 @@ LEAF(csum_partial) addu sum, v1 #endif -#ifdef CONFIG_CPU_MIPSR2 +#if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_LOONGSON3) + .set push + .set arch=mips32r2 wsbh v1, sum movn sum, v1, odd + .set pop #else beqz odd, 1f /* odd buffer alignment? */ lui v1, 0x00ff |