This is an archive of the discontinued LLVM Phabricator instance.

[Clang][RISCV] Simplify RVV intrinsic policy suffix
ClosedPublic

Authored by eopXD on Jan 18 2023, 6:51 AM.

Details

Summary

This patch works towards the simplification proposal [0] of Nick
Knight. After this patch, we have reduced the hierarchy of intrinsics
from two sets (non-policy and policy) into a single set, with a general
assumption that policy behavior is agnostic unless specified.

[0] https://gist.github.com/nick-knight/6cb0b74b351a25323dfb1821d3a269b9

Pull Request: riscv-non-isa/rvv-intrinsic-doc#186.

Depends on D141796.

Diff Detail

Event Timeline

eopXD created this revision.Jan 18 2023, 6:51 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 18 2023, 6:51 AM
eopXD requested review of this revision.Jan 18 2023, 6:51 AM
eopXD added inline comments.Jan 18 2023, 7:00 AM
clang/lib/Support/RISCVVIntrinsicUtils.cpp
872–873

@kito-cheng I think the removal of HasTailPolicy and HasMaskPolicy here and under SemaRISCVVectorLookup.cpp, RISCVVEmitter.cpp should resolve your concern on these two attributes blending into the Policy object.

This revision is now accepted and ready to land.Jan 19 2023, 12:52 AM
eopXD edited the summary of this revision. (Show Details)Jan 19 2023, 1:37 AM
eopXD updated this revision to Diff 492441.Jan 26 2023, 7:21 AM

Update code upon re-commit of D141796.

This revision was landed with ongoing or failed builds.Jan 28 2023, 3:27 AM
This revision was automatically updated to reflect the committed changes.