summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize
diff options
context:
space:
mode:
authorDavid Green <david.green@arm.com>2019-09-15 14:14:47 +0000
committerDavid Green <david.green@arm.com>2019-09-15 14:14:47 +0000
commitb325c057322ce14b5c561d8ac49508adab7649e5 (patch)
tree61afc1dbb9a328634e30c70be0261320a0fdc36d /llvm/lib/Transforms/Vectorize
parentb6a0faaa0c793aede7911be241b1895a9ebea41c (diff)
downloadbcm5719-llvm-b325c057322ce14b5c561d8ac49508adab7649e5.tar.gz
bcm5719-llvm-b325c057322ce14b5c561d8ac49508adab7649e5.zip
[ARM] Masked loads and stores
Masked loads and store fit naturally with MVE, the instructions being easily predicated. This adds lowering for the simple cases of masked loads and stores. It does not yet deal with widening/narrowing or pre/post inc, and so is currently behind an option. The llvm masked load intrinsic will accept a "passthru" value, dictating the values used for the zero masked lanes. In MVE the instructions write 0 to the zero predicated lanes, so we need to match a passthru that isn't 0 (or undef) with a select instruction to pull in the correct data after the load. Differential Revision: https://reviews.llvm.org/D67186 llvm-svn: 371932
Diffstat (limited to 'llvm/lib/Transforms/Vectorize')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud