This is an archive of the discontinued LLVM Phabricator instance.

[X86] Support some missing intrinsics
ClosedPublic

Authored by LiuChen3 on Apr 13 2021, 1:38 AM.

Details

Summary

Support for _mm512_i32logather_pd, _mm512_mask_i32logather_pd,
_mm512_i32logather_epi64, _mm512_mask_i32logather_epi64, _mm512_i32loscatter_pd,
_mm512_mask_i32loscatter_pd.

Diff Detail

Event Timeline

LiuChen3 created this revision.Apr 13 2021, 1:38 AM
LiuChen3 requested review of this revision.Apr 13 2021, 1:38 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 13 2021, 1:38 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript

Add _mm512_i32loscatter_epi64 and _mm512_mask_i32loscatter_epi64 for completeness?

Add _mm512_i32loscatter_epi64 and _mm512_mask_i32loscatter_epi64 for completeness?

It seems we doesn't support KNCNI in LLVM. Am I right?

Add _mm512_i32loscatter_epi64 and _mm512_mask_i32loscatter_epi64 for completeness?

It seems we doesn't support KNCNI in LLVM. Am I right?

Correct. We do not support KNCI.

That's why I said "completeness" :)

clang/lib/Headers/avx512fintrin.h
9692

Newline between instructions

LiuChen3 updated this revision to Diff 337301.Apr 13 2021, 6:13 PM

Address Simon's comments

craig.topper added inline comments.Apr 14 2021, 8:45 AM
clang/lib/Headers/avx512fintrin.h
9593

"scale them in dst" doesn't make sense.

9611

Use of "dst" here doesn't make sense since it isn't a parameter name so shouldn't be abbreviated.

9636

Same

9654

Same

clang/test/CodeGen/X86/avx512f-builtins.c
10853

Any idea why _mm512_mask_i32loscatter_epi64 is documented as only being KNCI?

pengfei added inline comments.Apr 14 2021, 8:15 PM
clang/lib/Headers/avx512fintrin.h
9611

Can we arrange "dst" as the abbreviation for the result of the intrinsic?
Intrinsic guide uses such naming conversion and correspondings to its operation.
We are trying to unify the descriptions here and intrinsic guide.

LiuChen3 updated this revision to Diff 338443.Apr 19 2021, 1:24 AM
  1. Rebase.
  2. Adding _mm512_i32loscatter_epi64 and _mm512_mask_i32loscatter_epi64.
LiuChen3 updated this revision to Diff 338445.Apr 19 2021, 1:34 AM

Fix format issue.

LiuChen3 added inline comments.Apr 19 2021, 1:37 AM
clang/test/CodeGen/X86/avx512f-builtins.c
10853

After confirmation, we think it’s a intrinsics guide bug. The intrinsics guide will be updated later.

pengfei accepted this revision.Apr 19 2021, 10:17 PM

LGTM.

This revision is now accepted and ready to land.Apr 19 2021, 10:17 PM
This revision was landed with ongoing or failed builds.Apr 20 2021, 7:51 PM
This revision was automatically updated to reflect the committed changes.