Stricter invalid_e500_subreg (with jump.c:true_regnum fix)

David Edelsohn dje@watson.ibm.com
Wed Nov 29 16:16:00 GMT 2006


Specifically, how about this revised patch version?

2006-11-29  Joseph Myers  <joseph@codesourcery.com>

	* config/rs6000/predicates.md (gpc_reg_operand): Check
	invalid_e500_subreg.
	* config/rs6000/rs6000.c (invalid_e500_subreg): Don't allow any
	SImode subregs of SPE vectors.
	* config/rs6000/rs6000.md (insv): Fail for invalid E500 subregs.
	* jump.c (true_regnum): Require subregs to satisfy
	subreg_offset_representable_p.

Yes, this is okay.  It just needed something to allow the compiler to
optimize away the function calls for non-e500 targets.

Thanks, David



More information about the Gcc-patches mailing list