Commit 3cf2c024 by Chris Smith

update for 2.6.1

From-SVN: r8023
parent e7f80676
/* 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 () \ ...@@ -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 () \ ...@@ -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. */
......
;;- 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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 @@ ...@@ -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\";
} }
}") }")
......
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