diff options
| author | amylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-12-06 19:43:22 +0000 |
|---|---|---|
| committer | amylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-12-06 19:43:22 +0000 |
| commit | d1b048f6f491a270fa5398487f40cfffe36a27d4 (patch) | |
| tree | 47e73325ebf7db9c6aacadf4d33ee61335d89ad3 | |
| parent | 2cb2bb77b9cc706e2bc1f7e4b88cbb1dfdf8e835 (diff) | |
| download | ppe42-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/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/sh/sh.c | 10 |
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), |

