mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-30 08:49:36 +08:00
alpha.h (TARGET_WINDOWS_NT, [...]): Just make them real constants, since they can't be changed.
* alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them real constants, since they can't be changed. (TARGET_AS_CAN_SUBTRACT_LABELS): New. * alpha/alpha.md (builtin_setjmp_receiver): Use it. * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New. * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New. * alpha/vms.h (TARGET_OPEN_VMS): New. * alpha/win-nt.h (TARGET_WINDOWS_NT): New. From-SVN: r18417
This commit is contained in:
parent
5ec105cd71
commit
9ba3994aa3
@ -1,3 +1,14 @@
|
||||
Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
|
||||
real constants, since they can't be changed.
|
||||
(TARGET_AS_CAN_SUBTRACT_LABELS): New.
|
||||
* alpha/alpha.md (builtin_setjmp_receiver): Use it.
|
||||
* alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
|
||||
* alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
|
||||
* alpha/vms.h (TARGET_OPEN_VMS): New.
|
||||
* alpha/win-nt.h (TARGET_WINDOWS_NT): New.
|
||||
|
||||
Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* reload.c (find_reloads): Always force (subreg (mem)) to be
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Definitions of target machine for GNU compiler, for DEC Alpha.
|
||||
Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
|
||||
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||||
|
||||
This file is part of GNU CC.
|
||||
@ -122,22 +122,12 @@ extern enum alpha_fp_trap_mode alpha_fptm;
|
||||
#define MASK_IEEE_WITH_INEXACT 32
|
||||
#define TARGET_IEEE_WITH_INEXACT (target_flags & MASK_IEEE_WITH_INEXACT)
|
||||
|
||||
/* This means we are compiling for Windows NT. */
|
||||
|
||||
#define MASK_WINDOWS_NT 64
|
||||
#define TARGET_WINDOWS_NT (target_flags & MASK_WINDOWS_NT)
|
||||
|
||||
/* This means we must construct all constants rather than emitting
|
||||
them as literal data. */
|
||||
|
||||
#define MASK_BUILD_CONSTANTS 128
|
||||
#define TARGET_BUILD_CONSTANTS (target_flags & MASK_BUILD_CONSTANTS)
|
||||
|
||||
/* This means we are compiling for openVMS. */
|
||||
|
||||
#define MASK_OPEN_VMS 256
|
||||
#define TARGET_OPEN_VMS (target_flags & MASK_OPEN_VMS)
|
||||
|
||||
/* This means we handle floating points in VAX F- (float)
|
||||
or G- (double) Format. */
|
||||
|
||||
@ -170,6 +160,19 @@ extern enum alpha_fp_trap_mode alpha_fptm;
|
||||
#define MASK_SUPPORT_ARCH 32768
|
||||
#define TARGET_SUPPORT_ARCH (target_flags & MASK_SUPPORT_ARCH)
|
||||
|
||||
/* These are for target os support and cannot be changed at runtime. */
|
||||
#ifndef TARGET_WINDOWS_NT
|
||||
#define TARGET_WINDOWS_NT 0
|
||||
#endif
|
||||
#ifndef TARGET_OPEN_VMS
|
||||
#define TARGET_OPEN_VMS 0
|
||||
#endif
|
||||
|
||||
#ifndef TARGET_AS_CAN_SUBTRACT_LABELS
|
||||
#define TARGET_AS_CAN_SUBTRACT_LABELS TARGET_GAS
|
||||
#endif
|
||||
|
||||
|
||||
/* Macro to define tables used to set the flags.
|
||||
This is a list in braces of pairs in braces,
|
||||
each pair being { "NAME", VALUE }
|
||||
|
@ -1,5 +1,5 @@
|
||||
;; Machine description for DEC Alpha for GNU C compiler
|
||||
;; Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
|
||||
;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||||
|
||||
;; This file is part of GNU CC.
|
||||
@ -5076,9 +5076,14 @@
|
||||
|
||||
(define_insn "builtin_setjmp_receiver"
|
||||
[(unspec_volatile [(match_operand 0 "" "")] 2)]
|
||||
"! TARGET_OPEN_VMS && ! TARGET_WINDOWS_NT"
|
||||
"! TARGET_OPEN_VMS && ! TARGET_WINDOWS_NT && TARGET_AS_CAN_SUBTRACT_LABELS"
|
||||
"\\n$LSJ%=:\;ldgp $29,$LSJ%=-%l0($27)")
|
||||
|
||||
(define_insn ""
|
||||
[(unspec_volatile [(match_operand 0 "" "")] 2)]
|
||||
"! TARGET_OPEN_VMS && ! TARGET_WINDOWS_NT"
|
||||
"br $27,$LSJ%=\\n$LSJ%=:\;ldgp $29,0($27)")
|
||||
|
||||
(define_expand "nonlocal_goto_receiver"
|
||||
[(unspec_volatile [(const_int 0)] 1)
|
||||
(set (reg:DI 27) (mem:DI (reg:DI 29)))
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Definitions of target machine for GNU compiler, for DEC Alpha on OSF/1.
|
||||
Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
|
||||
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||||
|
||||
This file is part of GNU CC.
|
||||
@ -19,6 +19,10 @@ 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. */
|
||||
|
||||
/* As of OSF 4.0, as can subtract adjacent labels. */
|
||||
|
||||
#undef TARGET_AS_CAN_SUBTRACT_LABELS
|
||||
#define TARGET_AS_CAN_SUBTRACT_LABELS 1
|
||||
|
||||
/* Names to predefine in the preprocessor for this target machine. */
|
||||
|
||||
|
@ -22,3 +22,9 @@ Boston, MA 02111-1307, USA. */
|
||||
|
||||
#undef LIB_SPEC
|
||||
#define LIB_SPEC "%{p:-lprof1} %{pg:-lprof1} %{a:-lprof2} -lc"
|
||||
|
||||
/* As of OSF 3.2, as still can't subtract adjacent labels. */
|
||||
|
||||
#undef TARGET_AS_CAN_SUBTRACT_LABELS
|
||||
#define TARGET_AS_CAN_SUBTRACT_LABELS 0
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Output variables, constants and external declarations, for GNU compiler.
|
||||
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -75,7 +75,10 @@ Boston, MA 02111-1307, USA. */
|
||||
#define DOLLARS_IN_IDENTIFIERS 2
|
||||
|
||||
#undef TARGET_DEFAULT
|
||||
#define TARGET_DEFAULT (MASK_FP|MASK_FPREGS|MASK_GAS|MASK_OPEN_VMS)
|
||||
#define TARGET_DEFAULT (MASK_FP|MASK_FPREGS|MASK_GAS)
|
||||
#undef TARGET_OPEN_VMS
|
||||
#define TARGET_OPEN_VMS 1
|
||||
|
||||
#undef TARGET_NAME
|
||||
#define TARGET_NAME "OpenVMS/Alpha"
|
||||
#undef TARGET_VERSION
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Definitions of target machine for GNU compiler, for DEC Alpha
|
||||
running Windows/NT.
|
||||
Copyright (C) 1995, 1996 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995, 1996, 1998 Free Software Foundation, Inc.
|
||||
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
|
||||
|
||||
This file is part of GNU CC.
|
||||
@ -21,7 +21,10 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#undef TARGET_DEFAULT
|
||||
#define TARGET_DEFAULT (MASK_FP | MASK_FPREGS | MASK_WINDOWS_NT)
|
||||
#define TARGET_DEFAULT (MASK_FP | MASK_FPREGS)
|
||||
|
||||
#undef TARGET_WINDOWS_NT
|
||||
#define TARGET_WINDOWS_NT 1
|
||||
|
||||
/* Names to predefine in the preprocessor for this target machine. */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user