aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1998-05-11 10:26:37 -0700
committerRichard Henderson <rth@gcc.gnu.org>1998-05-11 10:26:37 -0700
commit0f177d7c37e9cd7bc5c585c74b6ccd7471520568 (patch)
tree18308b85120183d1e6b72e17aed36c57f3b7f092 /gcc
parent28233641fc41822a1e5134c5b297d4ceb20bca50 (diff)
downloadgcc-0f177d7c37e9cd7bc5c585c74b6ccd7471520568.zip
gcc-0f177d7c37e9cd7bc5c585c74b6ccd7471520568.tar.gz
gcc-0f177d7c37e9cd7bc5c585c74b6ccd7471520568.tar.bz2
* sparc.md (ffsdi2): Disable. Simplify the expression as well.
From-SVN: r19674
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/sparc/sparc.md19
2 files changed, 15 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bc37d39..0eab09a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
+
+ * sparc.md (ffsdi2): Disable. Simplify the expression as well.
+
Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
* varasm.c (make_decl_rtl): Disable April 1 change.
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index a86434c..02e8a59 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -6123,14 +6123,17 @@ if (! TARGET_ARCH64)
;; ??? This should be a define expand, so that the extra instruction have
;; a chance of being optimized away.
-(define_insn "ffsdi2"
- [(set (match_operand:DI 0 "register_operand" "=&r")
- (ffs:DI (match_operand:DI 1 "register_operand" "r")))
- (clobber (match_scratch:DI 2 "=&r"))]
- "TARGET_ARCH64"
- "neg %1,%2\;not %2,%2\;xor %1,%2,%2\;popc %2,%0\;movrz %1,0,%0"
- [(set_attr "type" "multi")
- (set_attr "length" "5")])
+;; Disabled because none of the UltraSparcs implement popc. The HAL R1
+;; does, but no one uses that and we don't have a switch for it.
+;
+;(define_insn "ffsdi2"
+; [(set (match_operand:DI 0 "register_operand" "=&r")
+; (ffs:DI (match_operand:DI 1 "register_operand" "r")))
+; (clobber (match_scratch:DI 2 "=&r"))]
+; "TARGET_ARCH64"
+; "neg %1,%2\;xnor %1,%2,%2\;popc %2,%0"
+; [(set_attr "type" "multi")
+; (set_attr "length" "3")])
;; Split up troublesome insns for better scheduling. */