[LLVMdev] RFC: AVX Pattern Specification [LONG]
mon p wang
natebegeman at me.com
Fri May 1 10:25:41 PDT 2009
On Apr 30, 2009, at 3:59 PM, David Greene wrote:
> Here's the big RFC.
>
>
> Of course we would not transition away from X86InstrSSE.td until
> X86InstrSIMD.td is proven to cover all current uses of SSE correctly.
>
> The pros of the scheme:
>
> * Unify all "important" x86 SIMD instructions into one framework and
> provide
> consistency
While almost all of this sounds pretty great to me, since I'm also in
the process of cleaning up how x86 vector shuffles and shifts are
implemented, I'm a little worried by what "important" means. Aren't
*all* the instructions important? Was the goal to convert 50% of the
instructions over to the new class hierarchy and leave 50% as they
currently are?
> * Specify patterns and asm strings *once* per instruction type /
> family
> rather than the current scheme of multiple patterns for essentially
> the
> same instruction
Sounds great; you'll probably need some kind of custom lowering to go
with this to make sure instructions end up in whatever canonicalized
form you've chosen.
> * Bugfixes / optimizations / new patterns instantly apply to all SSE
> levels
> and AVX
>
> The cons:
>
> * Transition from X86InstrSSE.td
What's the timeline look like for this?
Nate
More information about the llvm-dev
mailing list