diff options
author | Jeff Law <law@gcc.gnu.org> | 1998-04-04 06:32:39 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-04-04 06:32:39 -0700 |
commit | e5e809f4194e578b5fbd48fc5a1df2377f28d197 (patch) | |
tree | 6743f11e58bd7a933b08900d973d89026cd11c43 /gcc/reg-stack.c | |
parent | 31031eddacda46a500b2390f52cd4474bcaf84ca (diff) | |
download | gcc-e5e809f4194e578b5fbd48fc5a1df2377f28d197.zip gcc-e5e809f4194e578b5fbd48fc5a1df2377f28d197.tar.gz gcc-e5e809f4194e578b5fbd48fc5a1df2377f28d197.tar.bz2 |
* Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
for details.
* haifa-sched.c: Mirror recent changes from gcc2.
From-SVN: r18984
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r-- | gcc/reg-stack.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 0d17f3f..ab3ded6 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-97, 1998 Free Software Foundation, Inc. + Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc. This file is part of GNU CC. @@ -1998,11 +1998,13 @@ compare_for_stack_reg (insn, regstack, pat) src2 = get_true_reg (&XEXP (SET_SRC (pat), 1)); cc0_user = next_cc0_user (insn); - /* If the insn that uses cc0 is a conditional move, then the destination + /* If the insn that uses cc0 is an FP-conditional move, then the destination must be the top of stack */ if (GET_CODE (PATTERN (cc0_user)) == SET && SET_DEST (PATTERN (cc0_user)) != pc_rtx - && GET_CODE (SET_SRC (PATTERN (cc0_user))) == IF_THEN_ELSE) + && GET_CODE (SET_SRC (PATTERN (cc0_user))) == IF_THEN_ELSE + && (GET_MODE_CLASS (GET_MODE (SET_DEST (PATTERN (cc0_user)))) + == MODE_FLOAT)) { rtx *dest; |