[LLVMdev] LLVM 2.8 and MMX

Bill Wendling
Wed, 22 Sep 2010 00:30:46 -0000

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

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