diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2005-11-15 10:52:06 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2005-11-15 10:52:06 +0000 |
commit | 4a60d778fa9157187c3504021935389e2f22fed8 (patch) | |
tree | 54bc4b52d0a905864b1621d07436c55613ab4dec /gcc | |
parent | 9719f3b7928a1a740a31925b5b2f3d4053d2d3ff (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/cris/cris.md | 22 |
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]"; }) |