OSDN Git Service

Mon Mar 1 11:46:25 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 1 Mar 1999 08:53:02 +0000 (08:53 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 1 Mar 1999 08:53:02 +0000 (08:53 +0000)
* config/h8300/h8300.c (print_operand):  Use 16 bit addressing
when the data in 8-bit area and can not be addressed by 8-bit.

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

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

index 139e734..bdcf394 100644 (file)
@@ -1,3 +1,8 @@
+Mon Mar  1 11:46:25 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
+
+       * config/h8300/h8300.c (print_operand):  Use 16 bit addressing
+       when the data in 8-bit area and can not be addressed by 8-bit.
+
 Sun Feb 28 16:40:00 1999  Richard Henderson  <rth@cygnus.com>
 
        * flow.c (create_basic_block): Disregard integrated bb notes.
index 4dc4895..fac3cbf 100644 (file)
@@ -1414,13 +1414,14 @@ print_operand (file, x, code)
          fprintf (file, "@");
          output_address (XEXP (x, 0));
 
-         /* If this is an 'R' operand (reference into the 8-bit area),
-            then specify a symbolic address as "foo:8".  */
-         if (code == 'R'
-             && GET_CODE (XEXP (x, 0)) == SYMBOL_REF
+         /* If this is an 'R' operand (reference into the 8-bit
+            area), then specify a symbolic address as "foo:8",
+            otherwise if operand is still in eight bit section, use
+            "foo:16".  */
+         if (GET_CODE (XEXP (x, 0)) == SYMBOL_REF
              && SYMBOL_REF_FLAG (XEXP (x, 0)))
-           fprintf (file, ":8");
-         if (GET_CODE (XEXP (x, 0)) == SYMBOL_REF
+           fprintf (file, (code == 'R' ? ":8" : ":16"));
+         else if (GET_CODE (XEXP (x, 0)) == SYMBOL_REF
              && TINY_DATA_NAME_P (XSTR (XEXP (x, 0), 0)))
            fprintf (file, ":16");
          break;