OSDN Git Service

* config/h8300/h8300.c (print_operand): Update the use of
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 24 Nov 2002 13:17:11 +0000 (13:17 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 24 Nov 2002 13:17:11 +0000 (13:17 +0000)
h8300_tiny_constant_address_p.
(h8300_adjust_insn_length): Likewise.
(h8300_tiny_constant_address_p): Check if the given rtx is a
variable declared with __attribute__ ((tiny_data)).

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

gcc/ChangeLog
gcc/config/h8300/h8300.c

index 60a061a..17ff992 100644 (file)
@@ -1,3 +1,11 @@
+2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (print_operand): Update the use of
+       h8300_tiny_constant_address_p.
+       (h8300_adjust_insn_length): Likewise.
+       (h8300_tiny_constant_address_p): Check if the given rtx is a
+       variable declared with __attribute__ ((tiny_data)).
+
 2002-11-22  Dale Johannesen  <dalej@apple.com>
 
         * toplev.c (rest_of_compilation):  Fix comments.
index b4d40fd..9a516c4 100644 (file)
@@ -1440,9 +1440,6 @@ print_operand (file, x, code)
        case MEM:
          {
            rtx addr = XEXP (x, 0);
-           int tiny_ok = ((GET_CODE (addr) == SYMBOL_REF
-                           && TINY_DATA_NAME_P (XSTR (addr, 0)))
-                          || h8300_tiny_constant_address_p (addr));
 
            fprintf (file, "@");
            output_address (addr);
@@ -1467,7 +1464,7 @@ print_operand (file, x, code)
              case 'T':
              case 'S':
                /* Used for mov.w and mov.l.  */
-               if (tiny_ok)
+               if (h8300_tiny_constant_address_p (addr))
                  fprintf (file, ":16");
                break;
              default:
@@ -3763,9 +3760,7 @@ h8300_adjust_insn_length (insn, length)
            return -6;
 
          /* @aa:16 is 4 bytes shorter than the longest.  */
-         if ((GET_CODE (addr) == SYMBOL_REF
-              && TINY_DATA_NAME_P (XSTR (addr, 0)))
-             || h8300_tiny_constant_address_p (addr))
+         if (h8300_tiny_constant_address_p (addr))
            return -4;
 
          /* @aa:24 is 2 bytes shorter than the longest.  */
@@ -3925,6 +3920,10 @@ h8300_tiny_constant_address_p (x)
 
   unsigned HOST_WIDE_INT addr;
 
+  /* We accept symbols declared with tiny_data.  */
+  if (GET_CODE (x) == SYMBOL_REF && TINY_DATA_NAME_P (XSTR (x, 0)))
+    return 1;
+
   if (GET_CODE (x) != CONST_INT)
     return 0;