From: Hans-Peter Nilsson Date: Thu, 19 Feb 2004 11:28:00 +0000 (+0000) Subject: re PR target/14209 (Bug in cris.md, shrinking access size of postincrement.) X-Git-Tag: releases/gcc-4.0.0~10002 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=428eae942cbe6b1eb416a576c326b052a1a774bd;p=thirdparty%2Fgcc.git re PR target/14209 (Bug in cris.md, shrinking access size of postincrement.) PR target/14209 * config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak constraints to not match postincrement. Adjust the predicate to exclude a volatile memory reference. From-SVN: r78095 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a841cb783bd3..90bf8d50d557 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-02-19 Hans-Peter Nilsson + + PR target/14209 + * config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak + constraints to not match postincrement. Adjust the predicate to + exclude a volatile memory reference. + 2004-02-19 Kazu Hirata * config/mcore/mcore.h (ASM_OUTPUT_EXTERNAL): Remove. diff --git a/gcc/config/cris/cris.md b/gcc/config/cris/cris.md index ea41aaf539ef..a3b7de5bb782 100644 --- a/gcc/config/cris/cris.md +++ b/gcc/config/cris/cris.md @@ -2683,9 +2683,10 @@ (define_insn "*andsi_movu" [(set (match_operand:SI 0 "register_operand" "=r,r,r") - (and:SI (match_operand:SI 1 "nonimmediate_operand" "%r,Q>,m") + (and:SI (match_operand:SI 1 "nonimmediate_operand" "%r,Q,To") (match_operand:SI 2 "const_int_operand" "n,n,n")))] - "INTVAL (operands[2]) == 255 || INTVAL (operands[2]) == 65535" + "INTVAL (operands[2]) == 255 || INTVAL (operands[2]) == 65535 + && (GET_CODE (operands[1]) != MEM || ! MEM_VOLATILE_P (operands[1]))" "movu.%z2 %1,%0" [(set_attr "slottable" "yes,yes,no")]) @@ -2771,9 +2772,9 @@ (define_insn "*andhi_movu" [(set (match_operand:HI 0 "register_operand" "=r,r,r") - (and:HI (match_operand:HI 1 "nonimmediate_operand" "r,Q>,m") + (and:HI (match_operand:HI 1 "nonimmediate_operand" "r,Q,To") (const_int 255)))] - "" + "GET_CODE (operands[1]) != MEM || ! MEM_VOLATILE_P (operands[1])" "mOvu.b %1,%0" [(set_attr "slottable" "yes,yes,no")])