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]

Re: PATCH: Add SSE4.1 support


There are several places in the compiler that are quadratic,
or worse, on the number of register classes.  I'd prefer to
avoid adding them, if at all possible.

Have you tried defining the instruction with an explicit xmm0
as an input, instead of adding a new register class?  I.e.

	(set (reg:v2df xmm0) (reg:v2df mask))
	(set (reg:v2df output)
	     (unspec:v2df
		[(reg:v2df in1) (reg:v2df in2) (reg:v2df xmm0)]
		UNSPEC_BLENDV))

I also don't see what value you get from the XMMN class, since
it's only used when xmm0 is also an input.  Reload should be
able to work out for itself that xmm0 is already used, and thus
not available for use.


r~


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