[PATCH] MIPS: R2 build fixes for gcc < 3.4.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
97644aa31c
commit
ce0bd8e0b2
@@ -654,7 +654,12 @@ static inline unsigned long fls(unsigned long word)
|
||||
{
|
||||
#ifdef CONFIG_32BIT
|
||||
#ifdef CONFIG_CPU_MIPS32
|
||||
__asm__ ("clz %0, %1" : "=r" (word) : "r" (word));
|
||||
__asm__ (
|
||||
" .set mips32 \n"
|
||||
" clz %0, %1 \n"
|
||||
" .set mips0 \n"
|
||||
: "=r" (word)
|
||||
: "r" (word));
|
||||
|
||||
return 32 - word;
|
||||
#else
|
||||
@@ -678,7 +683,12 @@ static inline unsigned long fls(unsigned long word)
|
||||
#ifdef CONFIG_64BIT
|
||||
#ifdef CONFIG_CPU_MIPS64
|
||||
|
||||
__asm__ ("dclz %0, %1" : "=r" (word) : "r" (word));
|
||||
__asm__ (
|
||||
" .set mips64 \n"
|
||||
" dclz %0, %1 \n"
|
||||
" .set mips0 \n"
|
||||
: "=r" (word)
|
||||
: "r" (word));
|
||||
|
||||
return 64 - word;
|
||||
#else
|
||||
|
||||
@@ -19,7 +19,9 @@
|
||||
static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 x)
|
||||
{
|
||||
__asm__(
|
||||
" .set mips32r2 \n"
|
||||
" wsbh %0, %1 \n"
|
||||
" .set mips0 \n"
|
||||
: "=r" (x)
|
||||
: "r" (x));
|
||||
|
||||
@@ -30,8 +32,10 @@ static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 x)
|
||||
static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x)
|
||||
{
|
||||
__asm__(
|
||||
" .set mips32r2 \n"
|
||||
" wsbh %0, %1 \n"
|
||||
" rotr %0, %0, 16 \n"
|
||||
" .set mips0 \n"
|
||||
: "=r" (x)
|
||||
: "r" (x));
|
||||
|
||||
|
||||
@@ -20,7 +20,9 @@ __asm__ (
|
||||
" .set reorder \n"
|
||||
" .set noat \n"
|
||||
#ifdef CONFIG_CPU_MIPSR2
|
||||
" .set mips32r2 \n"
|
||||
" ei \n"
|
||||
" .set mips0 \n"
|
||||
#else
|
||||
" mfc0 $1,$12 \n"
|
||||
" ori $1,0x1f \n"
|
||||
@@ -63,7 +65,9 @@ __asm__ (
|
||||
" .set push \n"
|
||||
" .set noat \n"
|
||||
#ifdef CONFIG_CPU_MIPSR2
|
||||
" .set mips32r2 \n"
|
||||
" di \n"
|
||||
" .set mips0 \n"
|
||||
#else
|
||||
" mfc0 $1,$12 \n"
|
||||
" ori $1,0x1f \n"
|
||||
@@ -103,8 +107,10 @@ __asm__ (
|
||||
" .set reorder \n"
|
||||
" .set noat \n"
|
||||
#ifdef CONFIG_CPU_MIPSR2
|
||||
" .set mips32r2 \n"
|
||||
" di \\result \n"
|
||||
" andi \\result, 1 \n"
|
||||
" .set mips0 \n"
|
||||
#else
|
||||
" mfc0 \\result, $12 \n"
|
||||
" ori $1, \\result, 0x1f \n"
|
||||
@@ -133,9 +139,11 @@ __asm__ (
|
||||
* Slow, but doesn't suffer from a relativly unlikely race
|
||||
* condition we're having since days 1.
|
||||
*/
|
||||
" .set mips32r2 \n"
|
||||
" beqz \\flags, 1f \n"
|
||||
" di \n"
|
||||
" ei \n"
|
||||
" .set mips0 \n"
|
||||
"1: \n"
|
||||
#elif defined(CONFIG_CPU_MIPSR2)
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user