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~

Reply via email to