[LLVMdev] LLVM 2.8 and MMX

Dale Johannesen dalej at apple.com
Tue Sep 21 17:36:44 PDT 2010


On Sep 21, 2010, at 5:30 PMPDT, Bill Wendling wrote:

> LLVM isn't going to stop generating MMX instructions all together. We can't do that. :-) If the user specifically wants MMX (by, say, using the builtins), we have to support that still. The plan to cease generating MMX for generic vectors is a work-in-progress right now. It's not in 2.8.
> 
> -bw

Right, early on there was speculation that the early phases of this work were causing the problem Nicolas is seeing, but it now appears that that problem is unrelated.

> On Sep 21, 2010, at 4:24 PM, Reid Kleckner wrote:
> 
>> This thread confuses me.  I thought Chris said that LLVM 2.8 will not
>> lower generic vectors to MMX because it breaks x87 code, and I didn't
>> see an answer to your question about a switch to tell the code
>> generator otherwise.  However, you're complaining that MMX performance
>> is subpar, even though LLVM 2.8 isn't supposed to generate MMX
>> instructions.
>> 
>> Can someone clarify the situation for me?
>> 
>> Thanks,
>> Reid
>> 
>> On Tue, Sep 21, 2010 at 6:13 PM, Nicolas Capens
>> <nicolas.capens at gmail.com> wrote:
>>> Hi Dale,
>>> 
>>> I suspect that these patches were intended to improve 128-bit vector
>>> performance but caused certain 64-bit vector operations to no longer lower
>>> to MMX instructions. Anyway, now that I've narrowed it down to these patches
>>> I think I can narrow it down further to a specific case so I can file a
>>> bug...
>>> 
>>> Will Bruno be back soon or is he no longer working on the project for good?
>>> 
>>> Cheers,
>>> 
>>> Nicolas
>>> 
>>> 
>>> -----Original Message-----
>>> From: Dale Johannesen [mailto:dalej at apple.com]
>>> Sent: Tuesday, September 21, 2010 20:12
>>> To: Nicolas Capens
>>> Cc: Dale Johannesen; 'Chris Lattner'; 'Eli Friedman'; llvmdev at cs.uiuc.edu
>>> Subject: Re: [LLVMdev] LLVM 2.8 and MMX
>>> 
>>> 
>>> On Sep 21, 2010, at 10:23 AMPDT, Nicolas Capens wrote:
>>> 
>>>> Hi all,
>>>> 
>>>> Sorry for the late reply. I got sidetracked by other fun projects. ;-)
>>>> 
>>>> I found that the performance regression is caused by revisions 112804,
>>>> 112805 and 112806. Those changes were made 2 days prior to the 2.8
>>>> branching, so it may have not been the intention to include them there?
>>>> Either way they make my vector-intensive code two times slower so it would
>>>> be much appreciated to revert these changes for the 2.8 release.
>>>> 
>>>> Thanks,
>>>> 
>>>> Nicolas
>>> 
>>> Interesting.  These are all Bruno's patches, and I'm pretty sure they
>>> weren't intended to affect MMX.   I doubt reverting them is right since the
>>> effect on SSE is presumably positive.  Unfortunately Bruno is not here any
>>> more.
>>> 
>>>> -----Original Message-----
>>>> From: Chris Lattner [mailto:clattner at apple.com]
>>>>> 
>>>>> I think some changes related to MMX landed before 2.8 branched which
>>>>> shouldn't have... please file a bug.
>>> 
>>> So please file a bug, with example.
>>> 
>>> 
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>> 
>> 
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev





More information about the llvm-dev mailing list