aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2004-03-06 19:27:52 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2004-03-06 19:27:52 +0000
commit7a9a5a4441eeed70b2f5608dd9510612ae195f90 (patch)
tree2569d774fe7c60ced2452074cfcebfa2dfe30a4a /gcc
parent0f15adbd845cc9952d7de02e5efceb2a096ec4d0 (diff)
downloadgcc-7a9a5a4441eeed70b2f5608dd9510612ae195f90.zip
gcc-7a9a5a4441eeed70b2f5608dd9510612ae195f90.tar.gz
gcc-7a9a5a4441eeed70b2f5608dd9510612ae195f90.tar.bz2
pa.md (icacheflush): Reorder operands to make match_scratch operand last.
* pa.md (icacheflush): Reorder operands to make match_scratch operand last. * pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument from calls to gen_icacheflush. From-SVN: r79029
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/pa/pa.h2
-rw-r--r--gcc/config/pa/pa.md11
3 files changed, 12 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 774621e..ac59b7c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2004-03-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.md (icacheflush): Reorder operands to make match_scratch operand
+ last.
+ * pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
+ from calls to gen_icacheflush.
+
2004-03-06 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index e8ba74d..200936e 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -1096,7 +1096,6 @@ extern int may_call_alloca;
emit_insn (gen_dcacheflush (start_addr, end_addr, line_length)); \
emit_insn (gen_icacheflush (start_addr, end_addr, line_length, \
gen_reg_rtx (Pmode), \
- gen_reg_rtx (Pmode), \
gen_reg_rtx (Pmode))); \
} \
else \
@@ -1129,7 +1128,6 @@ extern int may_call_alloca;
emit_insn (gen_dcacheflush (start_addr, end_addr, line_length)); \
emit_insn (gen_icacheflush (start_addr, end_addr, line_length, \
gen_reg_rtx (Pmode), \
- gen_reg_rtx (Pmode), \
gen_reg_rtx (Pmode))); \
} \
}
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 4f060e3..f13a7a8 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -8858,8 +8858,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
;; Operand 0 contains the start address.
;; Operand 1 contains the end address.
;; Operand 2 contains the line length to use.
-;; Operand 3 contains the start address (clobbered).
-;; Operands 4 and 5 (icacheflush) are clobbered scratch registers.
+;; Operands 3 and 4 (icacheflush) are clobbered scratch registers.
(define_insn "dcacheflush"
[(const_int 1)
(unspec_volatile [(mem:BLK (scratch))] 0)
@@ -8884,16 +8883,16 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
(use (match_operand 0 "pmode_register_operand" "r"))
(use (match_operand 1 "pmode_register_operand" "r"))
(use (match_operand 2 "pmode_register_operand" "r"))
- (clobber (match_scratch 3 "=&0"))
+ (clobber (match_operand 3 "pmode_register_operand" "=&r"))
(clobber (match_operand 4 "pmode_register_operand" "=&r"))
- (clobber (match_operand 5 "pmode_register_operand" "=&r"))]
+ (clobber (match_scratch 5 "=&0"))]
""
"*
{
if (TARGET_64BIT)
- return \"mfsp %%sr0,%5\;ldsid (%3),%4\;mtsp %4,%%sr0\;cmpb,*<<=,n %3,%1,.\;fic,m %2(%%sr0,%3)\;sync\;mtsp %5,%%sr0\;nop\;nop\;nop\;nop\;nop\;nop\";
+ return \"mfsp %%sr0,%4\;ldsid (%5),%3\;mtsp %3,%%sr0\;cmpb,*<<=,n %5,%1,.\;fic,m %2(%%sr0,%5)\;sync\;mtsp %4,%%sr0\;nop\;nop\;nop\;nop\;nop\;nop\";
else
- return \"mfsp %%sr0,%5\;ldsid (%3),%4\;mtsp %4,%%sr0\;cmpb,<<=,n %3,%1,.\;fic,m %2(%%sr0,%3)\;sync\;mtsp %5,%%sr0\;nop\;nop\;nop\;nop\;nop\;nop\";
+ return \"mfsp %%sr0,%4\;ldsid (%5),%3\;mtsp %3,%%sr0\;cmpb,<<=,n %5,%1,.\;fic,m %2(%%sr0,%5)\;sync\;mtsp %4,%%sr0\;nop\;nop\;nop\;nop\;nop\;nop\";
}"
[(set_attr "type" "multi")
(set_attr "length" "52")])