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

Reply via email to