Optimize swab operations
PATCH 1/1 Optimize swab operations
This patch uses 'wsbh' instruction to optimize swab operations. This instruction is part of the MIPS Release 2 instructions set.
---
include/asm-mips/byteorder.h | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-)
4dc5b8c501404d1d133e45ea99f1cd54bbb8e37f
include/asm-mips/byteorder.h +27 -0
@@ -8,10 +8,37 @@#ifndef _ASM_BYTEORDER_H#define _ASM_BYTEORDER_H +#include <linux/compiler.h> #include <asm/types.h> #ifdef __GNUC__ +#ifdef CONFIG_CPU_MIPSR2 + +static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 x) +{ + __asm__( +"wsbh %0, %1\n" + :"=r" (x) + :"r" (x)); +return x; +} + +static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x) +{ + __asm__( +"wsbh %0, %1\n\t" +"rotr %0, %0, 16\n" + :"=r" (x) + :"r" (x)); +return x; +} + +#define __arch__swab16 (x) ___arch__swab16(x) +#define __arch__swab32 (x) ___arch__swab32(x) + +#endif /* CONFIG_CPU_MIPSR2 */ +#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)# define __BYTEORDER_HAS_U64__# define __SWAB_64_THRU_32__
Quoted 2 lines · Franck
This patch uses 'wsbh' instruction to optimize swab operations. This instruction is part of the MIPS Release 2 instructions set.
Will apply. Small nit - you must include <linux/config.h> in every file that is refering to a CONFIG_* symbols, I'll take care of that.
Ralf
2006/1/26, Ralf Baechle <[email protected]>:
Quoted 8 lines · Franck
Quoted 3 lines
This patch uses 'wsbh' instruction to optimize swab operations. This instruction is part of the MIPS Release 2 instructions set.
Will apply. Small nit - you must include <
linux/config.h> in every file that is refering to a CONFIG_* symbols, I'll take care of that.
OK
Thanks
--
Franck
Quoted 7 lines · Ralf Baechle
Quoted 2 lines · Franck
This patch uses 'wsbh' instruction to optimize swab operations. This instruction is part of the MIPS Release 2 instructions set.
Will apply. Small nit - you must include <
linux/config.h> in every file that is refering to a CONFIG_* symbols, I'll take care of that.
That's not required anymore. the build system now implicitly includes it for every file.
Quoted 8 lines · Christoph Hellwig
Quoted 5 lines
Quoted 2 lines
This patch uses 'wsbh' instruction to optimize swab operations. This instruction is part of the MIPS Release 2 instructions set.
Will apply. Small nit - you must include <
linux/config.h> in every file that is refering to a CONFIG_* symbols, I'll take care of that.That's not required anymore. the build system now implicitly includes it for every file.
Wonderful. Was waiting for the day when this becomes the official religion. No more time wasted to make configcheck ...
Ralf
Ralf Baechle
AppliedOn Thu, Jan 26, 2006 at 12:08:25PM +0100, Franck wrote:
Applied.
Ralf
2006/1/26, Ralf Baechle <[email protected]>:
Quoted 4 lines · Franck
Applied.
I'm a bit disapointed the way you do it. You changed the patch (wrongly) and the authorships. At least you could have said: "thanks to" in your commit message. Bad experience for my first patch...
--
Franck
Quoted 3 lines · Franck Bui-Huu
I'm a bit disapointed the way you do it. You changed the patch (wrongly) and the authorships. At least you could have said: "thanks to" in your commit message. Bad experience for my first patch...
Sorry, yesterday was an extremly chaotic day and I had my thoughts elsewhere ...
When applying an emailed patch my scripts (git-applymbox that is) usually take care of proper attribution to people but since I had to edit your patch manually that didn't happen automatically.
Ralf