[PATCH] Inefficient code generation for 128-bit->256-bit typecast intrinsics (BZ #15712)

Chandler Carruth chandlerc at google.com
Thu Jul 18 17:42:02 PDT 2013


On Thu, Jul 18, 2013 at 5:32 PM, Katya Romanova <
Katya_Romanova at playstation.sony.com> wrote:

> -  __m128d __zero = _mm_setzero_pd();
> -  return __builtin_shufflevector(__a, __zero, 0, 1, 2, 2);
> +  return (__m256d)__builtin_ia32_pd256_pd((__v2df)__a);
>

I think this is the wrong approach.

Rather than switching these to use an x86-specific builtin, instead it
would be better to provide some generic form to produce an undef input to a
shufflevector. That is a generally useful and completely target independent
concept.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130718/131f2572/attachment.html>


More information about the cfe-commits mailing list