Skip to content

Commit

Permalink
[PATCH] bitops: alpha: use config options instead of __alpha_fix__ an…
Browse files Browse the repository at this point in the history
…d __alpha_cix__

Use config options instead of gcc builtin definition to tell the use of
instruction set extensions (CIX and FIX).

This is introduced to tell the kbuild system the use of opmized hweight*()
routines on alpha architecture.

Signed-off-by: Akinobu Mita <mita@miraclelinux.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Akinobu Mita authored and Linus Torvalds committed Mar 26, 2006
1 parent 2054866 commit 4b417d0
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 12 deletions.
2 changes: 1 addition & 1 deletion arch/alpha/lib/ev6-memchr.S
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ $last_quad:
beq $2, $not_found # U : U L U L

$found_it:
#if defined(__alpha_fix__) && defined(__alpha_cix__)
#ifdef CONFIG_ALPHA_EV67
/*
* Since we are guaranteed to have set one of the bits, we don't
* have to worry about coming back with a 0x40 out of cttz...
Expand Down
8 changes: 4 additions & 4 deletions arch/alpha/lib/fpreg.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* (C) Copyright 1998 Linus Torvalds
*/

#if defined(__alpha_cix__) || defined(__alpha_fix__)
#if defined(CONFIG_ALPHA_EV6) || defined(CONFIG_ALPHA_EV67)
#define STT(reg,val) asm volatile ("ftoit $f"#reg",%0" : "=r"(val));
#else
#define STT(reg,val) asm volatile ("stt $f"#reg",%0" : "=m"(val));
Expand Down Expand Up @@ -53,7 +53,7 @@ alpha_read_fp_reg (unsigned long reg)
return val;
}

#if defined(__alpha_cix__) || defined(__alpha_fix__)
#if defined(CONFIG_ALPHA_EV6) || defined(CONFIG_ALPHA_EV67)
#define LDT(reg,val) asm volatile ("itoft %0,$f"#reg : : "r"(val));
#else
#define LDT(reg,val) asm volatile ("ldt $f"#reg",%0" : : "m"(val));
Expand Down Expand Up @@ -98,7 +98,7 @@ alpha_write_fp_reg (unsigned long reg, unsigned long val)
}
}

#if defined(__alpha_cix__) || defined(__alpha_fix__)
#if defined(CONFIG_ALPHA_EV6) || defined(CONFIG_ALPHA_EV67)
#define STS(reg,val) asm volatile ("ftois $f"#reg",%0" : "=r"(val));
#else
#define STS(reg,val) asm volatile ("sts $f"#reg",%0" : "=m"(val));
Expand Down Expand Up @@ -147,7 +147,7 @@ alpha_read_fp_reg_s (unsigned long reg)
return val;
}

#if defined(__alpha_cix__) || defined(__alpha_fix__)
#if defined(CONFIG_ALPHA_EV6) || defined(CONFIG_ALPHA_EV67)
#define LDS(reg,val) asm volatile ("itofs %0,$f"#reg : : "r"(val));
#else
#define LDS(reg,val) asm volatile ("lds $f"#reg",%0" : : "m"(val));
Expand Down
10 changes: 5 additions & 5 deletions include/asm-alpha/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ static inline unsigned long ffz_b(unsigned long x)

static inline unsigned long ffz(unsigned long word)
{
#if defined(__alpha_cix__) && defined(__alpha_fix__)
#if defined(CONFIG_ALPHA_EV6) && defined(CONFIG_ALPHA_EV67)
/* Whee. EV67 can calculate it directly. */
return __kernel_cttz(~word);
#else
Expand All @@ -281,7 +281,7 @@ static inline unsigned long ffz(unsigned long word)
*/
static inline unsigned long __ffs(unsigned long word)
{
#if defined(__alpha_cix__) && defined(__alpha_fix__)
#if defined(CONFIG_ALPHA_EV6) && defined(CONFIG_ALPHA_EV67)
/* Whee. EV67 can calculate it directly. */
return __kernel_cttz(word);
#else
Expand Down Expand Up @@ -313,7 +313,7 @@ static inline int ffs(int word)
/*
* fls: find last bit set.
*/
#if defined(__alpha_cix__) && defined(__alpha_fix__)
#if defined(CONFIG_ALPHA_EV6) && defined(CONFIG_ALPHA_EV67)
static inline int fls(int word)
{
return 64 - __kernel_ctlz(word & 0xffffffff);
Expand All @@ -326,7 +326,7 @@ static inline int fls(int word)
/* Compute powers of two for the given integer. */
static inline long floor_log2(unsigned long word)
{
#if defined(__alpha_cix__) && defined(__alpha_fix__)
#if defined(CONFIG_ALPHA_EV6) && defined(CONFIG_ALPHA_EV67)
return 63 - __kernel_ctlz(word);
#else
long bit;
Expand All @@ -347,7 +347,7 @@ static inline long ceil_log2(unsigned long word)
* of bits set) of a N-bit word
*/

#if defined(__alpha_cix__) && defined(__alpha_fix__)
#if defined(CONFIG_ALPHA_EV6) && defined(CONFIG_ALPHA_EV67)
/* Whee. EV67 can calculate it directly. */
static inline unsigned long hweight64(unsigned long w)
{
Expand Down
4 changes: 2 additions & 2 deletions include/asm-alpha/fpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ rdfpcr(void)
{
unsigned long tmp, ret;

#if defined(__alpha_cix__) || defined(__alpha_fix__)
#if defined(CONFIG_ALPHA_EV6) || defined(CONFIG_ALPHA_EV67)
__asm__ __volatile__ (
"ftoit $f0,%0\n\t"
"mf_fpcr $f0\n\t"
Expand All @@ -154,7 +154,7 @@ wrfpcr(unsigned long val)
{
unsigned long tmp;

#if defined(__alpha_cix__) || defined(__alpha_fix__)
#if defined(CONFIG_ALPHA_EV6) || defined(CONFIG_ALPHA_EV67)
__asm__ __volatile__ (
"ftoit $f0,%0\n\t"
"itoft %1,$f0\n\t"
Expand Down

0 comments on commit 4b417d0

Please sign in to comment.