This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, i386]: Introduce Yp register constraint and merge *_lea add ans ashift patterns with base


Hello!

Attached patch introduces Yp register constraint, conditionalized on
TARGET_PARTIAL_REG_STALL.  Using this constraint, several *_lea
patterns can be merged with their base patterns, resulting in many
removed lines of code.

No functional changes otherwise.

2011-08-23  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/constraints.md (Yp): New register constraint.
	* config/i386/i386.md (*addhi_1): Merge with *addhi_1_lea using
	Yp register constraint.
	(*addqi_1): Merge with *addqi_1_lea using Yp register constraint.
	(*ashlhi3_1): Merge with *ashlhi3_1_lea using Yp register constraint.
	(*ashlqi3_1): Merge with *ashlqi3_1_lea using Yp register constraint.

Patch was bootstrapped and regression tested on x86_64-pc-linux-gnu
{,-m32}, committed to mainline SVN.

URos.

Attachment: p.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]