OSDN Git Service

[ARM] Widening loads and narrowing stores
authorDavid Green <david.green@arm.com>
Fri, 28 Jun 2019 09:47:55 +0000 (09:47 +0000)
committerDavid Green <david.green@arm.com>
Fri, 28 Jun 2019 09:47:55 +0000 (09:47 +0000)
commit0272917d5a60e5f02b8af04384df2cdddcc32d1a
tree7f69ae31167caa72f60be2658e43417c29f82dab
parent4f77b3ddf353ea63dad95d74e7d453b34efcc4c3
[ARM] Widening loads and narrowing stores

MVE has instructions to widen as it loads, and narrow as it stores. This adds
the required patterns and legalisation to make them work including specifying
that they are legal, patterns to select them and test changes.

Patch by David Sherwood.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364636 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMInstrMVE.td
test/CodeGen/Thumb2/mve-ldst-offset.ll
test/CodeGen/Thumb2/mve-ldst-postinc.ll
test/CodeGen/Thumb2/mve-ldst-preinc.ll
test/CodeGen/Thumb2/mve-shuffle.ll
test/CodeGen/Thumb2/mve-widen-narrow.ll [new file with mode: 0644]