diff options
author | Jeff Law <law@gcc.gnu.org> | 1999-01-17 11:04:07 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-01-17 11:04:07 -0700 |
commit | 20f7cbac8f4a12c71fca2b06fa94b565a8811cdd (patch) | |
tree | 5321a20ffda2368f914471ad24be590bdab804a5 /gcc/reg-stack.c | |
parent | 16e829b30def15b0bb3bae40556323917e814482 (diff) | |
download | gcc-20f7cbac8f4a12c71fca2b06fa94b565a8811cdd.zip gcc-20f7cbac8f4a12c71fca2b06fa94b565a8811cdd.tar.gz gcc-20f7cbac8f4a12c71fca2b06fa94b565a8811cdd.tar.bz2 |
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
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r-- | gcc/reg-stack.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index e391706..a0f48fa 100644 --- a/gcc/reg-stack.c +++ b/gcc/reg-stack.c @@ -1,5 +1,5 @@ /* 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); |