OSDN Git Service

Bug fix for v850 port.
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 5 Nov 1997 01:08:08 +0000 (01:08 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 5 Nov 1997 01:08:08 +0000 (01:08 +0000)
* reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16329 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/reload.c

index 7a3f4da..bd1dfa5 100644 (file)
@@ -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.
 
index f26cb58..c8a30d3 100644 (file)
@@ -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;