Commit 67ca0b22 by Richard Kenner

(REG_ALLOC_ORDER): Define.

(REGNO_OK_FOR_BASE_P): Include stack pointer in test against
reg_renumber[REGNO].
(ASM_OUTPUT_DESTRUCTOR): Remove bogus assembler comment.

From-SVN: r10574
parent 2ae342f7
...@@ -200,6 +200,13 @@ extern char *strdup(), *float_label(); ...@@ -200,6 +200,13 @@ extern char *strdup(), *float_label();
{ 1, 1, 1, 1, 1, 1, 1, 1, \ { 1, 1, 1, 1, 1, 1, 1, 1, \
1, 1, 1, 1, 1, 1, 1, 1 } 1, 1, 1, 1, 1, 1, 1, 1 }
/* Order in which to allocate registers. Each register must be
listed once, even those in FIXED_REGISTERS. List frame pointer
late and fixed registers last. Note that, in general, we prefer
registers listed in CALL_USED_REGISTERS, keeping the others
available for storage of persistent values. */
#define REG_ALLOC_ORDER \
{ 2, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
/* Return number of consecutive hard regs needed starting at reg REGNO /* Return number of consecutive hard regs needed starting at reg REGNO
to hold something of mode MODE. to hold something of mode MODE.
This is ordinarily the length in words of a value of mode MODE This is ordinarily the length in words of a value of mode MODE
...@@ -682,7 +689,7 @@ enum reg_class { NO_REGS, R2, R0_1, INDEX_REGS, BASE_REGS, ALL_REGS, LIM_REG_CLA ...@@ -682,7 +689,7 @@ enum reg_class { NO_REGS, R2, R0_1, INDEX_REGS, BASE_REGS, ALL_REGS, LIM_REG_CLA
#define REGNO_OK_FOR_BASE_P(REGNO) \ #define REGNO_OK_FOR_BASE_P(REGNO) \
((REGNO) > 0 && (REGNO) <= 15 || \ ((REGNO) > 0 && (REGNO) <= 15 || \
reg_renumber[REGNO] > 0 && reg_renumber[REGNO] < 15) reg_renumber[REGNO] > 0 && reg_renumber[REGNO] <= 15)
#define REGNO_OK_FOR_INDEX_P(REGNO) \ #define REGNO_OK_FOR_INDEX_P(REGNO) \
((REGNO) >= 12 && (REGNO) <= 15 || \ ((REGNO) >= 12 && (REGNO) <= 15 || \
reg_renumber[REGNO] >= 12 && reg_renumber[REGNO] <= 15) reg_renumber[REGNO] >= 12 && reg_renumber[REGNO] <= 15)
...@@ -1264,8 +1271,8 @@ enum reg_class { NO_REGS, R2, R0_1, INDEX_REGS, BASE_REGS, ALL_REGS, LIM_REG_CLA ...@@ -1264,8 +1271,8 @@ enum reg_class { NO_REGS, R2, R0_1, INDEX_REGS, BASE_REGS, ALL_REGS, LIM_REG_CLA
fprintf(FILE," ;constructor\n"); } while (0) fprintf(FILE," ;constructor\n"); } while (0)
#define ASM_OUTPUT_DESTRUCTOR(FILE, NAME) do { \ #define ASM_OUTPUT_DESTRUCTOR(FILE, NAME) do { \
fprintf(FILE, "\t; ASM_OUTPUT_DESTRUCTOR called for "); \ fprintf(FILE, "\tinit\n\t"); assemble_name(FILE, NAME); \
assemble_name(FILE, NAME); } while (0) fprintf(FILE," ;destructor"); } while (0)
/* Define the parentheses used to group arithmetic operations /* Define the parentheses used to group arithmetic operations
in assembler code. */ in assembler code. */
......
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