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.

-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
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to