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: [i386] Implement broadcast pattern for builtin_vec_perm


On Mon, Nov 30, 2009 at 8:47 PM, Richard Henderson <rth@redhat.com> wrote:
> There are really several sub-parts to this patch, but in the end it was
> difficult to separate them, so I didn't.
>
> (1) If vbroadcast is available, arrange for it to be usable from the
> ? ?various patterns that implement that sort of operation.
> ? ?In particular, make sure to combine patterns so that register and
> ? ?memory inputs are valid at all times. ?This should allow the
> ? ?vbroadcast insn to be used when an input register gets spilled
> ? ?by the register allocator, and a (pair of) shuffle insns when
> ? ?the input happens to still be in a register.
>
> (2) Similarly with movddup.
>
> (3) Macroize vec_set_v4sf_0 patterns to allow v4si mode. ?This allows
> ? ?easier access to "movd" for more efficient V8HI and V16QI creation.
>
>
> Tested on i686 and x86_64.

This caused http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45142
by failing to macroize the splitter for the new *vec_set<mode>_0_sse2.

Richard.

>
> r~
>


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