http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53192
Bug #: 53192
Summary: Incorrect arguments to AVX2's gather intrinsics
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: [email protected]
ReportedBy: [email protected]
Hello,
Seems Intel's latest Spec contains a bug, which was reproduced in avx2intrin.h
_mm_i32gather_epi64 (long long int const *base,
__m128i index, const int scale)
This has led to an incompatibility between Intel and Gnu compilers. The Intel
version of immintrin.h specifies the type as __int64 const *. The type __int64
is a non-standard MS invention, which apparently is compatible with the
standard type int64_t (inttypes.h). The GCC version of avx2intrin.h specifies
the same parameter as long long int const *.
Unfortunately, these two types are incompatible under 64-bit Linux.