[LLVMdev] RFC: AVX Pattern Specification [LONG]
mon p wang
natebegeman at me.com
Fri May 1 12:25:41 CDT 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
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
> * Specify patterns and asm strings *once* per instruction type /
> rather than the current scheme of multiple patterns for essentially
> 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
> and AVX
> The cons:
> * Transition from X86InstrSSE.td
What's the timeline look like for this?
More information about the LLVMdev