[LLVMdev] LLVM 2.8 and MMX

Chris Lattner clattner at apple.com
Tue Sep 7 08:41:34 PDT 2010


On Sep 7, 2010, at 7:45 AM, Nicolas Capens wrote:

> Hi all,
>  
> I've tested a recent revision and noticed that using 64-bit vectors became very slow. It looks like they are expanded to non-MMX instructions to avoid breaking code which does not clear the MMX state using emms?
>  
> For my project I'm already manually inserting emms instructions in the right places, so I'd really like 64-bit vector operations to be lowered to MMX instructions for best performance. So is there some way to get that behavior back? I tried making IsVerbotenVectorType return false but that didn't appear to help.
>  
> I would be very grateful if someone would add a switch to disable the expanding before the 2.8 release is finalized.

The implementation of MMX is in a state of flux: the plan is to stop generic vectors from being selected to mmx operations, and add intrinsics for every mmx operations (including add).  However, 2.8 shouldn't be broken, that would be a serious regression.  Please file a bug with a small example.  Thanks!

-Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100907/2a1c8642/attachment.html>


More information about the llvm-dev mailing list