MVE has instructions to widen as it loads, and narrow as it stores. This adds the required patterns and legalisation to make them work.
Patch by David Sherwood.
Paths
| Differential D63839
[ARM] Widening loads and narrowing stores ClosedPublic Authored by dmgreen on Jun 26 2019, 1:22 PM.
Details Summary MVE has instructions to widen as it loads, and narrow as it stores. This adds the required patterns and legalisation to make them work. Patch by David Sherwood.
Diff Detail
Event Timelinedmgreen added a child revision: D63840: [ARM] Add support for MVE pre and post inc loads and stores..Jun 26 2019, 1:37 PM This revision is now accepted and ready to land.Jun 26 2019, 11:27 PM Closed by commit rL364636: [ARM] Widening loads and narrowing stores (authored by dmgreen). · Explain WhyJun 28 2019, 2:49 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 207018 llvm/trunk/lib/Target/ARM/ARMISelLowering.h
llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
llvm/trunk/lib/Target/ARM/ARMInstrMVE.td
llvm/trunk/test/CodeGen/Thumb2/mve-ldst-offset.ll
llvm/trunk/test/CodeGen/Thumb2/mve-ldst-postinc.ll
llvm/trunk/test/CodeGen/Thumb2/mve-ldst-preinc.ll
llvm/trunk/test/CodeGen/Thumb2/mve-shuffle.ll
llvm/trunk/test/CodeGen/Thumb2/mve-widen-narrow.ll
|