+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.
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);
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:
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. */
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;