OSDN Git Service

* config/alpha/alpha.md (*setne_internal): Use match_operator
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 May 2000 15:52:03 +0000 (15:52 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 May 2000 15:52:03 +0000 (15:52 +0000)
        instead of working down from insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34268 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/alpha/alpha.md

index d9f8196..db9855e 100644 (file)
@@ -1,3 +1,8 @@
+2000-05-30  Richard Henderson  <rth@cygnus.com>
+
+       * config/alpha/alpha.md (*setne_internal): Use match_operator
+       instead of working down from insn.
+
 2000-05-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * invoke.texi (-Wtraditional): Update WRT function macros.
index cc3c06c..34d3daf 100644 (file)
 ;; Next are all the integer comparisons, and conditional moves and branches
 ;; and some of the related define_expand's and define_split's.
 
-(define_insn "*setne_internal"
-  [(set (match_operand 0 "register_operand" "=r")
-       (ne (match_operand:DI 1 "reg_or_8bit_operand" "rI")
-           (const_int 0)))]
-  "GET_MODE_CLASS (GET_MODE (operands[0])) == MODE_INT
-   && GET_MODE_SIZE (GET_MODE (operands[0])) <= 8
-   && GET_MODE (operands[0]) == GET_MODE (SET_SRC (PATTERN (insn)))"
-  "cmpult $31,%1,%0"
-  [(set_attr "type" "icmp")])
-
 (define_insn "*setcc_internal"
   [(set (match_operand 0 "register_operand" "=r")
        (match_operator 1 "alpha_comparison_operator"
   "cmp%c1 %r3,%2,%0"
   [(set_attr "type" "icmp")])
 
+(define_insn "*setne_internal"
+  [(set (match_operand 0 "register_operand" "=r")
+       (match_operator 1 "signed_comparison_operator"
+                         [(match_operand:DI 2 "reg_or_8bit_operand" "rI")
+                          (const_int 0)]))]
+  "GET_MODE_CLASS (GET_MODE (operands[0])) == MODE_INT
+   && GET_MODE_SIZE (GET_MODE (operands[0])) <= 8
+   && GET_CODE (operands[1]) == NE
+   && GET_MODE (operands[0]) == GET_MODE (operands[1])"
+  "cmpult $31,%2,%0"
+  [(set_attr "type" "icmp")])
+
 ;; The mode folding trick can't be used with const_int operands, since
 ;; reload needs to know the proper mode.
 ;;