From: Bob Wilson Date: Wed, 5 Feb 2003 18:02:27 +0000 (+0000) Subject: xtensa.c (order_regs_for_local_alloc): Order the coprocessor registers before floatin... X-Git-Tag: releases/gcc-3.2.3~231 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3f137352ee8c48b0147712d6bf2a8e1be433ef36;p=thirdparty%2Fgcc.git xtensa.c (order_regs_for_local_alloc): Order the coprocessor registers before floating-point registers. * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the coprocessor registers before floating-point registers. * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers to account for a previously removed register. (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM): Delete unused macros. From-SVN: r62446 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6515757c32b0..b38e6b7ff955 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2003-02-03 Bob Wilson + + * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the + coprocessor registers before floating-point registers. + * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers + to account for a previously removed register. + (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM): + Delete unused macros. + 2003-02-05 Gabriel Dos Reis * doc/include/gcc-common.texi: Bump version. diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c index 148084a06505..6beb6745626e 100644 --- a/gcc/config/xtensa/xtensa.c +++ b/gcc/config/xtensa/xtensa.c @@ -2729,6 +2729,10 @@ order_regs_for_local_alloc () for (i = 0; i < num_arg_regs; i++) reg_alloc_order[nxt++] = GP_ARG_FIRST + i; + /* list the coprocessor registers in order */ + for (i = 0; i < BR_REG_NUM; i++) + reg_alloc_order[nxt++] = BR_REG_FIRST + i; + /* list the FP registers in order for now */ for (i = 0; i < 16; i++) reg_alloc_order[nxt++] = FP_REG_FIRST + i; @@ -2739,10 +2743,6 @@ order_regs_for_local_alloc () reg_alloc_order[nxt++] = 16; /* pseudo frame pointer */ reg_alloc_order[nxt++] = 17; /* pseudo arg pointer */ - /* list the coprocessor registers in order */ - for (i = 0; i < BR_REG_NUM; i++) - reg_alloc_order[nxt++] = BR_REG_FIRST + i; - reg_alloc_order[nxt++] = ACC_REG_FIRST; /* MAC16 accumulator */ } } diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h index 76e7344f1e91..13ba0f16eae2 100644 --- a/gcc/config/xtensa/xtensa.h +++ b/gcc/config/xtensa/xtensa.h @@ -360,7 +360,6 @@ extern unsigned xtensa_current_frame_size; 0 - 15 AR[0] - AR[15] 16 FRAME_POINTER (fake = initial sp) 17 ARG_POINTER (fake = initial sp + framesize) - 18 LOOP_COUNT (loop count special register) 18 BR[0] for floating-point CC 19 - 34 FR[0] - FR[15] 35 MAC16 accumulator */ @@ -409,10 +408,11 @@ extern unsigned xtensa_current_frame_size; have been exhausted. */ #define REG_ALLOC_ORDER \ -{ 8, 9, 10, 11, 12, 13, 14, 15, 7, 6, 5, 4, 3, 2, 19, \ - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, \ +{ 8, 9, 10, 11, 12, 13, 14, 15, 7, 6, 5, 4, 3, 2, \ + 18, \ + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, \ 0, 1, 16, 17, \ - 36, \ + 35, \ } #define ORDER_REGS_FOR_LOCAL_ALLOC order_regs_for_local_alloc () @@ -439,11 +439,6 @@ extern int leaf_function; #define GP_REG_LAST 17 #define GP_REG_NUM (GP_REG_LAST - GP_REG_FIRST + 1) -/* Special registers */ -#define SPEC_REG_FIRST 18 -#define SPEC_REG_LAST 18 -#define SPEC_REG_NUM (SPEC_REG_LAST - SPEC_REG_FIRST + 1) - /* Coprocessor registers */ #define BR_REG_FIRST 18 #define BR_REG_LAST 18 @@ -488,9 +483,6 @@ extern char xtensa_hard_regno_mode_ok[][FIRST_PSEUDO_REGISTER]; == (GET_MODE_CLASS (MODE2) == MODE_FLOAT || \ GET_MODE_CLASS (MODE2) == MODE_COMPLEX_FLOAT)) -/* Register to use for LCOUNT special register. */ -#define COUNT_REGISTER_REGNUM (SPEC_REG_FIRST + 0) - /* Register to use for pushing function arguments. */ #define STACK_POINTER_REGNUM (GP_REG_FIRST + 1)