aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog26
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