diff options
author | bwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-05 16:37:14 +0000 |
---|---|---|
committer | bwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-05 16:37:14 +0000 |
commit | e0488d878ea990a9ab2811f357cd8bacef02aa57 (patch) | |
tree | 403c46b15695a596a39ecb272696a168db04181c /gcc/config/xtensa/xtensa-protos.h | |
parent | 024f0a8a745a718c7a5f58d2a5b1358fbb41f271 (diff) | |
download | ppe42-gcc-e0488d878ea990a9ab2811f357cd8bacef02aa57.tar.gz ppe42-gcc-e0488d878ea990a9ab2811f357cd8bacef02aa57.zip |
* config/xtensa/predicates.md (nonimmed_operand, mem_operand): Use
constantpool_mem_p.
(constantpool_operand): New.
(move_operand): Disallow sub-word modes for the constant pool.
* config/xtensa/xtensa.c (TARGET_SECONDARY_RELOAD): Define.
(xtensa_secondary_reload_class): Replace with....
(xtensa_secondary_reload): this function. Remove SIGN_EXTEND check.
Set icode for sub-word reloads from the constant pool.
* config/xtensa/xtensa.h (SECONDARY_INPUT_RELOAD_CLASS): Delete.
(SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
* config/xtensa/xtensa.md (reload<mode>_literal): New.
* config/xtensa/xtensa-protos.h: Update prototypes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140036 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/xtensa/xtensa-protos.h')
-rw-r--r-- | gcc/config/xtensa/xtensa-protos.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h index 82d7262922d..7ecde9baf21 100644 --- a/gcc/config/xtensa/xtensa-protos.h +++ b/gcc/config/xtensa/xtensa-protos.h @@ -1,5 +1,6 @@ /* Prototypes of target machine for GNU compiler for Xtensa. - Copyright 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2008 + Free Software Foundation, Inc. Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica. This file is part of GCC. @@ -66,9 +67,10 @@ extern bool xtensa_output_addr_const_extra (FILE *, rtx); extern void xtensa_output_literal (FILE *, rtx, enum machine_mode, int); extern rtx xtensa_return_addr (int, rtx); extern enum reg_class xtensa_preferred_reload_class (rtx, enum reg_class, int); -extern enum reg_class xtensa_secondary_reload_class (enum reg_class, - enum machine_mode, rtx, - int); +struct secondary_reload_info; +extern enum reg_class xtensa_secondary_reload (bool, rtx, enum reg_class, + enum machine_mode, + struct secondary_reload_info *); extern void xtensa_initialize_trampoline (rtx, rtx, rtx); #endif /* RTX_CODE */ |