https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87674
Bug ID: 87674 Summary: AVX512: incorrect intrinsic signature Product: gcc Version: 8.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- Hi, I'm seeing a number of warnings related to the following three intrinsics, which appaer to have an incorrect signature. The fix is easy: simply change __mmask16 to __mmask8 for those definitions (and this is also what's correct according to Intel's Intrinsics Explorer) /home/wjakob/dist/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx512vlintrin.h: In function ‘__m128i _mm_mask_mullo_epi32(__m128i, __mmask16, __m128i, __m128i)’: /home/wjakob/dist/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx512vlintrin.h:9055:23: warning: conversion from ‘__mmask16’ {aka ‘short unsigned int’} to ‘unsigned char’ may change value [-Wconversion] (__v4si) __W, __M); ^~~ /home/wjakob/dist/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx512vlbwintrin.h: In function ‘__m128i _mm_mask_packus_epi32(__m128i, __mmask16, __m128i, __m128i)’: /home/wjakob/dist/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx512vlbwintrin.h:4354:25: warning: conversion from ‘__mmask16’ {aka ‘short unsigned int’} to ‘unsigned char’ may change value [-Wconversion] (__v8hi) __W, __M); ^~~ /home/wjakob/dist/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx512vlbwintrin.h: In function ‘__m128i _mm_mask_packs_epi32(__m128i, __mmask16, __m128i, __m128i)’: /home/wjakob/dist/lib/gcc/x86_64-pc-linux-gnu/8.2.0/include/avx512vlbwintrin.h:4397:25: warning: conversion from ‘__mmask16’ {aka ‘short unsigned int’} to ‘unsigned char’ may change value [-Wconversion] (__v8hi) __W, __M); ^~~ Best, Wenzel