summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2007-12-10 03:17:24 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2007-12-10 03:17:24 +0000
commit276103f10323836330927cf5827fba852b6723bd (patch)
treee1491ff12d41abebf2a3e36368467d0f2ade8a51 /gcc/ChangeLog
parenta811d552d99173f75b731f0f976161ff570d8c98 (diff)
downloadgcc-276103f10323836330927cf5827fba852b6723bd.tar.gz
re PR target/32889 (ICE in delete_output_reload, at reload1.c:7926)
PR middle-end/32889 PR target/34091 * pa.md: Consolidate HImode and QImode move patterns into one pattern each, eliminating floating-point alternatives. * pa-protos.h (pa_cannot_change_mode_class, pa_modes_tieable_p): Declare functions. * pa-64.h (SECONDARY_MEMORY_NEEDED): Define here. * pa.c (pa_secondary_reload): Use an intermediate general register for copies to/from floating-point register classes. Simplify code SHIFT_REGS class. Provide additional comments. (pa_cannot_change_mode_class, pa_modes_tieable_p): New functions. * pa.h (MODES_TIEABLE_P): Use pa_modes_tieable_p. (SECONDARY_MEMORY_NEEDED): Delete define. (INT14_OK_STRICT): Define. (MODE_OK_FOR_SCALED_INDEXING_P): Allow SFmode and DFmode when using soft float. (MODE_OK_FOR_UNSCALED_INDEXING_P): Likewise. (GO_IF_LEGITIMATE_ADDRESS): Use INT14_OK_STRICT in REG+D case for SFmode and DFmode. (LEGITIMIZE_RELOAD_ADDRESS): Use INT14_OK_STRICT in mask selection. Align DImode offsets when generating 64-bit code. * pa32-regs.h (VALID_FP_MODE_P): Remove QImode and HImode. (CANNOT_CHANGE_MODE_CLASS): Define. * pa64-regs.h (VALID_FP_MODE_P): Remove QImode and HImode. (CANNOT_CHANGE_MODE_CLASS): Define using pa_cannot_change_mode_class. From-SVN: r130735
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6d2fa78ba02..189371ddb0a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,31 @@
+2007-12-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/32889
+ PR target/34091
+ * pa.md: Consolidate HImode and QImode move patterns into one pattern
+ each, eliminating floating-point alternatives.
+ * pa-protos.h (pa_cannot_change_mode_class, pa_modes_tieable_p):
+ Declare functions.
+ * pa-64.h (SECONDARY_MEMORY_NEEDED): Define here.
+ * pa.c (pa_secondary_reload): Use an intermediate general register
+ for copies to/from floating-point register classes. Simplify code
+ SHIFT_REGS class. Provide additional comments.
+ (pa_cannot_change_mode_class, pa_modes_tieable_p): New functions.
+ * pa.h (MODES_TIEABLE_P): Use pa_modes_tieable_p.
+ (SECONDARY_MEMORY_NEEDED): Delete define.
+ (INT14_OK_STRICT): Define.
+ (MODE_OK_FOR_SCALED_INDEXING_P): Allow SFmode and DFmode when using
+ soft float.
+ (MODE_OK_FOR_UNSCALED_INDEXING_P): Likewise.
+ (GO_IF_LEGITIMATE_ADDRESS): Use INT14_OK_STRICT in REG+D case for
+ SFmode and DFmode.
+ (LEGITIMIZE_RELOAD_ADDRESS): Use INT14_OK_STRICT in mask selection.
+ Align DImode offsets when generating 64-bit code.
+ * pa32-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
+ (CANNOT_CHANGE_MODE_CLASS): Define.
+ * pa64-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
+ (CANNOT_CHANGE_MODE_CLASS): Define using pa_cannot_change_mode_class.
+
2007-11-28 Rask Ingemann Lambertsen <rask@sygehus.dk>
Backport from mainline: