This is an archive of the discontinued LLVM Phabricator instance.

[1/7][Clang][RISCV] Remove default tail-undisturbed for vector reduction intrinsics
ClosedPublic

Authored by eopXD on Jan 3 2023, 6:56 AM.

Details

Summary

The destination parameter is removed for non-policy unmasked intrinsics,
they are now tail agnostic. The non-policy masked intrinsics are tail
agnostic and masked undisturbed, just like normal instructions like
vadd.

This is the 1st commit of a patch-set that aims to remove the
IsPrototypeDefaultTU special case for the rvv-intrinsics.

The patch-set work towards the simplification proposal [0] of Nick
Knight, the plan is that after this patch-set, all non-policy
intrinsics will be aligned with default policy behavior of tail
agnostic and mask undisturbed. Then the next patch-set will aim
towards changing non-policy intrinsics to tail agnostic and mask
agnostic.

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

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

Diff Detail

Event Timeline

eopXD created this revision.Jan 3 2023, 6:56 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 3 2023, 6:56 AM
eopXD requested review of this revision.Jan 3 2023, 6:56 AM
eopXD edited the summary of this revision. (Show Details)Jan 3 2023, 6:57 AM
eopXD retitled this revision from [WIP][Clang][RISCV] Remove default tail-undisturbed for vector reduction intrinsics to [WIP][1/6][Clang][RISCV] Remove default tail-undisturbed for vector reduction intrinsics.Jan 3 2023, 6:09 PM
eopXD retitled this revision from [WIP][1/6][Clang][RISCV] Remove default tail-undisturbed for vector reduction intrinsics to [WIP][1/7][Clang][RISCV] Remove default tail-undisturbed for vector reduction intrinsics.Jan 3 2023, 7:11 PM
eopXD retitled this revision from [WIP][1/7][Clang][RISCV] Remove default tail-undisturbed for vector reduction intrinsics to [1/7][Clang][RISCV] Remove default tail-undisturbed for vector reduction intrinsics.Jan 11 2023, 1:14 AM
eopXD edited the summary of this revision. (Show Details)
eopXD updated this revision to Diff 488140.Jan 11 2023, 3:29 AM
eopXD edited the summary of this revision. (Show Details)

Rebase on top of landing of D141198.

This revision is now accepted and ready to land.Jan 12 2023, 12:12 AM
craig.topper added inline comments.Jan 12 2023, 11:47 AM
clang/include/clang/Basic/riscv_vector.td
2087

Can we remove the line instead of setting it to false?

eopXD updated this revision to Diff 489264.Jan 14 2023, 8:46 AM

Rebase to latest main

eopXD updated this revision to Diff 491609.Jan 23 2023, 11:15 PM

Rebase to latest main.

This revision was landed with ongoing or failed builds.Jan 23 2023, 11:31 PM
This revision was automatically updated to reflect the committed changes.