This is an archive of the discontinued LLVM Phabricator instance.

[ARM][MVE] Change VCTP operand
ClosedPublic

Authored by samparker on Sep 23 2019, 8:50 AM.

Details

Summary

The VCTP instruction will calculate the predicate masked based upon the number of elements that need to be processed. I had inserted the sub before the vctp intrinsic and supplied it as the operand, but this is incorrect as the sub is calculating the value for the next iteration.

Diff Detail

Repository
rL LLVM

Event Timeline

samparker created this revision.Sep 23 2019, 8:50 AM
samparker updated this revision to Diff 221479.Sep 24 2019, 1:20 AM

Updated a couple of the tests.

SjoerdMeijer added inline comments.Sep 24 2019, 3:46 AM
test/CodeGen/Thumb2/LowOverheadLoops/basic-tail-pred.ll
111 ↗(On Diff #221479)

Perhaps you can teach me some regexps....

I was expecting: [[REMAINING:%.*]] or [[REMAINING:%.+]]

I don't see what we are matching 1 or more times, how we 'eat up' all characters with [^ ]+

dmgreen added inline comments.Sep 24 2019, 4:46 AM
lib/Target/ARM/MVETailPredication.cpp
494 ↗(On Diff #221479)

Move this comment to the new sub. It refers to the sub, right?

samparker marked 2 inline comments as done.Sep 26 2019, 11:59 PM
samparker added inline comments.
test/CodeGen/Thumb2/LowOverheadLoops/basic-tail-pred.ll
111 ↗(On Diff #221479)

I understand it as, match anything but not a space - the caret being the not.

Moved comment.

SjoerdMeijer accepted this revision.Sep 27 2019, 12:11 AM

looks good to me

test/CodeGen/Thumb2/LowOverheadLoops/basic-tail-pred.ll
111 ↗(On Diff #221479)

Ah yes, it matches the beginning of a line, or it's a 'not' inside brackets, which I didn't know... So, yep, that's another way to eat up characters;

This revision is now accepted and ready to land.Sep 27 2019, 12:11 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptSep 30 2019, 1:02 AM