From: J. David Anglin Date: Tue, 29 Aug 2000 19:10:05 +0000 (+0000) Subject: * vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=76f941a84733b761b149f527c5c6a2ebc7e024ed;p=gcc.git * vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns. From-SVN: r36044 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6e84eb6df51..0a91a6cf2f1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2000-08-29 J. David Anglin + + * vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns. + 2000-08-29 Zack Weinberg * cpperror.c (print_file_and_line): If line is (unsigned int)-1, diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md index e552bb0fa66..a6d0e6c85ab 100644 --- a/gcc/config/vax/vax.md +++ b/gcc/config/vax/vax.md @@ -122,31 +122,13 @@ "" "bitb %0,%1") -;; The vax has no sltu or sgeu patterns, but does have two-operand -;; add/subtract with carry. This is still better than the alternative. -;; Since the cc0-using insn cannot be separated from the cc0-setting insn, -;; and the two are created independently, we can't just use a define_expand -;; to try to optimize this. (The "movl" and "clrl" insns alter the cc0 -;; flags, but leave the carry flag alone, but that can't easily be expressed.) -;; -;; Several two-operator combinations could be added to make slightly more -;; optimal code, but they'd have to cover all combinations of plus and minus -;; using match_dup. If you want to do this, I'd suggest changing the "sgeu" -;; pattern to something like (minus (const_int 1) (ltu ...)), so fewer -;; patterns need to be recognized. -;; -- Ken Raeburn (Raeburn@Watch.COM) 24 August 1991. - -(define_insn "sltu" - [(set (match_operand:SI 0 "general_operand" "=ro") - (ltu (cc0) (const_int 0)))] - "" - "clrl %0\;adwc $0,%0") +;; The vax has no sCOND insns. It does have add/subtract with carry +;; which could be used to implement the sltu and sgeu patterns. However, +;; to do this properly requires a complete rewrite of the compare insns +;; to keep them together with the sltu/sgeu insns until after the +;; reload pass is complete. The previous implementation didn't do this +;; and has been deleted. -(define_insn "sgeu" - [(set (match_operand:SI 0 "general_operand" "=ro") - (geu (cc0) (const_int 0)))] - "" - "movl $1,%0\;sbwc $0,%0") (define_insn "movdf" [(set (match_operand:DF 0 "general_operand" "=g,g")