[all-commits] [llvm/llvm-project] ffa626: [CodeGen] Support extracting fixed-length vectors ...

david-arm via All-commits all-commits at lists.llvm.org
Mon Sep 5 07:05:32 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ffa62673004c3367dcf8aa01f2f7f9df13b19eed
      https://github.com/llvm/llvm-project/commit/ffa62673004c3367dcf8aa01f2f7f9df13b19eed
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll

  Log Message:
  -----------
  [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




More information about the All-commits mailing list