This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/53192] New: Incorrect arguments to AVX2's gather intrinsics
- From: "kirill.yukhin at intel dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 02 May 2012 15:41:18 +0000
- Subject: [Bug target/53192] New: Incorrect arguments to AVX2's gather intrinsics
- Auto-submitted: auto-generated
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: unassigned@gcc.gnu.org
ReportedBy: kirill.yukhin@intel.com
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.