Commit cb0bc263 by Jan Hubicka Committed by Jan Hubicka

re PR rtl-optimization/12612 (ICE when using log function with -O3 -ffast-math)


	* i386.c (print_reg): Do not abort on certain registers.

	PR optimization/12612
	* reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
	* i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
	match_scratch; avoid bogus paralles.

	PR target/12674
	* i386.c (ix86_function_regparm): Disable implicit register passing
	conventions when profiling.

From-SVN: r72681
parent 707e58b1
2003-10-19 Jan Hubicka <jh@suse.cz>
* i386.c (print_reg): Do not abort on certain registers.
PR optimization/12612
* reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
* i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
match_scratch; avoid bogus paralles.
PR target/12674
* i386.c (ix86_function_regparm): Disable implicit register passing
conventions when profiling.
2003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr> 2003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
Richard Henderson <rth@redhat.com> Richard Henderson <rth@redhat.com>
......
...@@ -1688,7 +1688,7 @@ ix86_function_regparm (tree type, tree decl) ...@@ -1688,7 +1688,7 @@ ix86_function_regparm (tree type, tree decl)
/* Use register calling convention for local functions when possible. */ /* Use register calling convention for local functions when possible. */
if (!TARGET_64BIT && !user_convention && decl if (!TARGET_64BIT && !user_convention && decl
&& flag_unit_at_a_time) && flag_unit_at_a_time && !profile_flag)
{ {
struct cgraph_local_info *i = cgraph_local_info (decl); struct cgraph_local_info *i = cgraph_local_info (decl);
if (i && i->local) if (i && i->local)
...@@ -6884,12 +6884,6 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse, ...@@ -6884,12 +6884,6 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse,
void void
print_reg (rtx x, int code, FILE *file) print_reg (rtx x, int code, FILE *file)
{ {
if (REGNO (x) == ARG_POINTER_REGNUM
|| REGNO (x) == FRAME_POINTER_REGNUM
|| REGNO (x) == FLAGS_REG
|| REGNO (x) == FPSR_REG)
abort ();
if (ASSEMBLER_DIALECT == ASM_ATT || USER_LABEL_PREFIX[0] == 0) if (ASSEMBLER_DIALECT == ASM_ATT || USER_LABEL_PREFIX[0] == 0)
putc ('%', file); putc ('%', file);
......
...@@ -1430,7 +1430,7 @@ subst_stack_regs_pat (rtx insn, stack regstack, rtx pat) ...@@ -1430,7 +1430,7 @@ subst_stack_regs_pat (rtx insn, stack regstack, rtx pat)
abort (); abort ();
} }
remove_note (insn, note); remove_note (insn, note);
replace_reg (dest, LAST_STACK_REG); replace_reg (dest, FIRST_STACK_REG + 1);
} }
else else
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment