diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1998-03-02 11:54:35 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1998-03-02 11:54:35 +0000 |
commit | fc470718aca25ebac8f4e07cbabef1da140755ae (patch) | |
tree | 9ba9228d811fc5a7f85644b346c78cc487723653 /gcc/config/ns32k | |
parent | 948edfa70264176018542bf185e3ed1a68cf331c (diff) | |
download | gcc-fc470718aca25ebac8f4e07cbabef1da140755ae.tar.gz |
final.c (insn_last_address, [...]): New variables.
* final.c (insn_last_address, insn_current_align, uid_align):
New variables.
(in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
(insn_current_reference_address): Likewise.
(shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
(label_to_alignment): New function.
* genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
insn_current_reference_address instead of insn_current_address.
(or_attr_value, write_length_unit_log): New functions.
(main): Call write_length_unit_log.
(write_const_num_delay_slots): Output extra '\n'.
* alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
replace with:
(LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
* i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
* arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
(LOOP_ALIGN).
* i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
(LABEL_ALIGN_AFTER_BARRIER).
* ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
* ns32k/tek6000.h: Likewise.
* i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
* i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
ASM_OUTPUT_ALIGN_CODE.
From-SVN: r18357
Diffstat (limited to 'gcc/config/ns32k')
-rw-r--r-- | gcc/config/ns32k/encore.h | 4 | ||||
-rw-r--r-- | gcc/config/ns32k/merlin.h | 2 | ||||
-rw-r--r-- | gcc/config/ns32k/ns32k.h | 6 | ||||
-rw-r--r-- | gcc/config/ns32k/sequent.h | 2 | ||||
-rw-r--r-- | gcc/config/ns32k/tek6000.h | 2 |
5 files changed, 7 insertions, 9 deletions
diff --git a/gcc/config/ns32k/encore.h b/gcc/config/ns32k/encore.h index 028a6533796..f388453dc23 100644 --- a/gcc/config/ns32k/encore.h +++ b/gcc/config/ns32k/encore.h @@ -79,8 +79,8 @@ output_file_directive ((FILE), main_input_filename) /* The Encore assembler doesn't seem to accept the usual second argument and warns that .align may not work in the text section if optimization is on. */ -#undef ASM_OUTPUT_ALIGN_CODE -#define ASM_OUTPUT_ALIGN_CODE(FILE) +#undef LABEL_ALIGN_AFTER_BARRIER +#define LABEL_ALIGN_AFTER_BARRIER(LABEL) 0 /* * Internal labels are prefixed with a period. diff --git a/gcc/config/ns32k/merlin.h b/gcc/config/ns32k/merlin.h index cf5433cc2f4..d385395a9ca 100644 --- a/gcc/config/ns32k/merlin.h +++ b/gcc/config/ns32k/merlin.h @@ -53,7 +53,7 @@ Boston, MA 02111-1307, USA. */ /* This is how to align the code that follows an unconditional branch. Don't define it, since it confuses the assembler (we hear). */ -#undef ASM_OUTPUT_ALIGN_CODE +#undef LABEL_ALIGN_AFTER_BARRIER /* Assembler pseudo-op for shared data segment. */ #define SHARED_SECTION_ASM_OP ".shdata" diff --git a/gcc/config/ns32k/ns32k.h b/gcc/config/ns32k/ns32k.h index b98d72f5527..47a1d84f69b 100644 --- a/gcc/config/ns32k/ns32k.h +++ b/gcc/config/ns32k/ns32k.h @@ -1383,11 +1383,9 @@ do { \ #define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \ sprintf (LABEL, "*%s%d", PREFIX, NUM) -/* This is how to align the code that follows an unconditional branch. - Note that 0xa2 is a no-op. */ +/* This is how to align the code that follows an unconditional branch. */ -#define ASM_OUTPUT_ALIGN_CODE(FILE) \ - fprintf (FILE, "\t.align 2,0xa2\n") +#define LABEL_ALIGN_AFTER_BARRIER(LABEL) (2) /* This is how to output an element of a case-vector that is absolute. (The ns32k does not use such vectors, diff --git a/gcc/config/ns32k/sequent.h b/gcc/config/ns32k/sequent.h index 1165aa31d36..1e8c3535ec7 100644 --- a/gcc/config/ns32k/sequent.h +++ b/gcc/config/ns32k/sequent.h @@ -54,7 +54,7 @@ Boston, MA 02111-1307, USA. */ /* This is how to align the code that follows an unconditional branch. Don't define it, since it confuses the assembler (we hear). */ -#undef ASM_OUTPUT_ALIGN_CODE +#undef LABEL_ALIGN_AFTER_BARRIER /* Assembler pseudo-op for shared data segment. */ #define SHARED_SECTION_ASM_OP ".shdata" diff --git a/gcc/config/ns32k/tek6000.h b/gcc/config/ns32k/tek6000.h index 5b84bcb7640..01c88e39a2e 100644 --- a/gcc/config/ns32k/tek6000.h +++ b/gcc/config/ns32k/tek6000.h @@ -106,7 +106,7 @@ Boston, MA 02111-1307, USA. */ /* This is how to align the code that follows an unconditional branch. Don't define it, since it confuses the assembler (we hear). */ -#undef ASM_OUTPUT_ALIGN_CODE +#undef LABEL_ALIGN_AFTER_BARRIER /* Assembler pseudo-op for shared data segment. */ #define SHARED_SECTION_ASM_OP ".shdata" |