diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-10-09 00:00:47 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-10-09 00:00:47 +0000 |
commit | d6434e1042f3b0a6dfe1b1f615af369486f9b1fa (patch) | |
tree | e2be02f33984c48ec019c654051d27964e42c441 /include/asm-alpha/compiler.h | |
parent | 609d1e803baf519487233b765eb487f9ec227a18 (diff) |
Merge with 2.3.19.
Diffstat (limited to 'include/asm-alpha/compiler.h')
-rw-r--r-- | include/asm-alpha/compiler.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/include/asm-alpha/compiler.h b/include/asm-alpha/compiler.h index 5656ce953..d3b2808e8 100644 --- a/include/asm-alpha/compiler.h +++ b/include/asm-alpha/compiler.h @@ -13,11 +13,13 @@ * EGCS (of varying versions) does a good job of using insxl and extxl. */ -#if __GNUC__ > 2 || __GNUC_MINOR__ >= 91 +#if 0 && (__GNUC__ > 2 || __GNUC_MINOR__ >= 91) #define __kernel_insbl(val, shift) \ (((unsigned long)(val) & 0xfful) << ((shift) * 8)) #define __kernel_inswl(val, shift) \ (((unsigned long)(val) & 0xfffful) << ((shift) * 8)) +#define __kernel_insql(val, shift) \ + ((unsigned long)(val) << ((shift) * 8)) #else #define __kernel_insbl(val, shift) \ ({ unsigned long __kir; \ @@ -27,9 +29,13 @@ ({ unsigned long __kir; \ __asm__("inswl %2,%1,%0" : "=r"(__kir) : "rI"(shift), "r"(val)); \ __kir; }) +#define __kernel_insql(val, shift) \ + ({ unsigned long __kir; \ + __asm__("insql %2,%1,%0" : "=r"(__kir) : "rI"(shift), "r"(val)); \ + __kir; }) #endif -#if __GNUC__ > 2 || __GNUC_MINOR__ >= 92 +#if 0 && (__GNUC__ > 2 || __GNUC_MINOR__ >= 92) #define __kernel_extbl(val, shift) (((val) >> (((shift) & 7) * 8)) & 0xfful) #define __kernel_extwl(val, shift) (((val) >> (((shift) & 7) * 8)) & 0xfffful) #else @@ -47,11 +53,10 @@ /* * Beginning with EGCS 1.1, GCC defines __alpha_bwx__ when the BWX * extension is enabled. Previous versions did not define anything - * we could test during compilation, so allow users to tell us when - * the compiler will DTRT. + * we could test during compilation -- too bad, so sad. */ -#if defined(HAVE_BWX) || defined(__alpha_bwx__) +#if defined(__alpha_bwx__) #define __kernel_ldbu(mem) (mem) #define __kernel_ldwu(mem) (mem) #define __kernel_stb(val,mem) ((mem) = (val)) |