summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2002-12-06 19:43:22 +0000
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2002-12-06 19:43:22 +0000
commitd1b048f6f491a270fa5398487f40cfffe36a27d4 (patch)
tree47e73325ebf7db9c6aacadf4d33ee61335d89ad3
parent2cb2bb77b9cc706e2bc1f7e4b88cbb1dfdf8e835 (diff)
downloadppe42-gcc-d1b048f6f491a270fa5398487f40cfffe36a27d4.tar.gz
ppe42-gcc-d1b048f6f491a270fa5398487f40cfffe36a27d4.zip
* sh.c (dump_table): DImode pool constants need only 32 bit alignment.
DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59891 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sh/sh.c10
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8cea9d42f50..8eaad552d8e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri Dec 6 19:36:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
+ DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
+
Fri Dec 6 19:17:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
* sh.md (movdi_i): Name. Remove inappropriate comment.
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 70cb0c1f167..5a31c844c3d 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -2354,7 +2354,7 @@ dump_table (scan)
int i;
int need_align = 1;
rtx lab, ref;
- int have_di = 0;
+ int have_df = 0;
/* Do two passes, first time dump out the HI sized constants. */
@@ -2379,13 +2379,13 @@ dump_table (scan)
scan = emit_insn_after (gen_consttable_window_end (lab), scan);
}
}
- else if (p->mode == DImode || p->mode == DFmode)
- have_di = 1;
+ else if (p->mode == DFmode)
+ have_df = 1;
}
need_align = 1;
- if (TARGET_SHCOMPACT && have_di)
+ if (TARGET_FMOVD && TARGET_ALIGN_DOUBLE && have_df)
{
rtx align_insn = NULL_RTX;
@@ -2429,13 +2429,13 @@ dump_table (scan)
}
break;
case DFmode:
- case DImode:
if (need_align)
{
scan = emit_insn_after (gen_align_log (GEN_INT (3)), scan);
align_insn = scan;
need_align = 0;
}
+ case DImode:
for (lab = p->label; lab; lab = LABEL_REFS (lab))
scan = emit_label_after (lab, scan);
scan = emit_insn_after (gen_consttable_8 (p->value, const0_rtx),
OpenPOWER on IntegriCloud