X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=gcc%2Fconfig%2Fns32k%2Fencore.h;fp=gcc%2Fconfig%2Fns32k%2Fencore.h;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=452b893ec2d93bb5fefe63e13f637c597aa6f81c;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/config/ns32k/encore.h b/gcc/config/ns32k/encore.h deleted file mode 100644 index 452b893e..00000000 --- a/gcc/config/ns32k/encore.h +++ /dev/null @@ -1,178 +0,0 @@ -/* Definitions of target machine for GNU compiler. ENCORE NS32000 version. - Copyright (C) 1988, 1993, 2000, 2001, 2002 Free Software Foundation, Inc. - Adapted by Robert Brown (brown@harvard.harvard.edu) from the Sequent - version by Michael Tiemann (tiemann@mcc.com). - -This file is part of GNU CC. - -GNU CC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU CC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - - -#define EXTERNAL_PREFIX '?' -#define IMMEDIATE_PREFIX '$' - -#include "ns32k/ns32k.h" - -#define SDB_DEBUGGING_INFO -#undef DBX_REGISTER_NUMBER -#define DBX_REGISTER_NUMBER(REGNO) (REGNO) - -/* Cause long-jump assembler to be used, - since otherwise some files fail to be assembled right. */ -#define ASM_SPEC "-j" - -#undef ASM_FILE_START -#undef ASM_GENERATE_INTERNAL_LABEL -#undef ASM_OUTPUT_ADDR_DIFF_ELT -#undef ASM_OUTPUT_ALIGN -#undef ASM_OUTPUT_ASCII -#undef ASM_OUTPUT_INTERNAL_LABEL -#undef ASM_OUTPUT_LOCAL -#undef CPP_PREDEFINES -#undef FUNCTION_BOUNDARY -#undef PRINT_OPERAND -#undef PRINT_OPERAND_ADDRESS -#undef TARGET_VERSION -#undef FUNCTION_PROFILER - -#define TARGET_DEFAULT 9 /* 32332 with 32081. */ -#define TARGET_VERSION fprintf (stderr, " (32000, Encore syntax)"); -/* Note Encore does not standardly do -Dencore. */ -/* budd: should have a -ns32332 (or -apc) switch! but no harm for now */ -#define CPP_PREDEFINES "-Dns32000 -Dn16 -Dns16000 -Dns32332 -Dunix -Asystem=unix -Acpu=ns32k -Amachine=ns32k" - -/* Ignore certain cpp directives used in header files on sysV. */ -#define SCCS_DIRECTIVE - -/* Output #ident as a .ident. */ -#define ASM_OUTPUT_IDENT(FILE, NAME) fprintf (FILE, "\t.ident \"%s\"\n", NAME); - -/* The .file command should always begin the output. */ -#define ASM_FILE_START(FILE) \ -output_file_directive ((FILE), main_input_filename) - -#define FUNCTION_BOUNDARY 128 /* speed optimization */ - -/* - * The Encore assembler uses ".align 2" to align on 2-byte boundaries. - */ - -#define ASM_OUTPUT_ALIGN(FILE,LOG) \ - fprintf (FILE, "\t.align %d\n", 1 << (LOG)) - -/* 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 LABEL_ALIGN_AFTER_BARRIER -#define LABEL_ALIGN_AFTER_BARRIER(LABEL) 0 - -/* - * Internal labels are prefixed with a period. - */ - -#define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \ - sprintf (LABEL, "*.%s%ld", PREFIX, (long)(NUM)) -#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \ - fprintf (FILE, ".%s%d:\n", PREFIX, NUM) -#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \ - fprintf (FILE, "\t.double .L%d-.LI%d\n", VALUE, REL) - -/* - * Different syntax for integer constants, double constants, and - * uninitialized locals. - */ - -#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \ -( fputs ("\t.bss ", (FILE)), \ - assemble_name ((FILE), (NAME)), \ - fprintf ((FILE), ",%u,%u\n", (SIZE), (ROUNDED))) - - /* - * Encore assembler can't handle huge string constants like the one in - * gcc.c. If the default routine in varasm.c were more conservative, this - * code could be eliminated. It starts a new .ascii directive every 40 - * characters. - */ - -#define ASM_OUTPUT_ASCII(file, p, size) \ -do { \ - size_t i, limit = (size); \ - for (i = 0; i < limit; i++) \ - { \ - register int c = (p)[i]; \ - if ((i / 40) * 40 == i) \ - { \ - if (i == 0) \ - fprintf ((file), "\t.ascii \""); \ - else \ - fprintf ((file), "\"\n\t.ascii \""); \ - } \ - if (c == '\"' || c == '\\') \ - putc ('\\', (file)); \ - if (c >= ' ' && c < 0177) \ - putc (c, (file)); \ - else \ - { \ - fprintf ((file), "\\%o", c); \ - if (i < limit - 1 && ISDIGIT ((p)[i + 1])) \ - fprintf ((file), "\"\n\t.ascii \""); \ - } \ - } \ - fprintf ((file), "\"\n"); \ -} while (0) - -/* Modify syntax of jsr instructions. */ -#define CALL_MEMREF_IMPLICIT - -#define NO_ABSOLUTE_PREFIX_IF_SYMBOLIC - -#define PRINT_OPERAND(FILE, X, CODE) print_operand(FILE, X, CODE) - -#define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address(FILE, ADDR) - -/* Change the way in which data is allocated and initialized on the - encore so that both private and shared data are supported. Shared data - that is initialized must be contained in the ".shrdata" section - of the program. This is accomplished by defining the SHARED_SECTION_ASM_OP - macro. Share data that is simply allocated, and not initialized must - be prefixed with the ".shrcomm" or ".shrbss" pseudo op, for common or - local data respectively. This is accomplished by redefining the - ASM_OUTPUT_COMMON and ASM_OUTPUT_LOCAL macros. */ - -/* Assembler pseudo-op for shared data segment. */ - -#define SHARED_SECTION_ASM_OP "\t.shrdata" - -/* This says how to output an assembler line - to define a shared common symbol. */ - -#define ASM_OUTPUT_SHARED_COMMON(FILE, NAME, SIZE, ROUNDED) \ -( fputs (".shrcomm ", (FILE)), \ - assemble_name ((FILE), (NAME)), \ - fprintf ((FILE), ",%d\n", (ROUNDED))) - -/* This says how to output an assembler line - to define a shared local symbol. */ - -#define ASM_OUTPUT_SHARED_LOCAL(FILE, NAME, SIZE, ROUNDED) \ -( fputs ("\t.shrbss ", (FILE)), \ - assemble_name ((FILE), (NAME)), \ - fprintf ((FILE), ",%d,%d\n", (SIZE), (ROUNDED))) - -#define FUNCTION_PROFILER(FILE, LABELNO) \ - fprintf (FILE, "\taddr .LP%d,r0\n\tjsr mcount\n", (LABELNO)) - -#define ENCORE_ASM