This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: Do not align labels for jump tables
Mark Mitchell wrote:
Andreas Schwab wrote:
The only change since that point was to add a condition to the
testcase to make it pass on 68K/fido; those CPUs do not support
-falign-labels=8.
In which way do they not support it?
I've amended the testcase because of the following in m68k.c:
override_options():
#ifndef ASM_OUTPUT_ALIGN_WITH_NOP
if (align_labels > 2)
{
warning (0, "-falign-labels=%d is not supported", align_labels);
align_labels = 0;
}
if (align_loops > 2)
{
warning (0, "-falign-loops=%d is not supported", align_loops);
align_loops = 0;
}
#endif
ASM_OUTPUT_ALIGN_WITH_NOP is defined in linux.h, so bare-metal m68k and
fido issue a warning.
Now comes the interesting part: I've just checked the commit log of
revision that added the code above, and it appears that definition of
the macro was intended to go to m68k.h, not linux.h (rev. 128730):
2007-09-24 Roman Zippel <zippel@linux-m68k.org>
+ * config/m68k/m68k.h (ASM_OUTPUT_ALIGN_WITH_NOP): New, use
+ "move.l %a4,%a4" to produce nops.
+ * config/m68k/m68k.c (override_options): Reset align options,
+ if neccessary align macro isn't avaible.
Roman, have you accidentally committed the hunk to the wrong file?
The definition of ASM_OUTPUT_ALIGN_WITH_NOP seems OK to me to be moved
to m68k.h hence fixing the underlying problem.
Mark, it seems I was deceived by the code and the falign-labels-1.c
testcase should not exclude m68k and fido from the testing.
--
Maxim