[PATCH] [X86] Replace avx2.pbroadcast intrinsics with native IR.

Sean Silva chisophugis at gmail.com
Fri Jun 19 16:48:31 PDT 2015


In http://reviews.llvm.org/D10555#191178, @spatel wrote:

> In http://reviews.llvm.org/D10555#191124, @ab wrote:
>
> > To make sure I understand: this is only a problem because of DAGCombines running at -O0, right?  (and perhaps some of the lowering being too smart? though without combines I'd find that surprising)
> >  And this in turn is only a problem because the C intrinsics (_mm_*) are always inlined, and thus can be combined, right?
>
>
> I think the problem is independent of inlining and DAGCombines. As an example, consider this:
>
>   __m128 foo(__m256 a) {
>     return _mm256_extractf128_ps(a, 0);
>   }


If _mm256_extractf128_ps is a proper function instead of a macro (using the enable_if trick if necessary), would Ahmed's suggestion work for keeping these debuggable?


http://reviews.llvm.org/D10555

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list