[cfe-commits] r116162 - in /cfe/trunk: lib/CodeGen/CGBuiltin.cpp test/CodeGen/builtins-x86.c
Chris Lattner
clattner at apple.com
Sat Oct 9 21:43:26 PDT 2010
On Oct 9, 2010, at 9:42 PM, Chris Lattner wrote:
> On Oct 9, 2010, at 8:19 PM, Argyrios Kyrtzidis wrote:
>
>> Author: akirtzidis
>> Date: Sat Oct 9 22:19:11 2010
>> New Revision: 116162
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=116162&view=rev
>> Log:
>> Implement __builtin_ia32_vec_ext_v2si function (required by Qt).
>
> Hi Argiris,
>
> Why can't they use the right intrinsic from xmmintrin.h? We prefer not to implement builtins like this, people are supposed to use the official documented interfaces in the *mmintrin.h files.
Oh... unless this is an MMX builtin. In which case we *do* want to support it, but we *have* to map it onto an LLVM IR intrinsic.
-Chris
>
> -Chris
>
>>
>> Modified:
>> cfe/trunk/lib/CodeGen/CGBuiltin.cpp
>> cfe/trunk/test/CodeGen/builtins-x86.c
>>
>> Modified: cfe/trunk/lib/CodeGen/CGBuiltin.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBuiltin.cpp?rev=116162&r1=116161&r2=116162&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/CodeGen/CGBuiltin.cpp (original)
>> +++ cfe/trunk/lib/CodeGen/CGBuiltin.cpp Sat Oct 9 22:19:11 2010
>> @@ -2002,6 +2002,9 @@
>> case X86::BI__builtin_ia32_vec_init_v2si:
>> return Builder.CreateBitCast(BuildVector(Ops),
>> llvm::Type::getX86_MMXTy(VMContext));
>> + case X86::BI__builtin_ia32_vec_ext_v2si:
>> + return Builder.CreateExtractElement(Ops[0],
>> + llvm::ConstantInt::get(Ops[1]->getType(), 0));
>> case X86::BI__builtin_ia32_pslldi:
>> case X86::BI__builtin_ia32_psllqi:
>> case X86::BI__builtin_ia32_psllwi:
>>
>> Modified: cfe/trunk/test/CodeGen/builtins-x86.c
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-x86.c?rev=116162&r1=116161&r2=116162&view=diff
>> ==============================================================================
>> --- cfe/trunk/test/CodeGen/builtins-x86.c (original)
>> +++ cfe/trunk/test/CodeGen/builtins-x86.c Sat Oct 9 22:19:11 2010
>> @@ -261,6 +261,7 @@
>> tmp_V8c = __builtin_ia32_packsswb(tmp_V4s, tmp_V4s);
>> tmp_V4s = __builtin_ia32_packssdw(tmp_V2i, tmp_V2i);
>> tmp_V8c = __builtin_ia32_packuswb(tmp_V4s, tmp_V4s);
>> + tmp_i = __builtin_ia32_vec_ext_v2si(tmp_V2i, 0);
>>
>> (void) __builtin_ia32_ldmxcsr(tmp_Ui);
>> tmp_Ui = __builtin_ia32_stmxcsr();
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
More information about the cfe-commits
mailing list