From b0aba4c46b14204f7de6471512136de7003877c4 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 27 Apr 1998 16:10:16 +0000 Subject: Added swap of unsigned16 --- c/src/exec/score/cpu/sh/sh.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'c/src/exec/score/cpu/sh') diff --git a/c/src/exec/score/cpu/sh/sh.h b/c/src/exec/score/cpu/sh/sh.h index 1561732c33..b6491128ed 100644 --- a/c/src/exec/score/cpu/sh/sh.h +++ b/c/src/exec/score/cpu/sh/sh.h @@ -134,7 +134,19 @@ static inline unsigned int sh_swap_u32( return( swapped ); } +static inline unsigned int sh_swap_u32( + unsigned int value +) +{ + register unsigned int swapped ; + + asm volatile ( "swap.b %1,%0 : "=r" (swapped) : "r" (value) ); + + return( swapped ); +} + #define CPU_swap_u32( value ) sh_swap_u32( value ) +#define CPU_swap_u16( value ) sh_swap_u16( value ) /* * Simple spin delay in microsecond units for device drivers. -- cgit v1.2.3