From 2a370fba36400c8f1519961ad5c233d35319c53c Mon Sep 17 00:00:00 2001 From: meissner Date: Sun, 24 Jan 1999 17:20:07 +0000 Subject: Fix problems found by David Edelsohn I caused git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24851 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/rs6000/rs6000.md | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) (limited to 'gcc/config') diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index fc8c8c9ccd4..03969a73714 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 -- cgit v1.2.1