diff options
author | Joern Rennecke <joern.rennecke@embecosm.com> | 2011-12-10 09:40:02 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2011-12-10 09:40:02 +0000 |
commit | af7476b83de4f3072debb9e4638360274db0351a (patch) | |
tree | f1b985857cb95e7fb4c1c47f2103ff82a4cb36d4 | |
parent | 2ac69a0c6c54cc878a732ae9a647ac701396ad2f (diff) | |
download | gcc-af7476b83de4f3072debb9e4638360274db0351a.zip gcc-af7476b83de4f3072debb9e4638360274db0351a.tar.gz gcc-af7476b83de4f3072debb9e4638360274db0351a.tar.bz2 |
epiphany.h (USE_LOAD_POST_INCREMENT): Define.
* config/epiphany/epiphany.h (USE_LOAD_POST_INCREMENT): Define.
(USE_LOAD_POST_DECREMENT, USE_STORE_POST_INCREMENT): Likewise.
(USE_STORE_POST_DECREMENT): Likewise.
From-SVN: r182185
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/epiphany/epiphany.h | 15 |
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7d29091..5113f16 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-12-10 Joern Rennecke <joern.rennecke@embecosm.com> + + * config/epiphany/epiphany.h (USE_LOAD_POST_INCREMENT): Define. + (USE_LOAD_POST_DECREMENT, USE_STORE_POST_INCREMENT): Likewise. + (USE_STORE_POST_DECREMENT): Likewise. + 2011-12-10 Nathan Sidwell <nathan@acm.org> PR gcov-profile/51449 diff --git a/gcc/config/epiphany/epiphany.h b/gcc/config/epiphany/epiphany.h index 9d03ee9..08b121b 100644 --- a/gcc/config/epiphany/epiphany.h +++ b/gcc/config/epiphany/epiphany.h @@ -602,6 +602,21 @@ typedef struct GTY (()) machine_function #define HAVE_POST_MODIFY_DISP TARGET_POST_MODIFY #define HAVE_POST_MODIFY_REG TARGET_POST_MODIFY +/* Currently, the only users of the USE_*CREMENT macros are + move_by_pieces / store_by_pieces_1 . We don't want them to use + POST_MODIFY modes, because we got ample addressing range for the + reg+offset addressing mode; besides, there are short index+offset loads, + but the only short post-modify load uses POST_MODIFY_REG. + Moreover, using auto-increment in move_by_pieces from structure copying + in the prologue causes confused debug output. + If another pass starts using these macros where the use of these + addressing modes would make more sense, we can try checking the + current pass. */ +#define USE_LOAD_POST_INCREMENT(MODE) 0 +#define USE_LOAD_POST_DECREMENT(MODE) 0 +#define USE_STORE_POST_INCREMENT(MODE) 0 +#define USE_STORE_POST_DECREMENT(MODE) 0 + /* Recognize any constant value that is a valid address. */ #define CONSTANT_ADDRESS_P(X) \ (GET_CODE (X) == LABEL_REF || GET_CODE (X) == SYMBOL_REF \ |