diff options
author | David Green <david.green@arm.com> | 2020-05-09 15:17:50 +0100 |
---|---|---|
committer | David Green <david.green@arm.com> | 2020-05-09 18:58:13 +0100 |
commit | 6eee2d9b5bdd5dacb2669c0b8f5a76cb64f363e3 (patch) | |
tree | 2e4bb22a2ed9326338cd4107638535a9af286c2a /llvm/lib/Analysis/CodeMetrics.cpp | |
parent | 0e49ac73eaf554ad4135f51b03ea4eadaebf0466 (diff) | |
download | llvm-6eee2d9b5bdd5dacb2669c0b8f5a76cb64f363e3.zip llvm-6eee2d9b5bdd5dacb2669c0b8f5a76cb64f363e3.tar.gz llvm-6eee2d9b5bdd5dacb2669c0b8f5a76cb64f363e3.tar.bz2 |
[ARM] Convert VDUPLANE to VDUP under MVE
Unlike Neon, MVE does not have a way of duplicating from a vector lane,
so a VDUPLANE currently selects to a VDUP(move_from_lane(..)). This
forces that to be done earlier as a dag combine to allow other folds to
happen.
It converts to a VDUP(EXTRACT). On FP16 this is then folded to a
VGETLANEu to prevent it from creating a vmovx;vmovhr pair, using a
single move_from_reg instead.
Differential Revision: https://reviews.llvm.org/D79606
Diffstat (limited to 'llvm/lib/Analysis/CodeMetrics.cpp')
0 files changed, 0 insertions, 0 deletions