------- Comment #6 from ubizjak at gmail dot com 2009-08-01 22:38 ------- (In reply to comment #5)
> (jump_insn:TI 52 50 56 11 test.c:32 (parallel [ > (set (pc) > (if_then_else (le (reg/v:SF 9 st(1) [orig:64 move ] [64]) > (reg:SF 8 st [80])) > (label_ref:SI 60) > (pc))) > (clobber (reg:CCFP 18 fpsr)) > (clobber (reg:CCFP 17 flags)) > (clobber (reg:HI 0 ax)) > ]) 626 {*fp_jcc_3_387} (expr_list:REG_DEAD (reg/v:SF 9 st(1) [orig:64 > move ] [64]) This instruction should be split waaay before reg-stack. The problem was probably introduced by the patch below: 2009-06-28 Paolo Bonzini <bonz...@gnu.org> * config/i386/i386.h (enum ix86_fpcmp_strategy): New. * config/i386/i386.md (cbranchxf4, cstorexf4, cbranch<MODEF>4, cstore<MODEF>4, mov<X87MODEF>cc): Change predicate to ix86_fp_comparison_operator. (*fp_jcc_1_mixed, *fp_jcc_1_sse, *fp_jcc_1_387, *fp_jcc_2_mixed, *fp_jcc_2_sse, *fp_jcc_2_387): Delete (*fp_jcc_3_387, *fp_jcc_4_387, *fp_jcc_5_387, *fp_jcc_6_387, *fp_jcc_7_387, *fp_jcc_8<MODEF>_387): Eliminate call to !ix86_use_fcomi_compare, change ix86_fp_jump_nontrivial_p call to !TARGET_CMOVE, change predicate to ix86_fp_comparison_operator. (related splits): Change predicate to ix86_fp_comparison_operator. * config/i386/predicates.md: Use ix86_trivial_fp_comparison_operator instead of ix86_fp_comparison_codes. ... Let's ask Paolo. -- ubizjak at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bonzini at gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40934