diff options
author | Richard Henderson <rth@cygnus.com> | 2000-05-30 08:52:03 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-05-30 08:52:03 -0700 |
commit | 28ecb7ab4784f0bf62175eb94dfde71a2ad4b378 (patch) | |
tree | f960f82038d4697272d77d07cbb942204514e10f /gcc | |
parent | 935d1834f18a86bed5292c9bfe55ecf81ba734fc (diff) | |
download | gcc-28ecb7ab4784f0bf62175eb94dfde71a2ad4b378.zip gcc-28ecb7ab4784f0bf62175eb94dfde71a2ad4b378.tar.gz gcc-28ecb7ab4784f0bf62175eb94dfde71a2ad4b378.tar.bz2 |
alpha.md (*setne_internal): Use match_operator instead of working down from insn.
* config/alpha/alpha.md (*setne_internal): Use match_operator
instead of working down from insn.
From-SVN: r34268
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.md | 22 |
2 files changed, 17 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d9f8196..db9855e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index cc3c06c..34d3daf 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -2520,16 +2520,6 @@ ;; 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" @@ -2552,6 +2542,18 @@ "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. ;; |