patch-2.2.10 linux/include/asm-alpha/bitops.h
Next file: linux/include/asm-alpha/init.h
Previous file: linux/include/asm-alpha/atomic.h
Back to the patch index
Back to the overall index
- Lines: 48
- Date:
Sat May 22 13:42:53 1999
- Orig file:
v2.2.9/linux/include/asm-alpha/bitops.h
- Orig date:
Wed Sep 9 14:51:09 1998
diff -u --recursive --new-file v2.2.9/linux/include/asm-alpha/bitops.h linux/include/asm-alpha/bitops.h
@@ -90,6 +90,7 @@
" xor %0,%3,%0\n"
" stl_c %0,%1\n"
" beq %0,3f\n"
+ " mb\n"
"2:\n"
".section .text2,\"ax\"\n"
"3: br 1b\n"
@@ -114,6 +115,7 @@
" xor %0,%3,%0\n"
" stl_c %0,%1\n"
" beq %0,3f\n"
+ " mb\n"
"2:\n"
".section .text2,\"ax\"\n"
"3: br 1b\n"
@@ -137,6 +139,7 @@
" xor %0,%3,%0\n"
" stl_c %0,%1\n"
" beq %0,3f\n"
+ " mb\n"
".section .text2,\"ax\"\n"
"3: br 1b\n"
".previous"
@@ -172,7 +175,10 @@
extern inline unsigned long ffz(unsigned long word)
{
-#ifdef __alpha_cix__
+#if 0 && defined(__alpha_cix__)
+ /* Swine architects -- a year after they publish v3 of the
+ handbook, in the 21264 data sheet they quietly change CIX
+ to FIX and remove the spiffy counting instructions. */
/* Whee. EV6 can calculate it directly. */
unsigned long result;
__asm__("ctlz %1,%0" : "=r"(result) : "r"(~word));
@@ -208,7 +214,10 @@
* of bits set) of a N-bit word
*/
-#ifdef __alpha_cix__
+#if 0 && defined(__alpha_cix__)
+/* Swine architects -- a year after they publish v3 of the handbook, in
+ the 21264 data sheet they quietly change CIX to FIX and remove the
+ spiffy counting instructions. */
/* Whee. EV6 can calculate it directly. */
extern __inline__ unsigned long hweight64(unsigned long w)
{
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)