diff options
author | Roman Zippel <zippel@linux-m68k.org> | 2007-09-24 21:07:08 +0000 |
---|---|---|
committer | Roman Zippel <zippel@gcc.gnu.org> | 2007-09-24 21:07:08 +0000 |
commit | aaca7021ce5e44c2bf54cc88ead40688ebb419c1 (patch) | |
tree | 4223d4af7a00301e6d6188fee4d95a8a2699e069 /gcc/config/m68k | |
parent | bd7993c83c1716e191b5788e8fa54454c49ef1bf (diff) | |
download | gcc-aaca7021ce5e44c2bf54cc88ead40688ebb419c1.zip gcc-aaca7021ce5e44c2bf54cc88ead40688ebb419c1.tar.gz gcc-aaca7021ce5e44c2bf54cc88ead40688ebb419c1.tar.bz2 |
m68k.h (ASM_OUTPUT_ALIGN_WITH_NOP): New, use "move.l %a4,%a4" to produce nops.
* 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.
From-SVN: r128730
Diffstat (limited to 'gcc/config/m68k')
-rw-r--r-- | gcc/config/m68k/linux.h | 7 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.c | 13 |
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/config/m68k/linux.h b/gcc/config/m68k/linux.h index 1e1d07c..2eb4641 100644 --- a/gcc/config/m68k/linux.h +++ b/gcc/config/m68k/linux.h @@ -126,6 +126,13 @@ along with GCC; see the file COPYING3. If not see if ((LOG) > 0) \ fprintf ((FILE), "%s%u\n", ALIGN_ASM_OP, 1 << (LOG)); +#ifdef HAVE_GAS_BALIGN_AND_P2ALIGN +/* Use "move.l %a4,%a4" to advance within code. */ +#define ASM_OUTPUT_ALIGN_WITH_NOP(FILE,LOG) \ + if ((LOG) > 0) \ + fprintf ((FILE), "\t.balignw %u,0x284c\n", 1 << (LOG)); +#endif + /* If defined, a C expression whose value is a string containing the assembler operation to identify the following data as uninitialized global data. */ diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 1df869f..d2b023f 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -618,6 +618,19 @@ override_options (void) gcc_unreachable (); } +#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 + SUBTARGET_OVERRIDE_OPTIONS; /* Setup scheduling options. */ |