diff options
author | J. David Anglin <dave@hiauly1.hia.nrc.ca> | 2000-08-29 19:10:05 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2000-08-29 13:10:05 -0600 |
commit | 76f941a84733b761b149f527c5c6a2ebc7e024ed (patch) | |
tree | 43ee651def39140047801c7bcd44bbb6a4df5645 /gcc | |
parent | 2c8f0515bbed378f1e87e1b52e2913d058cbed16 (diff) | |
download | gcc-76f941a84733b761b149f527c5c6a2ebc7e024ed.zip gcc-76f941a84733b761b149f527c5c6a2ebc7e024ed.tar.gz gcc-76f941a84733b761b149f527c5c6a2ebc7e024ed.tar.bz2 |
* vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns.
From-SVN: r36044
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/vax/vax.md | 30 |
2 files changed, 10 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6e84eb6..0a91a6c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca> + + * vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns. + 2000-08-29 Zack Weinberg <zack@wolery.cumb.org> * 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 e552bb0..a6d0e6c 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") |