summaryrefslogtreecommitdiff
path: root/gcc/config/ns32k
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1998-03-02 11:54:35 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1998-03-02 11:54:35 +0000
commitfc470718aca25ebac8f4e07cbabef1da140755ae (patch)
tree9ba9228d811fc5a7f85644b346c78cc487723653 /gcc/config/ns32k
parent948edfa70264176018542bf185e3ed1a68cf331c (diff)
downloadgcc-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.h4
-rw-r--r--gcc/config/ns32k/merlin.h2
-rw-r--r--gcc/config/ns32k/ns32k.h6
-rw-r--r--gcc/config/ns32k/sequent.h2
-rw-r--r--gcc/config/ns32k/tek6000.h2
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"