aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-11-28 20:24:48 +0000
committerJeff Law <law@gcc.gnu.org>1999-11-28 13:24:48 -0700
commit8b4b9b7ad3d1bbc16516a5a73a6ba3c3c21d1822 (patch)
tree52b7fb8406c23eb66376c44906b44098482d0c7e /gcc
parent2e02044af4bc83dd1bfcaf0c8f881eb6d9f73ded (diff)
downloadgcc-8b4b9b7ad3d1bbc16516a5a73a6ba3c3c21d1822.zip
gcc-8b4b9b7ad3d1bbc16516a5a73a6ba3c3c21d1822.tar.gz
gcc-8b4b9b7ad3d1bbc16516a5a73a6ba3c3c21d1822.tar.bz2
* pa.md (reload shift-add patterns): Remove.
From-SVN: r30688
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/pa/pa.md41
2 files changed, 4 insertions, 41 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4428e5d..f4f058e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Sun Nov 28 13:21:00 1999 Jeffrey A Law (law@cygnus.com)
+
+ * pa.md (reload shift-add patterns): Remove.
+
1999-11-28 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
* reorg.c (dbr_schedule) Print more statistics. Corrected
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index a837a71..d342764 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -3118,25 +3118,6 @@
(set_attr "pa_combine_type" "addmove")
(set_attr "length" "4,4")])
-;; Disgusting kludge to work around reload bugs with frame pointer
-;; elimination. Similar to other magic reload patterns in the
-;; indexed memory operations.
-(define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=&r")
- (plus:SI (plus:SI (match_operand:SI 1 "register_operand" "%r")
- (match_operand:SI 2 "register_operand" "r"))
- (match_operand:SI 3 "const_int_operand" "rL")))]
- "reload_in_progress"
- "*
-{
- if (GET_CODE (operands[3]) == CONST_INT)
- return \"ldo %3(%2),%0\;{addl|add,l} %1,%0,%0\";
- else
- return \"{addl|add,l} %3,%2,%0\;{addl|add,l} %1,%0,%0\";
-}"
- [(set_attr "type" "binary")
- (set_attr "length" "8")])
-
(define_expand "subdi3"
[(set (match_operand:DI 0 "register_operand" "")
(minus:DI (match_operand:DI 1 "register_operand" "")
@@ -4223,28 +4204,6 @@
[(set_attr "type" "binary")
(set_attr "length" "4")])
-;; This variant of the above insn can occur if the first operand
-;; is the frame pointer. This is a kludge, but there doesn't
-;; seem to be a way around it. Only recognize it while reloading.
-;; Note how operand 3 uses a predicate of "const_int_operand", but
-;; has constraints allowing a register. I don't know how this works,
-;; but it somehow makes sure that out-of-range constants are placed
-;; in a register which somehow magically is a "const_int_operand".
-;; (this was stolen from alpha.md, I'm not going to try and change it.
-
-(define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=&r,r")
- (plus:SI (plus:SI (mult:SI (match_operand:SI 2 "register_operand" "r,r")
- (match_operand:SI 4 "shadd_operand" ""))
- (match_operand:SI 1 "register_operand" "r,r"))
- (match_operand:SI 3 "const_int_operand" "r,J")))]
- "reload_in_progress"
- "@
- {sh%O4addl %2,%1,%0|shladd,l %2,%O4,%1,%0}\;{addl|add,l} %3,%0,%0
- {sh%O4addl %2,%1,%0|shladd,l %2,%O4,%1,%0}\;ldo %3(%0),%0"
- [(set_attr "type" "multi")
- (set_attr "length" "8")])
-
;; This anonymous pattern and splitter wins because it reduces the latency
;; of the shadd sequence without increasing the latency of the shift.
;;