This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Add an MVE execution domain.
ClosedPublic

Authored by simon_tatham on Apr 15 2019, 5:59 AM.

Details

Summary

MVE architecturally specifies a 'beat' system in which a vector
instruction executed now will complete its actual operation over the
next four cycles, so it can overlap with the execution of the previous
and next MVE instruction.

This makes it generally an advantage to avoid moving values back and
forth between MVE registers and anywhere else, if there's any sensible
way to do the same processing in whatever register type the values
already occupied.

That's just what the 'execution domain' system is supposed to achieve.
So here we add a new execution domain which will contain all the MVE
vector instructions when they are added.

Diff Detail

Repository
rL LLVM

Event Timeline

simon_tatham created this revision.Apr 15 2019, 5:59 AM
SjoerdMeijer accepted this revision.Apr 15 2019, 6:41 AM

looks reasonable

This revision is now accepted and ready to land.Apr 15 2019, 6:41 AM
This revision was automatically updated to reflect the committed changes.