[LLVMdev] LLVM 2.2 Release Notes
Chris Lattner
sabre at nondot.org
Mon Feb 11 22:48:42 PST 2008
On Feb 11, 2008, at 10:26 AM, Dale Johannesen wrote:
>>> I have plenty of complaints about the GCC documentation you're
>>> pointing at, but this probably isn't the right forum for that. I
>>> do
>>> think dropping "as fast as macros" from the "inline" description
>>> would
>>> be a good idea, that's pure propaganda: sometimes it's true and
>>> sometimes it isn't.
>>
>> I completely agree with you here. It looks like the GCC docs were
>> written vs C90 not C99. That whole section of the documentation was
>> more useful when there were a lot of GCC features we didn't support.
>> Now it looks like it can be ripped out and we can just keep a list of
>> things that don't work in our own words. Lets do this for the llvm
>> 2.3 release notes though, after Monday.
>
> ok.
I ripped this out from mainline ("llvm 2.3") release notes.
>>> The miscompilation of code containing both MMX vectors and long
>>> double
>>> may be worth a mention, but it probably isn't going to bite very
>>> many
>>> people. (llvm does not insert EMMS everywhere it needs to, or
>>> from a
>>> different viewpoint, uses MMX when the user didn't tell it to.)
>>
>> AFAIK, many commonly used GCC versions don't do this either. If
>> that's the case, I don't think it's worth mentioning, because most
>> people will be concerned with "llvm regressions vs gcc" or something.
>> I believe that if you explicitly use mmx intrinsics you have to
>> insert
>> emms yourself, and that the only other way to get mmx badness is
>> through use of the gcc generic vector extension. If this is true, I
>> think we should be ok.
>
> I think that is true, but, the situtation with llvm is rather worse
> than with gcc: llvm uses MMX registers for mem-to-mem copies of 64-
> bit vectors, while gcc does not. gcc attempts to restrict its use of
> MMX to the MMX builtins, and the loads and stores connected to them;
> we think it is possible for RA spilling to use MMX registers
> erroneously, but this is not common.
Ok. I don't think the release notes are a great place to go into this
though. Is this an issue we can fix on mainline?
-Chris
More information about the llvm-dev
mailing list