Commit 2ba08201 by Kazu Hirata Committed by Kazu Hirata

h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it 64-bit safe.

	* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
	64-bit safe.
	(TINY_CONSTANT_ADDRESS_P): Likewise.

From-SVN: r58492
parent 5f13cfc6
2002-10-24 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
64-bit safe.
(TINY_CONSTANT_ADDRESS_P): Likewise.
2002-10-24 Richard Henderson <rth@redhat.com> 2002-10-24 Richard Henderson <rth@redhat.com>
* config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True. * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
......
...@@ -825,11 +825,13 @@ struct cum_arg ...@@ -825,11 +825,13 @@ struct cum_arg
/* Nonzero if X is a constant address suitable as an 8-bit absolute, /* Nonzero if X is a constant address suitable as an 8-bit absolute,
which is a special case of the 'R' operand. */ which is a special case of the 'R' operand. */
#define EIGHTBIT_CONSTANT_ADDRESS_P(X) \ #define EIGHTBIT_CONSTANT_ADDRESS_P(X) \
((GET_CODE (X) == CONST_INT) \ ((GET_CODE (X) == CONST_INT) \
&& ((TARGET_H8300 && IN_RANGE (INTVAL (X) & 0xffff, 0xff00, 0xffff)) \ && ((TARGET_H8300 && IN_RANGE (INTVAL (X) & 0xffff, 0xff00, 0xffff)) \
|| (TARGET_H8300H && IN_RANGE (INTVAL (X), 0xffff00, 0xffffff)) \ || (TARGET_H8300H && IN_RANGE (INTVAL (X) & 0xffffffff, \
|| (TARGET_H8300S && IN_RANGE (INTVAL (X), 0xffffff00, 0xffffffff)))) 0xffff00, 0xffffff)) \
|| (TARGET_H8300S && IN_RANGE (INTVAL (X) & 0xffffffff, \
0xffffff00, 0xffffffff))))
/* Nonzero if X is a constant address suitable as an 16-bit absolute /* Nonzero if X is a constant address suitable as an 16-bit absolute
on H8/300H and H8S. */ on H8/300H and H8S. */
...@@ -837,11 +839,13 @@ struct cum_arg ...@@ -837,11 +839,13 @@ struct cum_arg
#define TINY_CONSTANT_ADDRESS_P(X) \ #define TINY_CONSTANT_ADDRESS_P(X) \
((GET_CODE (X) == CONST_INT) \ ((GET_CODE (X) == CONST_INT) \
&& ((TARGET_H8300H \ && ((TARGET_H8300H \
&& (IN_RANGE (INTVAL (X), 0x000000, 0x007fff) \ && (IN_RANGE (INTVAL (X) & 0xffffffff, 0x000000, 0x007fff) \
|| IN_RANGE (INTVAL (X), 0xff8000, 0xffffff))) \ || IN_RANGE (INTVAL (X) & 0xffffffff, 0xff8000, 0xffffff))) \
|| (TARGET_H8300S \ || (TARGET_H8300S \
&& (IN_RANGE (INTVAL (X), 0x00000000, 0x00007fff) \ && (IN_RANGE (INTVAL (X) & 0xffffffff, \
|| IN_RANGE (INTVAL (X), 0xffff8000, 0xffffffff))))) 0x00000000, 0x00007fff) \
|| IN_RANGE (INTVAL (X) & 0xffffffff, \
0xffff8000, 0xffffffff)))))
/* 'U' if valid for a bset destination; /* 'U' if valid for a bset destination;
i.e. a register, register indirect, or the eightbit memory region i.e. a register, register indirect, or the eightbit memory region
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment