linux/arch/sh
Paul Mundt 567bb8fd47 sh: Fix up R0 dependence in __arch_swab16/32.
There is nothing in these routines that inherently depends on R0 use.
Given that these routines are inlined, it is rather easy to blow up the
compiler by exhausting the spill class when performing a 64-bit swab.

This presently manifests itself as the following:

CC      fs/ocfs2/suballoc.o
fs/ocfs2/suballoc.c: In function 'ocfs2_reserve_suballoc_bits':
fs/ocfs2/suballoc.c:638: error: unrecognizable insn:
(insn 2793 1230 1231 103 arch/sh/include/asm/swab.h:33 (set (reg:HI 853)
        (subreg:HI (reg:SI 149 macl) 2)) -1 (expr_list:REG_DEAD (reg:SI 149 macl)
        (nil)))
fs/ocfs2/suballoc.c:638: internal compiler error: in extract_insn, at recog.c:1991

This patch switches over to using an arbitrarily assigned register instead.

While the same issue does not exist in the SH-5 case, there is likewise no harm
in having an alternate register used for the byterev/shari pair.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-05-10 14:25:39 +09:00
..
boards sh: Move out cayman-specific panic handler code to its own file. 2009-05-08 17:41:59 +09:00
boot sh: Merge the split arch/sh/boot/compressed/ Makefiles. 2009-05-10 00:58:21 +09:00
cchips sh: fix the HD64461 level-triggered interrupts handling 2009-03-20 18:57:48 +09:00
configs sh: r7785 highlander clock fixes 2009-05-08 11:40:04 +09:00
drivers sh: Integrate the SH-5 onchip_remap() more coherently. 2009-05-07 18:10:27 +09:00
include sh: Fix up R0 dependence in __arch_swab16/32. 2009-05-10 14:25:39 +09:00
kernel sh: Tidy up the ldscript output format specifier. 2009-05-10 00:25:08 +09:00
lib sh: Handle calling csum_partial with misaligned data 2009-01-29 11:56:02 +09:00
lib64 sh: Provide an __sdivsi3_2 export for sh64. 2009-05-09 17:57:21 +09:00
math-emu sh: Fix up the math-emu build. 2007-06-11 15:57:42 +09:00
mm sh: Consolidate the boot link and entry offset definitions. 2009-05-10 01:23:25 +09:00
oprofile sh: Add support for SH7724 (SH-Mobile R2R) CPU subtype. 2009-04-16 14:40:56 +09:00
tools sh: add support for SMSC Polaris platform 2009-03-21 01:26:33 +09:00
Kconfig sh: Consolidate the boot link and entry offset definitions. 2009-05-10 01:23:25 +09:00
Kconfig.cpu sh: Always fixup unaligned userspace accesses on sh64. 2009-05-08 20:32:56 +09:00
Kconfig.debug sh: Kill off extra cflags Kconfig entry. 2009-05-08 20:20:56 +09:00
Makefile sh: Hook up cc-cross-prefix support. 2009-05-10 01:28:01 +09:00