aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@mhpcc.edu>1999-01-24 17:20:07 +0000
committerMichael Meissner <meissner@gcc.gnu.org>1999-01-24 17:20:07 +0000
commit75d39459336f97368340573ff7f61072b213ba23 (patch)
tree7c3854f0c10fab04b5bf4b72cc20d5f5aa68e41e /gcc
parent081cc1f74447392d403231039335839f4b2c92a5 (diff)
downloadgcc-75d39459336f97368340573ff7f61072b213ba23.zip
gcc-75d39459336f97368340573ff7f61072b213ba23.tar.gz
gcc-75d39459336f97368340573ff7f61072b213ba23.tar.bz2
Fix problems found by David Edelsohn I caused
From-SVN: r24851
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config/rs6000/rs6000.md32
2 files changed, 28 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1551020..369fc8a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,7 +1,15 @@
+Sun Jan 24 20:13:45 1999 David Edelsohn <edelsohn@mhpcc.edu>
+
+ * rs6000.md (left shift + set cr patterns): Add missing '#' to
+ split patterns.
+ (move register + set cr pattern): Ditto.
+ * rs6000.md (movdi, !TARGET_POWERPC64 splitters): Add back in
+ Jan. 15th patch, inadvertently deleted.
+
Sun Jan 24 08:07:59 1999 Jeffrey A Law (law@cygnus.com)
- * stmt.c (stmt_loop_nest_empty): New function.
- * tree.h (stmt_loop_nest_empty): Declare it.
+ * stmt.c (stmt_loop_nest_empty): New function.
+ * tree.h (stmt_loop_nest_empty): Declare it.
* rtl.def (CALL_PLACEHOLDER): New rtx code.
Sun Jan 24 21:24:43 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index fc8c8c9..03969a7 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -4265,7 +4265,9 @@
(const_int 0)))
(clobber (match_scratch:SI 4 "=r,r"))]
"includes_lshift_p (operands[2], operands[3])"
- "{rlinm.|rlwinm.} %4,%1,%h2,%m3,%M3"
+ "@
+ {rlinm.|rlwinm.} %4,%1,%h2,%m3,%M3
+ #"
[(set_attr "type" "delayed_compare")])
(define_split
@@ -4296,7 +4298,9 @@
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
(and:SI (ashift:SI (match_dup 1) (match_dup 2)) (match_dup 3)))]
"includes_lshift_p (operands[2], operands[3])"
- "{rlinm.|rlwinm.} %0,%1,%h2,%m3,%M3"
+ "@
+ {rlinm.|rlwinm.} %0,%1,%h2,%m3,%M3
+ #"
[(set_attr "type" "delayed_compare")])
(define_split
@@ -8405,7 +8409,9 @@
(const_int 0)))
(set (match_operand:SI 0 "gpc_reg_operand" "=r,r") (match_dup 1))]
""
- "mr. %0,%1"
+ "@
+ mr. %0,%1
+ #"
[(set_attr "type" "compare")])
(define_split
@@ -8992,13 +8998,18 @@
{
operands[2] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN == 0);
operands[3] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN != 0);
+#if HOST_BITS_PER_WIDE_INT == 32
operands[4] = (INTVAL (operands[1]) & 0x80000000) ? constm1_rtx : const0_rtx;
+#else
+ operands[4] = (HOST_WIDE_INT) INTVAL (operands[1]) >> 32;
+ operands[1] = INTVAL (operands[1]) & 0xffffffff;
+#endif
}")
(define_split
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(match_operand:DI 1 "const_double_operand" ""))]
- "! TARGET_POWERPC64 && reload_completed"
+ "HOST_BITS_PER_WIDE_INT == 32 && ! TARGET_POWERPC64 && reload_completed"
[(set (match_dup 2) (match_dup 4))
(set (match_dup 3) (match_dup 5))]
"
@@ -9170,16 +9181,9 @@
(const_int 0)))
(set (match_operand:DI 0 "gpc_reg_operand" "=r,r") (match_dup 1))]
"TARGET_POWERPC64"
- "mr. %0,%1"
- [(set_attr "type" "compare")])
-
-(define_insn ""
- [(set (match_operand:CC 2 "cc_reg_operand" "=x,?y")
- (compare:CC (match_operand:DI 1 "gpc_reg_operand" "r,r")
- (const_int 0)))
- (set (match_operand:DI 0 "gpc_reg_operand" "=r,r") (match_dup 1))]
- ""
- "mr. %0,%1"
+ "@
+ mr. %0,%1
+ #"
[(set_attr "type" "compare")])
(define_split