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

Eric Christopher echristo at apple.com
Wed Apr 14 21:38:07 PDT 2010


On Apr 14, 2010, at 7:37 PM, Eli Friedman wrote:

> 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.

Excellent.  Thanks for the pointer!

-eric



More information about the cfe-commits mailing list