Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7943 Discussions

issue with _mm256_i32gather_epi64 (edited)

bronxzv
New Contributor II
271 Views
it looks like the prototype for_mm256_i32gather_epi64 (AVX2) is wrong

it is defined as:
extern __m128i _mm256_i32gather_epi64(int const * base, __m256i vindex, const int scale);

but IMO it should be:
extern __m256i _mm256_i32gather_epi64(int const * base,__m128i vindex, const int scale);


seen with: Intel C++ Intel 64 Compiler XE for applications running on Intel 64, Version 12.1.2.278 Build 20111


btw _mm256_mask_i32gather_epi64, __mm256_i64gather_epi64 and mm256_mask_i64gather_epi64 seem also wrong, maybemore gather intrinsics too?


update: the prototypes in "immintrin.h" look alright, only the documentation is wrong
0 Kudos
1 Reply
Georg_Z_Intel
Employee
271 Views
Hello,

that's correct. Our documentations around gather instructions are not consistent enough.

A defect was filed to fix those (and also to check for other inconsistencies): DPD200272778

Thank you very much & best regards,

Georg Zitzlsberger
0 Kudos
Reply