Using built-in specs. Target: m68k-linux-uclibc Configured with: /there/toolchain_build_m68k/gcc-4.3.2/configure --prefix=/usr --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=m68k-linux-uclibc --enable-languages=c,fortran --with-sysroot=/there/build_m68k/staging_dir --with-build-time-tools=/there/build_m68k/staging_dir/usr/m68k-linux-uclibc/bin --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --enable-shared --with-gmp=/there/toolchain_build_m68k/gmp --with-mpfr=/there/toolchain_build_m68k/mpfr --disable-nls --enable-threads --disable-multilib --disable-libssp --disable-libssp --disable-libmudflap --disable-libgomp --enable-decimal-float=no Thread model: posix gcc version 4.3.2 (GCC) COLLECT_GCC_OPTIONS='-O2' '-fno-strength-reduce' '-fomit-frame-pointer' '-ffixed-a2' '-c' '-o' 'bug.o' '-w' '-v' '-m68020' /there/build_m68k/staging_dir/usr/bin/../libexec/gcc/m68k-linux-uclibc/4.3.2/cc1 -fpreprocessed ocfs2_alloc.14.i -quiet -dumpbase ocfs2_alloc.14.i -m68020 -auxbase-strip bug.o -O2 -w -version -fno-strength-reduce -fomit-frame-pointer -ffixed-a2 -o /tmp/ccPPnDEw.s GNU C (GCC) version 4.3.2 (m68k-linux-uclibc) compiled by GNU C version 4.3.2, GMP version 4.2.2, MPFR version 2.3.1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: e46c73a65794f9c9fe8cc606fdcc10e7 ocfs2_alloc.14.i: In function 'ocfs2_remove_extent': ocfs2_alloc.14.i:196: error: unable to generate reloads for: (insn:QI 147 146 148 14 ocfs2_alloc.14.i:99 (parallel [ (set (cc0) (compare (reg:DI 5 %d5 [orig:56 D.1892 ] [56]) (reg:DI 0 %d0 [108]))) (clobber (reg:DI 109)) ]) 12 {*m68k.md:521} (expr_list:REG_DEAD (reg:DI 0 %d0 [108]) (expr_list:REG_UNUSED (reg:DI 109) (nil)))) ocfs2_alloc.14.i:196: internal compiler error: in find_reloads, at reload.c:3767 Please submit a full bug report,
Created attachment 16431 [details] reduced from linux-2.6.26.5/fs/ocfs2/alloc.c
Appears to be fixed in 4.4.
1d86aeab250b3c69bf826385bd6875cf0b9ea459 is first bad commit commit 1d86aeab250b3c69bf826385bd6875cf0b9ea459 Author: mkuvyrkov <mkuvyrkov@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Tue Sep 11 13:56:30 2007 +0000 * config/m68k/predicates.md (movsi_const0_operand, non_symbolic_call_operand): New predicates. * config/m68k/constraints.md: (Cs, Ci, C0, Cj, CQ, CW, CZ, CS, Ap, Ac): New constraints. * doc/md.texi (Constraints for Particular Machines: Motorola 680x0): Document constraints N, O, P, R, S, T, Q, U, W, Cs, Ci, C0, Cj, CQ, CW, CZ, CS, Ap and Ac. * config/m68k/m68k.md (UNSPEC_IB): New constant. (constraints.md): New include. (cpu, type, type1, opx, opy, opx_type, opy_type, size, opx_access, opx_mem, opy_mem, op_mem, guess, split): New attributes. (movdf_internal): Name pattern. Fix to use alternatives. Add split. Specify attributes. (pushdi): Add split. (tstsi_internal): Name pattern. Fix to use alternatives. Specify attributes. Split tstsi_internal_68020_cf from it. (tstsi_internal_68020_cf): New pattern. (tsthi_internal, tstqi_internal): Name pattern. Specify attributes. (tst<mode>_cf): Specify attributea. (cmpsi_cf): Name pattern. Specify attributes. (cmp<mode>_68881, cmp<mode>_cf): Specify type attribute. (pushexthisi_const): Fix to use alternatives. Specify attributes. (movsi_const0): Split movsi_const0_68000_10 and movsi_const0_68040_60 from it. Fix to use alternatives. Specify attributes. (movsi_const0_68040_10, movsi_const0_68040_60): New patterns. (movsi_cf, movstrictqi_cf): Fix to use alternatives. Specify attributes. (movsf_cf_soft): Specify attributes. (movdf_cf_soft): Add split. (pushasi, zero_extendhisi2_cf, zero_extendqisi2_cfv4, cfv4_extendhisi2, 68k_extendhisi2, extendqihi2, cfv4_extendqisi2, 68k_extendqisi2, truncdfsf2_cf): Specify attributes. (truncdfsf2_68881): Name pattern. Specify attributes. (floatsi<mode>2_cf, floathi<mode>2_68881, floathi<mode>2_cf, floatqi<mode>2_68881, floatqi<mode>2_cf, ftrunc<mode>2_cf, fix<mode>qi2_cf, fix<mode>hi2_cf, fix<mode>si2_cf, adddi_dishl32): Specify attributes. (addsi3_5200): Fix to use alternatives. Specify attributes. Add splits. (add<mode>3_cf, subdi_dishl32): Specify attributes. (subsi3): Add alternative for subq.l. Specify attributes. (sub<mode>3_cf, mulhi3, mulhisi3): Specify attributes. (mulhisisi3_s, mulsi3_68020, mulsi3_cf): Name pattern. Specify attributes. (umulhisi3): Specify attributes. (mulhisisi3_z): Name pattern. Specify attributes. (fmul<mode>3_cf, div<mode>3_cf, negsi2_internal, negsi2_5200, sqrt<mode>2_68881, clzsi2, one_cmplsi2_5200, subreghi1ashrdi_const32, subregsi1ashrdi_const32, ashrsi3, subreg1lshrdi_const32, lshrsi3, bsetmemqi): Specify attributes. (bsetmemqi_ext): Name pattern. Specify attributes. (bclrmemqi): Specify attributes. (bclrmemqi_ext, scc, sls): Name pattern. Specify attributes. (beq, bne, bgt, bgtu, blt, bltu, bge, bgeu, ble, bleu): Specify attributes. (beq2, bne2, bgt2, bgtu2, blt2, bltu2, bge2, bgeu2, ble2, bleu2): Name pattern. Specify attributes. (jump): Specify attributes. (tablejump_internal): Name pattern. Specify attributes. (call_value): Split into non_symbolic_call_value, symbolic_call_value_jsr, symbolic_call_value_bsr. Fix to use alternatives. Specify attributes. (non_symbolic_call_value, symbolic_call_value_jsr, symbolic_call_value_bsr): New patterns. (nop, return, unlink, indirect_jump): Specify attributes. (trap): Fix condition. Specify attributes. (ib): New pattern. * config/m68k/m68k.c (m68k_symbolic_call_var): New variable. (override_options): Initialize it. Initialize m68k_sched_cpu. (CONST_METHOD): Rename to M68K_CONST_METHOD, move to m68k.h. (const_method): Make global, rename to m68k_const_method. (const_int_cost, output_move_const_into_data_reg): Update. (output_move_double): Parametrize to emit rtl code, rename to handle_move_double. (output_reg_adjust, emit_reg_adjust, output_compadr, output_movsi, emit_movsi): New static functions. (output_move_double): New function with semantics of old output_move_double. (m68k_emit_move_double): New function. (m68k_sched_cpu): New variable. (attr_op_type): New enum. (sched_guess_p): New variable. (sched_address_type, sched_operand_type, sched_attr_op_type): New static functions. (m68k_sched_attr_opx_type, m68k_sched_attr_opy_type, m68k_sched_attr_size, m68k_sched_attr_op_mem): New functions. (sched_branch_type): New static variable. (m68k_sched_branch_type): New function. * config/m68k/m68k.h (M68K_SYMBOLIC_CALL): New enum. (m68k_symbolic_call_var): Declare. (M68K_CONST_METHOD): Rename from CONST_METHOD. Move here from m68k.c. (m68k_const_method, m68k_emit_move_double, m68k_sched_cpu, m68k_sched_attr_opx_type, m68k_sched_attr_opy_type, m68k_sched_attr_size, m68k_sched_attr_op_mem, m68k_sched_branch_type): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128377 138bc75d-0d04-0410-961f-82ee72b054a4 :040000 040000 aaa72bb753fe90634731936e44b753010468c5fb e221bc08d798d5401984f6d090ed64ff36ab81f0 M gcc
This was fixed on trunk, presumably by IRA. I've also checked a clean up patch that fixed this failure on 4.3. See http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01031.html.
Sorry, I've closed this bug hastily though the bug is not fixed 4.3 branch; the patch I was reffering to was only committed to trunk.
4.3 branch is closed.