58ad121651
committed in "smallish" steps. This step incorporates the switch to MEM_P, REG_P, and CONST_INT_P. Use bool/true/false where appropriate. PRINT_OPERAND moves from being a large macro in vax.h print_operand in vax.c. Fix rtx cost for a constant of 0. This eliminates unneeded moves when setting to 0 would be fine. Lastly, include completely new (on by default) code for DImode move, addition, and subtract. This code is significantly faster and smaller that what existed before.
60 lines
1.7 KiB
C
60 lines
1.7 KiB
C
/* Definitions of target machine for GNU compiler,
|
|
for NetBSD/vax ELF systems.
|
|
Copyright (C) 2002 Free Software Foundation, Inc.
|
|
|
|
This file is part of GCC.
|
|
|
|
GCC 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.
|
|
|
|
GCC 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 GCC; see the file COPYING. If not, write to
|
|
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
|
|
Boston, MA 02110-1301, USA. */
|
|
|
|
/* Names to predefine in the preprocessor for this target OS. */
|
|
#undef TARGET_OS_CPP_BUILTINS
|
|
#define TARGET_OS_CPP_BUILTINS() \
|
|
do \
|
|
{ \
|
|
NETBSD_OS_CPP_BUILTINS_ELF(); \
|
|
} \
|
|
while (0)
|
|
|
|
#undef CPP_SPEC
|
|
#define CPP_SPEC NETBSD_CPP_SPEC
|
|
|
|
#define NETBSD_ENTRY_POINT "__start"
|
|
|
|
#undef LINK_SPEC
|
|
#if 1
|
|
/* FIXME: We must link all executables statically until PIC support
|
|
is added to the compiler. */
|
|
#define LINK_SPEC \
|
|
"%{assert*} %{R*} %{rpath*} \
|
|
%{shared:%ethe -shared option is not currently supported for VAX ELF} \
|
|
%{!shared: \
|
|
-dc -dp \
|
|
%{!nostdlib: \
|
|
%{!r*: \
|
|
%{!e*:-e %(netbsd_entry_point)}}} \
|
|
%{!static:-static} \
|
|
%{static:-static}}"
|
|
#else
|
|
#define LINK_SPEC NETBSD_LINK_SPEC_ELF
|
|
#endif
|
|
|
|
#define EXTRA_SPECS \
|
|
{ "netbsd_entry_point", NETBSD_ENTRY_POINT },
|
|
|
|
/* We use gas, not the UNIX assembler. */
|
|
#undef TARGET_DEFAULT
|
|
#define TARGET_DEFAULT MASK_QMATH
|