movstrictqi/movstricthi fix for h8300

Jeffrey A Law law@cygnus.com
Mon Sep 11 14:55:00 GMT 2000


  In message < Pine.LNX.4.21.0009111304350.25281-100000@breve.cygnus.com >you wri
te:
  > 	The constraint modifiers for the destinations registers of these
  > patterns were specified as write-only.  This could cause the compiler to
  > generate a reload that clobbered data.  Setting these constraint modifiers
  > to read-write fixes the problem; moreover, the comment in reload.c
  > (push_reload) line 1045 indicates that this is the right thing to do.
  > 
  > 2000-09-11  Matthew Hiller  <hiller@redhat.com>
  > 
  > 	* config/h8300/h8300.md (movstrictqi): Changed constraint modifier
  > 	on operand 0 to '+'.
  > 	(movstricthi): Likewise.
Approved and installed.

For extra credit -- submit a testcase for the bug which led you to this
patch.

It also seems to me that this might be something we could have one of the
gen* programs check for since I believe every STRICT_LOW_PART is a 
read/write operand.  genoutput or genrecog would likely be the best
candidates.

jeff





More information about the Gcc-patches mailing list