diff options
author | David Sherwood <david.sherwood@arm.com> | 2022-01-17 15:43:55 +0000 |
---|---|---|
committer | David Sherwood <david.sherwood@arm.com> | 2022-09-05 15:05:14 +0100 |
commit | ffa62673004c3367dcf8aa01f2f7f9df13b19eed (patch) | |
tree | 016b6d45958f24564b94df5cbd26e639634205fb /llvm/lib/Object/COFFObjectFile.cpp | |
parent | 16987998e6a0ad62efd4e387c18b0b9b5ef51947 (diff) | |
download | llvm-ffa62673004c3367dcf8aa01f2f7f9df13b19eed.zip llvm-ffa62673004c3367dcf8aa01f2f7f9df13b19eed.tar.gz llvm-ffa62673004c3367dcf8aa01f2f7f9df13b19eed.tar.bz2 |
[CodeGen] Support extracting fixed-length vectors from illegal scalable vectors
For some indices we can simply extract the fixed-length subvector from the
low half of the scalable vector, for example when the index is less than the
minimum number of elements in the low half. For all other cases we can
expand the operation through the stack by storing out the vector and
reloading the fixed-length part we need.
Fixes https://github.com/llvm/llvm-project/issues/55412
Tests added here:
CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
Differential Revision: https://reviews.llvm.org/D117499
Diffstat (limited to 'llvm/lib/Object/COFFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions