> Have you tried running valgrind?
Thanks for the tip. Indeed something shows up:
Compiler executable checksum: 87aef5f5c9fba1ed8f2a556528fc3927
==3282== Conditional jump or move depends on uninitialised value(s)
==3282== at 0x904EFA6: aligned_operand_1 (predicates.md:820)
==3282== by 0x904F040: aligned_operand (predicates.md:837)
==3282== by 0x8F08ABF: insn_default_latency (i386.md:260)
==3282== by 0x94C9340: insn_cost (haifa-sched.c:623)
==3282==
==3282== Conditional jump or move depends on uninitialised value(s)
==3282== at 0x904EFA6: aligned_operand_1 (predicates.md:820)
==3282== by 0x904F040: aligned_operand (predicates.md:837)
==3282== by 0x8F5D18D: get_attr_imm_disp (i386.md:1147)
==3282== by 0x8F64880: get_attr_pent_pair (sse.md:1777)
==3282==
==3282== Conditional jump or move depends on uninitialised value(s)
==3282== at 0x904EFA6: aligned_operand_1 (predicates.md:820)
==3282== by 0x904F040: aligned_operand (predicates.md:837)
==3282== by 0x8F648AD: get_attr_pent_pair (i386.md:1781)
==3282== by 0x8F08B63: insn_default_latency (i386.md:1744)
[...]
if (parts.base)
{
if (REGNO_POINTER_ALIGN (REGNO (parts.base)) < 32) <-- 820
return 0;
}
I think parts.base is OK so it's probably REGNO_POINTER_ALIGN
function.h:#define REGNO_POINTER_ALIGN(REGNO)
(rtl.emit.regno_pointer_align[REGNO])
which makes some sense since it was touched very recently:
2008-03-31 Jan Hubicka <[EMAIL PROTECTED]>
* builtins.c (expand_builtin_setjmp_receiver): Update call of
get_arg_pointer_save_area.
* expr.c (init_expr): Just clear out rtl.expr.
* function.c (free_after_compilation): Clear out whole RTL structure.
(get_func_frame_size): Merge into ...
(get_frame_size): ... this one.
(assign_stack_local_1): Merge into ...
(assign_stack_local): ... this one.
(expand_function_end): Update call of get_arg_pointer_save_area.
(get_art_pointer_save_area): Remove cfun argument.
* function.h (emit_status): regno_pointer_align does not need length
attribute. Move x_regno_reg_rtx to ...
(regno_reg_rtx): ... new global array.
(reg_rtx_no, seq_stack, REGNO_POINTER_ALIGN): Update accestors.
[...]
Jan, any idea as to what could be going on here?
--
Eric Botcazou