kernel_optimize_test/include
David Daney 94daeb9069 [MIPS] Fix asm constraints for 'ins' instructions.
The third operand to 'ins' must be a constant int, not a register.

[Ralf: The bug was actually intensional.  Some versions used to throw an
error under certain circumstances for code like:

static inline void f(unsigned nr, unsigned *p)
{
	unsigned short bit = nr & 5;

	if (__builtin_constant_p(bit)) {
		__asm__ __volatile__ ("  foo %0, %1" : "=m" (*p) : "i" (bit));
  	} else {
		/* Do something else. */
	}
}

because gcc was not able to figure out that the "i" constraint was possibly
at the early stage when the constraint are getting verified.  The solution
was using "ri" instead of "i".  The "ri" would keep gcc happy but in the
end for code generation always the "i" constraint would be satisfied.  The
problem afair originally appeared in the i386 io.h and also hit it's mips
equivalent.  From there the workaround spread to many of the inline
assembler functions.]

Signed-off-by: David Daney <ddaney@avtrex.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2008-07-15 18:44:30 +01:00
..
acpi
asm-alpha
asm-arm Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-07-14 16:06:58 -07:00
asm-avr32 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 2008-07-14 13:37:29 -07:00
asm-blackfin
asm-cris
asm-frv frv: fix irqs_disabled() to return an int, not an unsigned long 2008-07-12 14:33:42 -07:00
asm-generic Merge branch 'for-2.6.27' of git://git.infradead.org/users/dwmw2/firmware-2.6 2008-07-14 16:54:07 -07:00
asm-h8300
asm-ia64
asm-m32r
asm-m68k
asm-m68knommu
asm-mips [MIPS] Fix asm constraints for 'ins' instructions. 2008-07-15 18:44:30 +01:00
asm-mn10300
asm-parisc
asm-powerpc Merge branch 'tracing/ftrace' into auto-ftrace-next 2008-07-10 11:43:00 +02:00
asm-ppc
asm-s390 [S390] Remove P390 support. 2008-07-14 10:02:25 +02:00
asm-sh
asm-sparc
asm-sparc64
asm-um
asm-v850
asm-x86 x86: Rename "ignore" macro in <asm/dwarf2.h> to avoid collision 2008-07-14 20:40:39 -07:00
asm-xtensa
crypto crypto: hash - Move ahash functions into crypto/hash.h 2008-07-10 20:35:18 +08:00
drm drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
keys
linux Merge branch 'for-2.6.27' of git://git.infradead.org/users/dwmw2/firmware-2.6 2008-07-14 16:54:07 -07:00
math-emu
media
mtd
net
pcmcia
rdma
rxrpc
scsi
sound ALSA: Release v1.0.17 2008-07-14 09:54:43 +02:00
video
xen
Kbuild drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00