[Bug c/87467] New: Incorrect function parameter for _mm512_abs_pd in `include/avx512fintrin.h`
manodeep at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sat Sep 29 08:13:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87467
Bug ID: 87467
Summary: Incorrect function parameter for _mm512_abs_pd in
`include/avx512fintrin.h`
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: manodeep at gmail dot com
Target Milestone: ---
While trying to compile an AVX512F kernel containing vector intrinsics, I
encountered a warning from gcc 7.3.0:
----
/apps/skylake/software/core/gcccore/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/avx512fintrin.h:7301:1:
note: expected '__m512 {aka __vector(16) float}' but argument is of type
'__m512d {aka __vector(8) double}'
_mm512_abs_pd (__m512 __A)
----
`_mm512_abs_pd` refers to the double precision vector registers
(https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm512_abs_pd&expand=5236,5298,54).
It looks like the bug is present in the new gcc-8 branch as well:
https://github.com/gcc-mirror/gcc/blob/gcc-8-branch/gcc/config/i386/avx512fintrin.h#L7730
Simply replacing `_mm512_abs_pd (__m512 __A)` with `_mm512_abs_pd (__m512d
__A)` should fix the problem.
Please let me know if you need any further info.
Cheers,
Dr. Manodeep Sinha,
Centre for Astrophysics & Supercomputing,
Swinburne University of Technology,
Hawthorn, VIC 3122.
More information about the Gcc-bugs
mailing list