aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2005-11-15 10:52:06 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2005-11-15 10:52:06 +0000
commit4a60d778fa9157187c3504021935389e2f22fed8 (patch)
tree54bc4b52d0a905864b1621d07436c55613ab4dec /gcc
parent9719f3b7928a1a740a31925b5b2f3d4053d2d3ff (diff)
downloadgcc-4a60d778fa9157187c3504021935389e2f22fed8.zip
gcc-4a60d778fa9157187c3504021935389e2f22fed8.tar.gz
gcc-4a60d778fa9157187c3504021935389e2f22fed8.tar.bz2
re PR target/24869 (testsuite failure: gfortran.dg/func_derived_1.f90 -O3 unroll-loops)
PR target/24869 * config/cris/cris.md ("*mov_sidesisf_mem"): Do not match special register for operand 3. Reindent constraints to align them vertically. From-SVN: r106946
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/cris/cris.md22
2 files changed, 19 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 08501cf..a53ef42 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2005-11-15 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/24869
+ * config/cris/cris.md ("*mov_sidesisf_mem"): Do not match
+ special register for operand 3. Reindent constraints to align
+ them vertically.
+
2005-11-14 David Edelsohn <edelsohn@gnu.org>
* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf,
diff --git a/gcc/config/cris/cris.md b/gcc/config/cris/cris.md
index 2f35b06..37bd4ab 100644
--- a/gcc/config/cris/cris.md
+++ b/gcc/config/cris/cris.md
@@ -678,11 +678,15 @@
[(set (mem
(plus:SI
(match_operand:SI
- 0 "cris_bdap_operand" "%r,r,r,r,r,r,r,r,R,R,R,R,R,R")
+ 0 "cris_bdap_operand"
+ "%r, r, r,r, r, r,r, R,R, R,R, R")
(match_operand:SI
- 1 "cris_bdap_operand" "r>Rn,r>Rn,r,>Rn,r>Rn,r>Rn,r,>Rn,r,r,r,r,r,r")))
- (match_operand 2 "register_operand" "r,r,r,r,x,x,x,x,r,r,r,x,x,x"))
- (set (match_operand:SI 3 "register_operand" "=*0,!2,r,r,*0,!2,r,r,*1,!*2,r,*1,!*2,r")
+ 1 "cris_bdap_operand"
+ "r>Rn,r>Rn,r,>Rn,r>Rn,r,>Rn,r,r, r,r, r")))
+ (match_operand 2 "register_operand"
+ "r, r, r,r, x, x,x, r,r, r,x, x"))
+ (set (match_operand:SI 3 "register_operand"
+ "=*0,!2, r,r, *0, r,r, *1,!*2,r,*1,r")
(plus:SI (match_dup 0)
(match_dup 1)))]
"GET_MODE_SIZE (GET_MODE (operands[2])) == UNITS_PER_WORD
@@ -696,17 +700,15 @@
|| CONST_OK_FOR_LETTER_P (INTVAL (operands[1]), 'J')))
return "#";
if (which_alternative == 1
- || which_alternative == 5
+ || which_alternative == 7
|| which_alternative == 8
- || which_alternative == 9
- || which_alternative == 11
- || which_alternative == 12)
+ || which_alternative == 10)
return "#";
if (which_alternative < 4)
return "move.%s2 %2,[%3=%0%S1]";
- if (which_alternative == 10)
+ if (which_alternative == 9)
return "move.%s2 %2,[%3=%1%S0]";
- if (which_alternative == 13)
+ if (which_alternative == 11)
return "move %2,[%3=%1%S0]";
return "move %2,[%3=%0%S1]";
})