There are 65 that take a scalar shift amount. Intel documentation shows 60 of them taking unsigned int. There are 5 versions of srli_epi16 that use int, the 512-bit maskz and 128/256 mask/maskz.
Fixes PR45931
Paths
| Differential D80251
[X86] Update some av512 shift intrinsics to use "unsigned int" parameter instead of int to match Intel documentaiton ClosedPublic Authored by craig.topper on May 19 2020, 2:51 PM.
Details Summary There are 65 that take a scalar shift amount. Intel documentation shows 60 of them taking unsigned int. There are 5 versions of srli_epi16 that use int, the 512-bit maskz and 128/256 mask/maskz. Fixes PR45931
Diff Detail
Event TimelineComment Actions Is it possible to fix those other 5 in the Intel docs for consistency, or is there some functional reason that those are different? Comment Actions
I think it was just a mistake. The docs are derived from icc's source code which also has them wrong. Note all of the SSE/AVX2 shift intrinsics use int not unsigned int. Comment Actions
I can. Will that do anything other than show that my test_* functions were updated to match the new type? Comment Actions
not much other than check for regressions again tbh. otherwise, lgtm This revision is now accepted and ready to land.May 22 2020, 8:31 AM Closed by commit rG1b02db52b79e: [X86] Update some av512 shift intrinsics to use "unsigned int" parameter… (authored by craig.topper). · Explain WhyMay 22 2020, 9:25 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 265835 clang/lib/Headers/avx512bwintrin.h
clang/lib/Headers/avx512fintrin.h
clang/lib/Headers/avx512vlbwintrin.h
clang/lib/Headers/avx512vlintrin.h
clang/test/CodeGen/avx512bw-builtins.c
clang/test/CodeGen/avx512f-builtins.c
clang/test/CodeGen/avx512vl-builtins.c
clang/test/CodeGen/avx512vlbw-builtins.c
|