This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/76731] New: [AVX512] _mm512_i32gather_epi32 and other scatter/gather routines have incorrect signature
- From: "wenzel at mitsuba-renderer dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 14 Aug 2016 23:13:38 +0000
- Subject: [Bug target/76731] New: [AVX512] _mm512_i32gather_epi32 and other scatter/gather routines have incorrect signature
- Authentication-results: sourceware.org; auth=none
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76731
Bug ID: 76731
Summary: [AVX512] _mm512_i32gather_epi32 and other
scatter/gather routines have incorrect signature
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: wenzel@mitsuba-renderer.org
Target Milestone: ---
All of the scatter/gather intrinsics in avx512intrin.h use int/float/double
pointers, which is incorrect.
For intsance:
extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_i32gather_epi32 (__m512i __index, int const *__addr, int __scale)
These should use void*/const void* pointers according to Intel (see e.g.
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm512_i32gather_epi32&expand=2778,2777)
This is a departure from prior mask/gather intrinsics, where type information
turned out to be a bad idea for various reasons (e.g. aliasing analysis)