h8300.c (print_operand): Update the use of h8300_tiny_constant_address_p.
authorKazu Hirata <kazu@cs.umass.edu>
Sun, 24 Nov 2002 13:17:11 +0000 (13:17 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Sun, 24 Nov 2002 13:17:11 +0000 (13:17 +0000)
* 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)).

From-SVN: r59431

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

index 60a061a42ff96c7d27759f5275534a80a83fa3b0..17ff99220d5ceda6454825d06f3a4ee297620ec7 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 b4d40fde754406eddd86a1ca412e96174201b303..9a516c4f068878aaa61354ff41002060ef497523 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;