[cfe-commits] r101332 - in /cfe/trunk: include/clang/Basic/BuiltinsX86.def lib/CodeGen/CGBuiltin.cpp lib/Headers/tmmintrin.h test/CodeGen/palignr.c

Eli Friedman eli.friedman at gmail.com
Wed Apr 14 19:37:31 PDT 2010


On Wed, Apr 14, 2010 at 6:50 PM, Eric Christopher <echristo at apple.com> wrote:
>
> On Apr 14, 2010, at 6:46 PM, Chris Lattner wrote:
>
>>
>> On Apr 14, 2010, at 6:43 PM, Eric Christopher wrote:
>>
>>> Author: echristo
>>> Date: Wed Apr 14 20:43:08 2010
>>> New Revision: 101332
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=101332&view=rev
>>> Log:
>>> Rewrite handling of 64-bit palignr intrinsics to be vector shuffles.
>>> Stop multiplying constant by 8 accordingly in the header and change
>>> intrinsic definition for what types we expect.
>>>
>>> Add to existing palignr test to check that we're emitting the correct things.
>>
>> Does this ICE if the amount argument to the builtin is not a constant?
>
> Ugh. Yes, in a particularly nasty way.  llvm-gcc handles it, but I'm not sure where to handle it in clang other than checking right there and emitting an error in some way.
>
> I'll take a look at it and figure out how to have it error a little less nastily.

It should be relatively easy to add a check in SemaChecking.cpp;
that's where we handle all the other builtins with unusual
requirements.

-Eli




More information about the cfe-commits mailing list