OSDN Git Service

[ARM] Add an MVE execution domain
authorSjoerd Meijer <sjoerd.meijer@arm.com>
Thu, 30 May 2019 08:07:06 +0000 (08:07 +0000)
committerSjoerd Meijer <sjoerd.meijer@arm.com>
Thu, 30 May 2019 08:07:06 +0000 (08:07 +0000)
commitd2eaad22c71479064285b00a7fde8773c367d457
tree047dad9129dac91a7dd8cae15c9dcd03fb9fe700
parentbef419a7786bf14a644daa3ef407d38a65cddaab
[ARM] Add an MVE execution domain

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.

Patch by: Simon Tatham

Differential Revision: https://reviews.llvm.org/D60703

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362068 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMInstrFormats.td
lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h