Commit be7b80f4 by Richard Henderson Committed by Richard Henderson

alpha.h (TARGET_ABI_OSF): New.

        * config/alpha/alpha.h (TARGET_ABI_OSF): New.
        (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
        * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
        * config/alpha/alpha.c: Likewise.
        * config/alpha/alpha.md: Likewise.
        * config/alpha/alpha32.h: Likewise.
        * config/alpha/vms.h: Likewise.
        (OPEN_VMS): Remove.

From-SVN: r44016
parent 4a82c950
2001-07-15 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.h (TARGET_ABI_OSF): New.
(TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
* config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
* config/alpha/alpha.c: Likewise.
* config/alpha/alpha.md: Likewise.
* config/alpha/alpha32.h: Likewise.
* config/alpha/vms.h: Likewise.
(OPEN_VMS): Remove.
2001-07-14 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.md: Use define_constants for unspec values.
......
......@@ -111,7 +111,7 @@ extern int check_float_value PARAMS ((enum machine_mode,
REAL_VALUE_TYPE *, int));
#endif
#if OPEN_VMS
#if TARGET_ABI_OPEN_VMS
#ifdef HAVE_MACHINE_MODES
extern enum avms_arg_type alpha_arg_type PARAMS ((enum machine_mode));
#endif
......@@ -121,7 +121,7 @@ extern rtx alpha_arg_info_reg_val PARAMS ((CUMULATIVE_ARGS));
#ifdef BUFSIZ
extern void alpha_write_linkage PARAMS ((FILE *));
#endif
#endif /* OPEN_VMS */
#endif /* TARGET_ABI_OPEN_VMS */
#ifdef RTX_CODE
extern rtx alpha_need_linkage PARAMS ((const char *, int));
......
......@@ -173,12 +173,9 @@ extern enum alpha_fp_trap_mode alpha_fptm;
#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
#define TARGET_ABI_WINDOWS_NT 0
#define TARGET_ABI_OPEN_VMS 0
#define TARGET_ABI_OSF (!TARGET_ABI_WINDOWS_NT && !TARGET_ABI_OPEN_VMS)
#ifndef TARGET_AS_CAN_SUBTRACT_LABELS
#define TARGET_AS_CAN_SUBTRACT_LABELS TARGET_GAS
......@@ -2147,7 +2144,7 @@ literal_section () \
/* This is how to output an element of a case-vector that is relative. */
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \
fprintf (FILE, "\t.%s $L%d\n", TARGET_WINDOWS_NT ? "long" : "gprel32", \
fprintf (FILE, "\t.%s $L%d\n", TARGET_ABI_WINDOWS_NT ? "long" : "gprel32", \
(VALUE))
/* This is how to output an assembler line
......@@ -2197,7 +2194,7 @@ do { \
const char *fn_name = XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0); \
int reg; \
\
if (! TARGET_OPEN_VMS && ! TARGET_WINDOWS_NT) \
if (TARGET_ABI_OSF) \
fprintf (FILE, "\tldgp $29,0($27)\n"); \
\
/* Mark end of prologue. */ \
......
......@@ -986,7 +986,7 @@
(clobber (reg:DI 28))])
(set (match_operand:SI 0 "nonimmediate_operand" "")
(subreg:SI (reg:DI 27) 0))]
"!TARGET_OPEN_VMS"
"! TARGET_ABI_OPEN_VMS"
"")
(define_expand "udivsi3"
......@@ -1000,7 +1000,7 @@
(clobber (reg:DI 28))])
(set (match_operand:SI 0 "nonimmediate_operand" "")
(subreg:SI (reg:DI 27) 0))]
"!TARGET_OPEN_VMS"
"! TARGET_ABI_OPEN_VMS"
"")
(define_expand "modsi3"
......@@ -1014,7 +1014,7 @@
(clobber (reg:DI 28))])
(set (match_operand:SI 0 "nonimmediate_operand" "")
(subreg:SI (reg:DI 27) 0))]
"!TARGET_OPEN_VMS"
"! TARGET_ABI_OPEN_VMS"
"")
(define_expand "umodsi3"
......@@ -1028,7 +1028,7 @@
(clobber (reg:DI 28))])
(set (match_operand:SI 0 "nonimmediate_operand" "")
(subreg:SI (reg:DI 27) 0))]
"!TARGET_OPEN_VMS"
"! TARGET_ABI_OPEN_VMS"
"")
(define_expand "divdi3"
......@@ -1041,7 +1041,7 @@
(clobber (reg:DI 28))])
(set (match_operand:DI 0 "nonimmediate_operand" "")
(reg:DI 27))]
"!TARGET_OPEN_VMS"
"! TARGET_ABI_OPEN_VMS"
"")
(define_expand "udivdi3"
......@@ -1054,7 +1054,7 @@
(clobber (reg:DI 28))])
(set (match_operand:DI 0 "nonimmediate_operand" "")
(reg:DI 27))]
"!TARGET_OPEN_VMS"
"! TARGET_ABI_OPEN_VMS"
"")
(define_expand "moddi3"
......@@ -1067,7 +1067,7 @@
(clobber (reg:DI 28))])
(set (match_operand:DI 0 "nonimmediate_operand" "")
(reg:DI 27))]
"!TARGET_OPEN_VMS"
"! TARGET_ABI_OPEN_VMS"
"")
(define_expand "umoddi3"
......@@ -1080,7 +1080,7 @@
(clobber (reg:DI 28))])
(set (match_operand:DI 0 "nonimmediate_operand" "")
(reg:DI 27))]
"!TARGET_OPEN_VMS"
"! TARGET_ABI_OPEN_VMS"
"")
;; Lengths of 8 for ldq $t12,__divq($gp); jsr $t9,($t12),__divq as
......@@ -1091,7 +1091,7 @@
[(reg:DI 24) (reg:DI 25)])))
(clobber (reg:DI 23))
(clobber (reg:DI 28))]
"!TARGET_OPEN_VMS"
"! TARGET_ABI_OPEN_VMS"
"%E0 $24,$25,$27"
[(set_attr "type" "jsr")
(set_attr "length" "8")])
......@@ -1102,7 +1102,7 @@
[(reg:DI 24) (reg:DI 25)]))
(clobber (reg:DI 23))
(clobber (reg:DI 28))]
"!TARGET_OPEN_VMS"
"! TARGET_ABI_OPEN_VMS"
"%E0 $24,$25,$27"
[(set_attr "type" "jsr")
(set_attr "length" "8")])
......@@ -4082,9 +4082,9 @@
(use (match_operand 3 "" ""))]
""
"
{ if (TARGET_WINDOWS_NT)
{ if (TARGET_ABI_WINDOWS_NT)
emit_call_insn (gen_call_nt (operands[0], operands[1]));
else if (TARGET_OPEN_VMS)
else if (TARGET_ABI_OPEN_VMS)
emit_call_insn (gen_call_vms (operands[0], operands[2]));
else
emit_call_insn (gen_call_osf (operands[0], operands[1]));
......@@ -4095,7 +4095,7 @@
(define_expand "sibcall"
[(call (mem:DI (match_operand 0 "" ""))
(match_operand 1 "" ""))]
"!TARGET_OPEN_VMS && !TARGET_WINDOWS_NT"
"TARGET_ABI_OSF"
"
{
if (GET_CODE (operands[0]) != MEM)
......@@ -4187,9 +4187,10 @@
(use (match_operand 4 "" ""))]
""
"
{ if (TARGET_WINDOWS_NT)
{
if (TARGET_ABI_WINDOWS_NT)
emit_call_insn (gen_call_value_nt (operands[0], operands[1], operands[2]));
else if (TARGET_OPEN_VMS)
else if (TARGET_ABI_OPEN_VMS)
emit_call_insn (gen_call_value_vms (operands[0], operands[1],
operands[3]));
else
......@@ -4202,7 +4203,7 @@
[(set (match_operand 0 "" "")
(call (mem:DI (match_operand 1 "" ""))
(match_operand 2 "" "")))]
"!TARGET_OPEN_VMS && !TARGET_WINDOWS_NT"
"TARGET_ABI_OSF"
"
{
if (GET_CODE (operands[1]) != MEM)
......@@ -4288,8 +4289,7 @@
(match_operand 1 "" ""))
(clobber (reg:DI 27))
(clobber (reg:DI 26))]
"! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS
&& find_reg_note (insn, REG_NORETURN, NULL_RTX)"
"TARGET_ABI_OSF && find_reg_note (insn, REG_NORETURN, NULL_RTX)"
"@
jsr $26,($27),0
bsr $26,$%0..ng
......@@ -4302,7 +4302,7 @@
(match_operand 1 "" ""))
(clobber (reg:DI 27))
(clobber (reg:DI 26))]
"! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS"
"TARGET_ABI_OSF"
"@
jsr $26,($27),0\;ldgp $29,0($26)
bsr $26,$%0..ng
......@@ -4313,7 +4313,7 @@
(define_insn "*sibcall_osf_1"
[(call (mem:DI (match_operand:DI 0 "call_operand" "R,i"))
(match_operand 1 "" ""))]
"! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS"
"TARGET_ABI_OSF"
"@
br $31,$%0..ng
jmp $31,%0"
......@@ -4324,7 +4324,7 @@
[(call (mem:DI (match_operand:DI 0 "call_operand" "r,R,i"))
(match_operand 1 "" ""))
(clobber (reg:DI 26))]
"TARGET_WINDOWS_NT"
"TARGET_ABI_WINDOWS_NT"
"@
jsr $26,(%0)
bsr $26,%0
......@@ -4339,7 +4339,7 @@
(use (reg:DI 25))
(use (reg:DI 26))
(clobber (reg:DI 27))]
"TARGET_OPEN_VMS"
"TARGET_ABI_OPEN_VMS"
"@
mov %2,$27\;jsr $26,0\;ldq $27,0($29)
ldq $27,%2\;jsr $26,%0\;ldq $27,0($29)"
......@@ -4414,9 +4414,9 @@
""
"
{
if (TARGET_WINDOWS_NT)
if (TARGET_ABI_WINDOWS_NT)
emit_jump_insn (gen_tablejump_nt (operands[0], operands[1]));
else if (TARGET_OPEN_VMS)
else if (TARGET_ABI_OPEN_VMS)
emit_jump_insn (gen_tablejump_vms (operands[0], operands[1]));
else
emit_jump_insn (gen_tablejump_osf (operands[0], operands[1]));
......@@ -4465,7 +4465,7 @@
(plus (match_operand:DI 0 "register_operand" "r")
(label_ref (match_operand 1 "" ""))))
(clobber (match_scratch:DI 2 "=r"))]
"! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS && next_active_insn (insn) != 0
"TARGET_ABI_OSF && next_active_insn (insn) != 0
&& GET_CODE (PATTERN (next_active_insn (insn))) == ADDR_DIFF_VEC
&& PREV_INSN (next_active_insn (insn)) == operands[1]"
"*
......@@ -4509,7 +4509,7 @@
[(set (pc)
(match_operand:DI 0 "register_operand" "r"))
(use (label_ref (match_operand 1 "" "")))]
"TARGET_WINDOWS_NT && next_active_insn (insn) != 0
"TARGET_ABI_WINDOWS_NT && next_active_insn (insn) != 0
&& GET_CODE (PATTERN (next_active_insn (insn))) == ADDR_DIFF_VEC
&& PREV_INSN (next_active_insn (insn)) == operands[1]"
"*
......@@ -4557,7 +4557,7 @@
[(set (pc)
(plus (match_operand:DI 0 "register_operand" "r")
(label_ref (match_operand 1 "" ""))))]
"TARGET_OPEN_VMS"
"TARGET_ABI_OPEN_VMS"
"jmp $31,(%0),0"
[(set_attr "type" "ibr")])
......@@ -4724,7 +4724,7 @@
(define_insn "*movsi_nofix"
[(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,r,r,m,*f,*f,m")
(match_operand:SI 1 "input_operand" "rJ,K,L,m,rJ,*fJ,m,*f"))]
"! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS && ! TARGET_FIX
"TARGET_ABI_OSF && ! TARGET_FIX
&& (register_operand (operands[0], SImode)
|| reg_or_0_operand (operands[1], SImode))"
"@
......@@ -4741,7 +4741,7 @@
(define_insn "*movsi_fix"
[(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,r,r,m,*f,*f,m,r,*f")
(match_operand:SI 1 "input_operand" "rJ,K,L,m,rJ,*fJ,m,*f,*f,r"))]
"! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS && TARGET_FIX
"TARGET_ABI_OSF && TARGET_FIX
&& (register_operand (operands[0], SImode)
|| reg_or_0_operand (operands[1], SImode))"
"@
......@@ -4760,7 +4760,7 @@
(define_insn "*movsi_nt_vms"
[(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,r,r,r,m,*f,*f,m")
(match_operand:SI 1 "input_operand" "rJ,K,L,s,m,rJ,*fJ,m,*f"))]
"(TARGET_WINDOWS_NT || TARGET_OPEN_VMS)
"(TARGET_ABI_WINDOWS_NT || TARGET_ABI_OPEN_VMS)
&& (register_operand (operands[0], SImode)
|| reg_or_0_operand (operands[1], SImode))"
"@
......@@ -5901,7 +5901,7 @@
(define_expand "sibcall_epilogue"
[(return)]
"!TARGET_OPEN_VMS && !TARGET_WINDOWS_NT"
"TARGET_ABI_OSF"
"
{
alpha_expand_epilogue ();
......@@ -5921,7 +5921,7 @@
(define_expand "builtin_longjmp"
[(use (match_operand:DI 0 "register_operand" "r"))]
"! TARGET_OPEN_VMS && ! TARGET_WINDOWS_NT"
"TARGET_ABI_OSF"
"
{
/* The elements of the buffer are, in order: */
......@@ -5957,21 +5957,21 @@
(define_insn "*builtin_setjmp_receiver_sub_label"
[(unspec_volatile [(label_ref (match_operand 0 "" ""))] UNSPECV_SETJMPR)]
"! TARGET_OPEN_VMS && ! TARGET_WINDOWS_NT && TARGET_AS_CAN_SUBTRACT_LABELS"
"TARGET_ABI_OSF && TARGET_AS_CAN_SUBTRACT_LABELS"
"\\n$LSJ%=:\;ldgp $29,$LSJ%=-%l0($27)"
[(set_attr "length" "8")
(set_attr "type" "multi")])
(define_insn "builtin_setjmp_receiver"
[(unspec_volatile [(label_ref (match_operand 0 "" ""))] UNSPECV_SETJMPR)]
"! TARGET_OPEN_VMS && ! TARGET_WINDOWS_NT"
"TARGET_ABI_OSF"
"br $29,$LSJ%=\\n$LSJ%=:\;ldgp $29,0($29)"
[(set_attr "length" "12")
(set_attr "type" "multi")])
(define_expand "exception_receiver"
[(unspec_volatile [(match_dup 0)] UNSPECV_EHR)]
"! TARGET_OPEN_VMS && ! TARGET_WINDOWS_NT"
"TARGET_ABI_OSF"
"
{
if (TARGET_LD_BUGGY_LDGP)
......@@ -6005,7 +6005,7 @@
(set (reg:DI 27) (mem:DI (reg:DI 29)))
(unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE)
(use (reg:DI 27))]
"TARGET_OPEN_VMS"
"TARGET_ABI_OPEN_VMS"
"")
(define_insn "arg_home"
......@@ -6028,7 +6028,7 @@
(clobber (reg:DI 24))
(clobber (reg:DI 25))
(clobber (reg:DI 0))]
"TARGET_OPEN_VMS"
"TARGET_ABI_OPEN_VMS"
"lda $0,OTS$HOME_ARGS\;ldq $0,8($0)\;jsr $0,OTS$HOME_ARGS"
[(set_attr "length" "16")
(set_attr "type" "multi")])
......@@ -6077,7 +6077,7 @@
(match_operand 2 "" "")))
(clobber (reg:DI 27))
(clobber (reg:DI 26))]
"! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS"
"TARGET_ABI_OSF"
"@
jsr $26,($27),0\;ldgp $29,0($26)
bsr $26,$%1..ng
......@@ -6089,7 +6089,7 @@
[(set (match_operand 0 "" "")
(call (mem:DI (match_operand:DI 1 "call_operand" "R,i"))
(match_operand 2 "" "")))]
"! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS"
"TARGET_ABI_OSF"
"@
br $31,$%1..ng
jmp $31,%1"
......@@ -6101,7 +6101,7 @@
(call (mem:DI (match_operand:DI 1 "call_operand" "r,R,i"))
(match_operand 2 "" "")))
(clobber (reg:DI 26))]
"TARGET_WINDOWS_NT"
"TARGET_ABI_WINDOWS_NT"
"@
jsr $26,(%1)
bsr $26,%1
......@@ -6117,7 +6117,7 @@
(use (reg:DI 25))
(use (reg:DI 26))
(clobber (reg:DI 27))]
"TARGET_OPEN_VMS"
"TARGET_ABI_OPEN_VMS"
"@
mov %3,$27\;jsr $26,0\;ldq $27,0($29)
ldq $27,%3\;jsr $26,%1\;ldq $27,0($29)"
......
......@@ -30,8 +30,8 @@ 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. */
#undef TARGET_WINDOWS_NT
#define TARGET_WINDOWS_NT 1
#undef TARGET_ABI_WINDOWS_NT
#define TARGET_ABI_WINDOWS_NT 1
/* WinNT (and thus Interix) use unsigned int */
#define SIZE_TYPE "unsigned int"
......
......@@ -18,8 +18,6 @@ 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 OPEN_VMS 1
#define TARGET_OBJECT_SUFFIX ".obj"
#define TARGET_EXECUTABLE_SUFFIX ".exe"
......@@ -69,8 +67,8 @@ Boston, MA 02111-1307, USA. */
#undef TARGET_DEFAULT
#define TARGET_DEFAULT (MASK_FP|MASK_FPREGS|MASK_GAS)
#undef TARGET_OPEN_VMS
#define TARGET_OPEN_VMS 1
#undef TARGET_ABI_OPEN_VMS
#define TARGET_ABI_OPEN_VMS 1
#undef TARGET_NAME
#define TARGET_NAME "OpenVMS/Alpha"
......
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