From: Richard Kenner Date: Mon, 1 Mar 1993 12:29:39 +0000 (-0500) Subject: Add three special-cases of CMP insns against zero. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5e2a751adc022f8afeffcb22182d79ff6e1d1cc2;p=gcc.git Add three special-cases of CMP insns against zero. From-SVN: r3573 --- diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index 849f4042ad8..a9c25865f95 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -1128,6 +1128,33 @@ "cmp%C1 %r2,%3,%0" [(set_attr "type" "icmp")]) +;; There are three important special-case that don't fit the above pattern +;; but which we want to handle here. + +(define_insn "" + [(set (match_operand:DI 0 "register_operand" "=r") + (ne:DI (match_operand:DI 1 "register_operand" "r") + (const_int 0)))] + "" + "cmpult $31,%1,%0" + [(set_attr "type" "icmp")]) + +(define_insn "" + [(set (match_operand:DI 0 "register_operand" "=r") + (gt:DI (match_operand:DI 1 "register_operand" "r") + (const_int 0)))] + "" + "cmplt $31,%1,%0" + [(set_attr "type" "icmp")]) + +(define_insn "" + [(set (match_operand:DI 0 "register_operand" "=r") + (ge:DI (match_operand:DI 1 "register_operand" "r") + (const_int 0)))] + "" + "cmple $31,%1,%0" + [(set_attr "type" "icmp")]) + (define_insn "" [(set (match_operand:DI 0 "register_operand" "=r,r") (if_then_else:DI