update for 2.6.1
From-SVN: r8023
This commit is contained in:
parent
e7f8067642
commit
3cf2c0245a
@ -1,5 +1,5 @@
|
|||||||
/* Definitions of target machine for GNU compiler. Convex version.
|
/* Definitions of target machine for GNU compiler. Convex version.
|
||||||
Copyright (C) 1988, 1993, 1994 Free Software Foundation, Inc.
|
Copyright (C) 1988, 1994 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GNU CC.
|
This file is part of GNU CC.
|
||||||
|
|
||||||
@ -1487,21 +1487,11 @@ bss_section () \
|
|||||||
#define PRINT_OPERAND_ADDRESS(FILE, ADDR) \
|
#define PRINT_OPERAND_ADDRESS(FILE, ADDR) \
|
||||||
print_operand_address (FILE, ADDR)
|
print_operand_address (FILE, ADDR)
|
||||||
|
|
||||||
/* Definitions for g++. */
|
|
||||||
|
|
||||||
/* Do not put out GNU stabs for constructors and destructors.
|
/* Do not put out GNU stabs for constructors and destructors.
|
||||||
ld bounces them. */
|
ld bounces them. */
|
||||||
|
|
||||||
#define FASCIST_ASSEMBLER
|
#define FASCIST_ASSEMBLER
|
||||||
|
|
||||||
/* Convex user addresses are negative, so use positive numbers
|
|
||||||
to mean `vtable index'. */
|
|
||||||
|
|
||||||
#define VTABLE_USES_MASK
|
|
||||||
#define VINDEX_MAX ((unsigned) 0x80000000)
|
|
||||||
#define SET_DECL_VINDEX(DECL, INDEX) \
|
|
||||||
(DECL_VINDEX (DECL) = (INDEX))
|
|
||||||
|
|
||||||
/* __gcc_cleanup is loader-aliased to __ap$do_registered_functions if we
|
/* __gcc_cleanup is loader-aliased to __ap$do_registered_functions if we
|
||||||
are linking against standard libc, 0 if old (-traditional) libc. */
|
are linking against standard libc, 0 if old (-traditional) libc. */
|
||||||
|
|
||||||
@ -1513,12 +1503,6 @@ bss_section () \
|
|||||||
_cleanup (); \
|
_cleanup (); \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* cexp.y uses LONG_TYPE_SIZE which depends on target_flags, which it
|
|
||||||
doesn't have. Until some better way exists, provide a def here. */
|
|
||||||
#ifdef YYBISON
|
|
||||||
int target_flags;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Header for convex.c.
|
/* Header for convex.c.
|
||||||
Here at the end so we can use types defined above. */
|
Here at the end so we can use types defined above. */
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;;- Machine description for GNU compiler, Convex Version
|
;;- Machine description for GNU compiler, Convex Version
|
||||||
;; Copyright (C) 1988, 1993, 1994 Free Software Foundation, Inc.
|
;; Copyright (C) 1988, 1994 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; This file is part of GNU CC.
|
;; This file is part of GNU CC.
|
||||||
|
|
||||||
@ -1094,6 +1094,8 @@
|
|||||||
shf %2,%0"
|
shf %2,%0"
|
||||||
[(set_attr "type" "shfl,shfw")])
|
[(set_attr "type" "shfl,shfw")])
|
||||||
|
|
||||||
|
;; but C2 left shift by a constant is faster via multiply
|
||||||
|
|
||||||
(define_insn ""
|
(define_insn ""
|
||||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||||
(ashift:SI (match_operand:SI 1 "register_operand" "0")
|
(ashift:SI (match_operand:SI 1 "register_operand" "0")
|
||||||
@ -1453,21 +1455,21 @@
|
|||||||
"* return output_cmp (operands[0], operands[1], 'b');")
|
"* return output_cmp (operands[0], operands[1], 'b');")
|
||||||
|
|
||||||
(define_insn ""
|
(define_insn ""
|
||||||
[(set (cc0) (match_operand:QI 0 "register_operand" "d,a"))
|
[(set (cc0) (match_operand:QI 0 "register_operand" "d"))
|
||||||
(clobber (match_scratch:QI 1 "=d,a"))]
|
(clobber (match_scratch:QI 1 "=d"))]
|
||||||
"next_insn_tests_no_inequality (insn)"
|
"next_insn_tests_no_inequality (insn)"
|
||||||
"* return output_cmp (operands[0], operands[1], 'B');")
|
"* return output_cmp (operands[0], operands[1], 'B');")
|
||||||
|
|
||||||
(define_insn ""
|
(define_insn ""
|
||||||
[(set (cc0) (subreg (match_operand:QI 0 "register_operand" "d,a") 0))
|
[(set (cc0) (subreg (match_operand:QI 0 "register_operand" "d") 0))
|
||||||
(clobber (match_scratch:QI 1 "=d,a"))]
|
(clobber (match_scratch:QI 1 "=d"))]
|
||||||
"next_insn_tests_no_inequality (insn)"
|
"next_insn_tests_no_inequality (insn)"
|
||||||
"* return output_cmp (operands[0], operands[1], 'B');")
|
"* return output_cmp (operands[0], operands[1], 'B');")
|
||||||
|
|
||||||
(define_insn ""
|
(define_insn ""
|
||||||
[(set (cc0)
|
[(set (cc0)
|
||||||
(zero_extend (subreg (match_operand:QI 0 "register_operand" "d,a") 0)))
|
(zero_extend (subreg (match_operand:QI 0 "register_operand" "d") 0)))
|
||||||
(clobber (match_scratch:QI 1 "=d,a"))]
|
(clobber (match_scratch:QI 1 "=d"))]
|
||||||
"next_insn_tests_no_inequality (insn)"
|
"next_insn_tests_no_inequality (insn)"
|
||||||
"* return output_cmp (operands[0], operands[1], 'B');")
|
"* return output_cmp (operands[0], operands[1], 'B');")
|
||||||
|
|
||||||
@ -1553,12 +1555,12 @@
|
|||||||
{
|
{
|
||||||
if (which_alternative == 0)
|
if (which_alternative == 0)
|
||||||
{
|
{
|
||||||
output_cmp (operands[0], constm1_rtx, 'W');
|
output_cmp (operands[0], constm1_rtx, 'H');
|
||||||
return \"add.w #-1,%0\";
|
return \"add.h #-1,%0\";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
output_cmp (gen_rtx (REG, HImode, 7), constm1_rtx, 'W');
|
output_cmp (gen_rtx (REG, HImode, 7), constm1_rtx, 'H');
|
||||||
return \"psh.w s7\;ld.h %0,s7\;add.h #-1,s7\;st.h s7,%0\;pop.w s7\";
|
return \"psh.w s7\;ld.h %0,s7\;add.h #-1,s7\;st.h s7,%0\;pop.w s7\";
|
||||||
}
|
}
|
||||||
}")
|
}")
|
||||||
@ -1575,12 +1577,12 @@
|
|||||||
{
|
{
|
||||||
if (which_alternative == 0)
|
if (which_alternative == 0)
|
||||||
{
|
{
|
||||||
output_cmp (operands[0], const0_rtx, 'W');
|
output_cmp (operands[0], const0_rtx, 'H');
|
||||||
return \"add.w #-1,%0\";
|
return \"add.h #-1,%0\";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
output_cmp (gen_rtx (REG, HImode, 7), const0_rtx, 'W');
|
output_cmp (gen_rtx (REG, HImode, 7), const0_rtx, 'H');
|
||||||
return \"psh.w s7\;ld.h %0,s7\;add.h #-1,s7\;st.h s7,%0\;pop.w s7\";
|
return \"psh.w s7\;ld.h %0,s7\;add.h #-1,s7\;st.h s7,%0\;pop.w s7\";
|
||||||
}
|
}
|
||||||
}")
|
}")
|
||||||
|
Loading…
Reference in New Issue
Block a user