diff options
author | Jim Wilson <wilson@cygnus.com> | 1997-11-05 01:08:08 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1997-11-04 17:08:08 -0800 |
commit | 3feffdfe8e13977741530c96d77ede2ceea83290 (patch) | |
tree | ade77766dea013b7cc09d103dac67381715799ce /gcc | |
parent | ab00eb0aa3dd2f42fd175d0792908f660b366e3b (diff) | |
download | gcc-3feffdfe8e13977741530c96d77ede2ceea83290.zip gcc-3feffdfe8e13977741530c96d77ede2ceea83290.tar.gz gcc-3feffdfe8e13977741530c96d77ede2ceea83290.tar.bz2 |
Bug fix for v850 port.
* reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
From-SVN: r16329
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/reload.c | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7a3f4da..bd1dfa5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com> + * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants. + * mips.c (mips_expand_epilogue): Emit blockage insn before call to save_restore_insns if no FP and GP will be restored. diff --git a/gcc/reload.c b/gcc/reload.c index f26cb58..c8a30d3a 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -2915,7 +2915,9 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) && REGNO (operand) >= FIRST_PSEUDO_REGISTER && reg_renumber[REGNO (operand)] < 0)) win = 1; - if (CONSTANT_P (operand)) + if (CONSTANT_P (operand) + /* force_const_mem does not accept HIGH. */ + && GET_CODE (operand) != HIGH) badop = 0; constmemok = 1; break; @@ -2990,7 +2992,9 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) && offsettable_memref_p (reg_equiv_mem[REGNO (operand)])) || (reg_equiv_address[REGNO (operand)] != 0)))) win = 1; - if (CONSTANT_P (operand) || GET_CODE (operand) == MEM) + /* force_const_mem does not accept HIGH. */ + if ((CONSTANT_P (operand) && GET_CODE (operand) != HIGH) + || GET_CODE (operand) == MEM) badop = 0; constmemok = 1; offmemok = 1; |