This is an archive of the discontinued LLVM Phabricator instance.

[RISCV][Clang] Add RVV miscellaneous intrinsic functions.
ClosedPublic

Authored by khchen on Apr 13 2021, 8:55 AM.

Details

Summary
  1. vreinterpret
  2. vundefined
  3. LMUL truncation and extension.

Diff Detail

Event Timeline

khchen created this revision.Apr 13 2021, 8:55 AM
khchen requested review of this revision.Apr 13 2021, 8:55 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 13 2021, 8:55 AM
craig.topper added inline comments.Apr 13 2021, 2:52 PM
clang/include/clang/Basic/riscv_vector.td
97

Ingore -> Ignore

97

qeuivalent -> equivalent

101

Same

102

Same

105

Same

106

Same

1303

Would this make more sense as just FixedSEW:8, FixedSEW:16, etc. I don't think the Log2 is helping here. We need it for LMUL because of the fractional lmul, but not SEW.

khchen updated this revision to Diff 338109.Apr 16 2021, 7:34 AM

Address the Craig's comments.

Thanks for point out typo again and again...

clang/include/clang/Basic/riscv_vector.td
1303

Agreed.

This revision is now accepted and ready to land.Apr 16 2021, 9:09 AM
This revision was landed with ongoing or failed builds.Apr 16 2021, 9:41 AM
This revision was automatically updated to reflect the committed changes.
pshung added a subscriber: pshung.Jun 1 2021, 6:07 PM

@khchen

This patch doesn't generate the overloaded APIs for "vreinterpret". Any concern?

clang/test/CodeGen/RISCV/rvv-intrinsics/vlmul.c