This is an archive of the discontinued LLVM Phabricator instance.

Assume lane masks are precise
ClosedPublic

Authored by MatzeB on Nov 10 2015, 4:16 PM.

Details

Summary

Assuming I get no complains in the E-Mail thread (http://lists.llvm.org/pipermail/llvm-dev/2015-November/092238.html) lane masks should be changed to be precise.

Allowing imprecise lane masks in case of more than 32 sub register lanes
lead to some tricky corner cases, and I need another bugfix for another
one. Instead I rather declare lane masks as precise and let tablegen
abort if we do not have enough bits.

This does not affect any in-tree target, even AMDGPU only needs 16 lanes
at the moment. If the 32 lanes turn out to be a problem in the future,
then we can easily change the LaneBitmask typedef to uint64_t.

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB updated this revision to Diff 39868.Nov 10 2015, 4:16 PM
MatzeB retitled this revision from to Assume lane masks are precise.
MatzeB updated this object.
MatzeB added a reviewer: qcolombet.
MatzeB set the repository for this revision to rL LLVM.
MatzeB added a subscriber: llvm-commits.
qcolombet accepted this revision.Nov 11 2015, 5:18 PM
qcolombet edited edge metadata.

Hi Matthias,

There are a few one line blocks with {} after your change that you should fix, but other than that LGTM!

Cheers,
-Quentin

This revision is now accepted and ready to land.Nov 11 2015, 5:18 PM
This revision was automatically updated to reflect the committed changes.