Commit 9ba3994a by Richard Henderson Committed by Richard Henderson

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
parent 5ec105cd
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> Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
* reload.c (find_reloads): Always force (subreg (mem)) to be * reload.c (find_reloads): Always force (subreg (mem)) to be
......
/* Definitions of target machine for GNU compiler, for DEC Alpha. /* 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) Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GNU CC. This file is part of GNU CC.
...@@ -122,22 +122,12 @@ extern enum alpha_fp_trap_mode alpha_fptm; ...@@ -122,22 +122,12 @@ extern enum alpha_fp_trap_mode alpha_fptm;
#define MASK_IEEE_WITH_INEXACT 32 #define MASK_IEEE_WITH_INEXACT 32
#define TARGET_IEEE_WITH_INEXACT (target_flags & MASK_IEEE_WITH_INEXACT) #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 /* This means we must construct all constants rather than emitting
them as literal data. */ them as literal data. */
#define MASK_BUILD_CONSTANTS 128 #define MASK_BUILD_CONSTANTS 128
#define TARGET_BUILD_CONSTANTS (target_flags & MASK_BUILD_CONSTANTS) #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) /* This means we handle floating points in VAX F- (float)
or G- (double) Format. */ or G- (double) Format. */
...@@ -170,6 +160,19 @@ extern enum alpha_fp_trap_mode alpha_fptm; ...@@ -170,6 +160,19 @@ extern enum alpha_fp_trap_mode alpha_fptm;
#define MASK_SUPPORT_ARCH 32768 #define MASK_SUPPORT_ARCH 32768
#define TARGET_SUPPORT_ARCH (target_flags & MASK_SUPPORT_ARCH) #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. /* Macro to define tables used to set the flags.
This is a list in braces of pairs in braces, This is a list in braces of pairs in braces,
each pair being { "NAME", VALUE } each pair being { "NAME", VALUE }
......
;; Machine description for DEC Alpha for GNU C compiler ;; 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) ;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
;; This file is part of GNU CC. ;; This file is part of GNU CC.
...@@ -5076,9 +5076,14 @@ ...@@ -5076,9 +5076,14 @@
(define_insn "builtin_setjmp_receiver" (define_insn "builtin_setjmp_receiver"
[(unspec_volatile [(match_operand 0 "" "")] 2)] [(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)") "\\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" (define_expand "nonlocal_goto_receiver"
[(unspec_volatile [(const_int 0)] 1) [(unspec_volatile [(const_int 0)] 1)
(set (reg:DI 27) (mem:DI (reg:DI 29))) (set (reg:DI 27) (mem:DI (reg:DI 29)))
......
/* Definitions of target machine for GNU compiler, for DEC Alpha on OSF/1. /* 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) Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GNU CC. This file is part of GNU CC.
...@@ -19,6 +19,10 @@ along with GNU CC; see the file COPYING. If not, write to ...@@ -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, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ 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. */ /* Names to predefine in the preprocessor for this target machine. */
......
...@@ -22,3 +22,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,3 +22,9 @@ Boston, MA 02111-1307, USA. */
#undef LIB_SPEC #undef LIB_SPEC
#define LIB_SPEC "%{p:-lprof1} %{pg:-lprof1} %{a:-lprof2} -lc" #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
/* Output variables, constants and external declarations, for GNU compiler. /* 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. This file is part of GNU CC.
...@@ -75,7 +75,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -75,7 +75,10 @@ Boston, MA 02111-1307, USA. */
#define DOLLARS_IN_IDENTIFIERS 2 #define DOLLARS_IN_IDENTIFIERS 2
#undef TARGET_DEFAULT #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 #undef TARGET_NAME
#define TARGET_NAME "OpenVMS/Alpha" #define TARGET_NAME "OpenVMS/Alpha"
#undef TARGET_VERSION #undef TARGET_VERSION
......
/* Definitions of target machine for GNU compiler, for DEC Alpha /* Definitions of target machine for GNU compiler, for DEC Alpha
running Windows/NT. 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) Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GNU CC. This file is part of GNU CC.
...@@ -21,7 +21,10 @@ the Free Software Foundation, 59 Temple Place - Suite 330, ...@@ -21,7 +21,10 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#undef TARGET_DEFAULT #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. */ /* Names to predefine in the preprocessor for this target machine. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment