sh.c (dump_table): DImode pool constants need only 32 bit alignment.
authorJ"orn Rennecke <joern.rennecke@superh.com>
Fri, 6 Dec 2002 19:43:22 +0000 (19:43 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Fri, 6 Dec 2002 19:43:22 +0000 (19:43 +0000)
* sh.c (dump_table): DImode pool constants need only 32 bit alignment.
DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.

From-SVN: r59891

gcc/ChangeLog
gcc/config/sh/sh.c

index 8cea9d42f5062c115e1fdedf85aff421b40b275e..8eaad552d8eba372f35147e8df69647196b8c8f8 100644 (file)
@@ -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.
index 70cb0c1f167de34d4e3f7f0b26c10975ccca54a1..5a31c844c3dd4f2ef577c9821f216b6bbda60737 100644 (file)
@@ -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),