[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