aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-05-30 08:52:03 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-05-30 08:52:03 -0700
commit28ecb7ab4784f0bf62175eb94dfde71a2ad4b378 (patch)
treef960f82038d4697272d77d07cbb942204514e10f /gcc
parent935d1834f18a86bed5292c9bfe55ecf81ba734fc (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/alpha/alpha.md22
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.
;;