This revision was automatically updated to reflect the committed changes.
Closed by commit rL270330: [X86][AVX] Ensure zero-extension of
_mm256_extract_epi8 and _mm256_extract_epi16 (authored by RKSimon).
Changed prior to commit:
http://reviews.llvm.org/D20468?vs=57927=58045#toc
Repository:
mkuper accepted this revision.
mkuper added a comment.
This revision is now accepted and ready to land.
Thanks, Dave!
In that case, LGTM.
Repository:
rL LLVM
http://reviews.llvm.org/D20468
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
DavidKreitzer added a subscriber: DavidKreitzer.
DavidKreitzer added a comment.
Hi Michael,
I think the Intel Intrinsics reference and the Intel Compiler are in error and
that this is the right fix for the LLVM headers. (I'll follow up to get the
Intel Intrinsics reference & Intel Compiler
mkuper added a comment.
You're right, the underlying instructions zext, and it seems like it's the
right thing to do. I'm just wondering if this is something user code is
supposed to rely on, given the way the intrinsics guide documents them right
now.
H.J, could you please take a look?
RKSimon added a comment.
In http://reviews.llvm.org/D20468#435522, @mkuper wrote:
> Could you point me to where in the documentation it says they must be
> zero-extended?
> The Intel intrinsics guide actually has them with shorter return types:
>
> __int8 _mm256_extract_epi8 (__m256i a,
mkuper added a comment.
Could you point me to where in the documentation it says they must be
zero-extended?
The Intel intrinsics guide actually has them with shorter return types:
__int8 _mm256_extract_epi8 (__m256i a, const int index)
__int16 _mm256_extract_epi16 (__m256i a, const int
RKSimon created this revision.
RKSimon added reviewers: mkuper, craig.topper, kromanova, spatel.
RKSimon added a subscriber: cfe-commits.
RKSimon set the repository for this revision to rL LLVM.
Ensure _mm256_extract_epi8 and _mm256_extract_epi16 zero extend their i8/i16
result to i32. This