diff options
Diffstat (limited to 'gcc/ChangeLog')
| -rw-r--r-- | gcc/ChangeLog | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 050d379..0417c40 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,29 @@ +2012-03-19 Oleg Endo <olegendo@gcc.gnu.org> + + PR target/50751 + * config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12, DISP_ADDR_P, + DISP_ADDR_OFFSET): New macros. + * config/sh/sh.c (sh_address_cost): Add SH2A special case. + (sh_legitimate_index_p): Allow QImode displacements for non-SH2A. + (sh_legitimize_address): Add QImode displacement handling. + (sh_cannot_change_mode_class): Disallow GENERAL_REGS for SFmode + vector subregs. + (sh_secondary_reload): Add QImode displacement handling. + * config/sh/predicates.md (movsrc_no_disp_mem_operand): New predicate. + * config/sh/constraints.md (K04, Snd, Sdd): New constraints. + * config/sh/sh.md (extendqisi2): Remove constraints from + expander. + (*extendqisi2_compact): Rename to *extendqisi2_compact_reg, + restrict to register operands only. + (*extendqisi2_compact_mem_disp, *extendqisi2_compact_snd): New + insns. + (extendqihi2): Change insn to expander. + (*extendqihi2_compact_reg): New insn. + (movqi_i, movqi): Replace with ... + (movqi, *movqi_reg_reg, *movqi_store_mem_disp12, + *movqi_load_mem_disp, *movqi_load_mem_disp): ... these. + Add new peepholes for QImode displacement addressing. + 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com> PR c++/14710 |
