Commit 20f7cbac by Jeff Law

reg-stack.c (subst_stack_regs_pat): Abort if the destination of a FP conditional…

reg-stack.c (subst_stack_regs_pat): Abort if the destination of a FP conditional move is not on the FP register stack.

        * reg-stack.c (subst_stack_regs_pat): Abort if the destination
        of a FP conditional move is not on the FP register stack.
Forgot to check it in last night/this morning.  One should not hack at 4am.

From-SVN: r24716
parent 16e829b3
/* Register to Stack convert for GNU compiler.
Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
Copyright (C) 1992, 93-98, 1999 Free Software Foundation, Inc.
This file is part of GNU CC.
......@@ -2046,6 +2046,10 @@ subst_stack_regs_pat (insn, regstack, pat)
break;
case IF_THEN_ELSE:
/* dest has to be on stack. */
if (get_hard_regnum (regstack, *dest) < FIRST_STACK_REG)
abort ();
/* This insn requires the top of stack to be the destination. */
/* If the comparison operator is an FP comparison operator,
......@@ -2099,9 +2103,7 @@ subst_stack_regs_pat (insn, regstack, pat)
}
}
/* Make dest the top of stack. Add dest to regstack if not present. */
if (get_hard_regnum (regstack, *dest) < FIRST_STACK_REG)
regstack->reg[++regstack->top] = REGNO (*dest);
/* Make dest the top of stack. */
SET_HARD_REG_BIT (regstack->reg_set, REGNO (*dest));
replace_reg (dest, FIRST_STACK_REG);
......
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