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 vec_pack_ufix_trunc_{v4df,v2df} expanders (take 2)


On 11/01/2011 06:35 AM, Jakub Jelinek wrote:
> ... disadvantage is that the stmts in the new
> pattern are now in vcmppd; vandpd; vaddpd; vcmppd; vandpd; vaddpd order
> instead of vcmppd; vcmppd; vandpd; vandpd; vaddpd; vaddpd; (not sure why
> the scheduler didn't change it, but on the other side it is scheduler's
> job).

I wonder if the scheduling description didn't get updated properly?
If the scheduler believes that the each insn takes 1 cycle, and there
is only one pipe for them, it won't reorder anything.

> 	* config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si): New
> 	prototype.
> 	* config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): New
> 	function.
> 	* config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Use
> 	it.
> 	(ssepackfltmode): New mode attr.
> 	(vec_pack_ufix_trunc_<mode>): New expander.

Looks good to me.


r~


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