Commit ec8e621d by Kaveh R. Ghazi Committed by Kaveh Ghazi

aix.h (REG_SIZE): Don't #undef.

	* ia64/aix.h (REG_SIZE): Don't #undef.
	* sparc.h (REG_SIZE): Delete.
	* flow.c (mark_used_regs): Don't use REG_SIZE.
	* regs.h (REG_SIZE): Delete.

From-SVN: r47378
parent 4a2fadae
2001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* ia64/aix.h (REG_SIZE): Don't #undef.
* sparc.h (REG_SIZE): Delete.
* flow.c (mark_used_regs): Don't use REG_SIZE.
* regs.h (REG_SIZE): Delete.
2001-11-27 Andreas Schwab <schwab@suse.de> 2001-11-27 Andreas Schwab <schwab@suse.de>
* gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT -> * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
......
...@@ -248,11 +248,6 @@ extern unsigned int ia64_section_threshold; ...@@ -248,11 +248,6 @@ extern unsigned int ia64_section_threshold;
#define WCHAR_TYPE "unsigned short" #define WCHAR_TYPE "unsigned short"
#endif #endif
/* Have to get rid of the system's definition so that we can use gcc's
instead. */
#include <sys/machine.h>
#undef REG_SIZE
/* Define the `__builtin_va_list' type for AIX. Use char* b/c that's what the /* Define the `__builtin_va_list' type for AIX. Use char* b/c that's what the
system headers expect. */ system headers expect. */
#define BUILD_VA_LIST_TYPE(VALIST) \ #define BUILD_VA_LIST_TYPE(VALIST) \
......
...@@ -1099,23 +1099,8 @@ while (0) ...@@ -1099,23 +1099,8 @@ while (0)
: (GET_MODE_SIZE (MODE) + 3) / 4) \ : (GET_MODE_SIZE (MODE) + 3) / 4) \
: ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)) : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD))
/* Due to the ARCH64 descrepancy above we must override these /* Due to the ARCH64 descrepancy above we must override this next
next two macros too. */ macro too. */
#define REG_SIZE(R) \
(TARGET_ARCH64 \
&& ((GET_CODE (R) == REG \
&& ((REGNO (R) >= FIRST_PSEUDO_REGISTER \
&& FLOAT_MODE_P (GET_MODE (R))) \
|| (REGNO (R) < FIRST_PSEUDO_REGISTER \
&& REGNO (R) >= 32))) \
|| (GET_CODE (R) == SUBREG \
&& ((REGNO (SUBREG_REG (R)) >= FIRST_PSEUDO_REGISTER \
&& FLOAT_MODE_P (GET_MODE (SUBREG_REG (R)))) \
|| (REGNO (SUBREG_REG (R)) < FIRST_PSEUDO_REGISTER \
&& REGNO (SUBREG_REG (R)) >= 32)))) \
? (GET_MODE_SIZE (GET_MODE (R)) + 3) / 4 \
: (GET_MODE_SIZE (GET_MODE (R)) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
#define REGMODE_NATURAL_SIZE(MODE) \ #define REGMODE_NATURAL_SIZE(MODE) \
((TARGET_ARCH64 && FLOAT_MODE_P (MODE)) ? 4 : UNITS_PER_WORD) ((TARGET_ARCH64 && FLOAT_MODE_P (MODE)) ? 4 : UNITS_PER_WORD)
......
...@@ -3630,7 +3630,10 @@ mark_used_regs (pbi, x, cond, insn) ...@@ -3630,7 +3630,10 @@ mark_used_regs (pbi, x, cond, insn)
does not use any of the old value. But these other does not use any of the old value. But these other
ways of storing in a register do use the old value. */ ways of storing in a register do use the old value. */
if (GET_CODE (testreg) == SUBREG if (GET_CODE (testreg) == SUBREG
&& !(REG_SIZE (SUBREG_REG (testreg)) > REG_SIZE (testreg))) && !((REG_BYTES (SUBREG_REG (testreg))
+ UNITS_PER_WORD - 1) / UNITS_PER_WORD
> (REG_BYTES (testreg)
+ UNITS_PER_WORD - 1) / UNITS_PER_WORD))
; ;
else else
mark_dest = 1; mark_dest = 1;
......
...@@ -24,24 +24,10 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -24,24 +24,10 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#define REG_BYTES(R) mode_size[(int) GET_MODE (R)] #define REG_BYTES(R) mode_size[(int) GET_MODE (R)]
/* Get the number of consecutive hard regs required to hold the REG or
SUBREG rtx R.
When something may be an explicit hard reg, REG_SIZE is the only
valid way to get this value. You cannot get it from the regno.
A target may override this definition, the case where you would do
this is where there are registers which are smaller than WORD_SIZE
such as the SFmode registers on sparc64. */
#ifndef REG_SIZE
#define REG_SIZE(R) \
((mode_size[(int) GET_MODE (R)] + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
#endif
/* When you only have the mode of a pseudo register before it has a hard /* When you only have the mode of a pseudo register before it has a hard
register chosen for it, this reports the size of each hard register register chosen for it, this reports the size of each hard register
a pseudo in such a mode would get allocated to. Like REG_SIZE, a a pseudo in such a mode would get allocated to. A target may
target may override this. */ override this. */
#ifndef REGMODE_NATURAL_SIZE #ifndef REGMODE_NATURAL_SIZE
#define REGMODE_NATURAL_SIZE(MODE) UNITS_PER_WORD #define REGMODE_NATURAL_SIZE(MODE) UNITS_PER_WORD
......
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