Sam Figueroa's change to add ASM_OUTPUT_ALIGN_WITH_NOP.
authordalej <dalej@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Sep 2002 21:36:29 +0000 (21:36 +0000)
committerdalej <dalej@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 17 Sep 2002 21:36:29 +0000 (21:36 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57261 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/sparc/sparc.h
gcc/doc/tm.texi
gcc/final.c

index 472a9b8..1aef739 100644 (file)
@@ -1,3 +1,8 @@
+2002-09-17  Samuel Figueroa  <figueroa@apple.com>
+       * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
+       * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
+       * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
+
 2002-09-17  Dale Johannesen  <dalej@apple.com>
        * cfgcleanup.c (try_forward_edges):  Do not forward a
        branch to just after a loop exit before loop optimization;
index d294a07..aa7c23a 100644 (file)
@@ -2812,6 +2812,13 @@ do {                                                                     \
   if ((LOG) != 0)                      \
     fprintf (FILE, "\t.align %d\n", (1<<(LOG)))
 
+/* This is how to output an assembler line that says to advance
+   the location counter to a multiple of 2**LOG bytes using the
+   "nop" instruction as padding.  */
+#define ASM_OUTPUT_ALIGN_WITH_NOP(FILE,LOG)   \
+  if ((LOG) != 0)                             \
+    fprintf (FILE, "\t.align %d,0x1000000\n", (1<<(LOG)))
+
 #define ASM_OUTPUT_SKIP(FILE,SIZE)  \
   fprintf (FILE, "\t.skip %u\n", (SIZE))
 
index b4a808b..ebc242f 100644 (file)
@@ -7577,6 +7577,11 @@ A C statement to output to the stdio stream @var{stream} an assembler
 command to advance the location counter to a multiple of 2 to the
 @var{power} bytes.  @var{power} will be a C expression of type @code{int}.
 
+@findex ASM_OUTPUT_ALIGN_WITH_NOP
+@item ASM_OUTPUT_ALIGN_WITH_NOP (@var{stream}, @var{power})
+Like @code{ASM_OUTPUT_ALIGN}, except that the ``nop'' instruction is used
+for padding, if necessary.
+
 @findex ASM_OUTPUT_MAX_SKIP_ALIGN
 @item ASM_OUTPUT_MAX_SKIP_ALIGN (@var{stream}, @var{power}, @var{max_skip})
 A C statement to output to the stdio stream @var{stream} an assembler
index 9d2c426..0ff3c3a 100644 (file)
@@ -2185,8 +2185,12 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
 #ifdef ASM_OUTPUT_MAX_SKIP_ALIGN
              ASM_OUTPUT_MAX_SKIP_ALIGN (file, align, max_skip);
 #else
+#ifdef ASM_OUTPUT_ALIGN_WITH_NOP
+              ASM_OUTPUT_ALIGN_WITH_NOP (file, align);
+#else
              ASM_OUTPUT_ALIGN (file, align);
 #endif
+#endif
            }
        }
 #ifdef HAVE_cc0