[PATCH] D119252: [AArch64][SVE] Fix selection failure during lowering of shuffle_vector

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 8 08:40:57 PST 2022


paulwalker-arm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:9732
+    // Can't handle cases where vector size is greater than 128-bit
+    if (Extract.getOperand(0).getValueSizeInBits() > 128)
+      return false;
----------------
david-arm wrote:
> You're introducing a new TypeSize -> uint64_t implicit typecast here. Can you use this instead?
> 
>   if (Extract.getOperand(0).getValueSizeInBits().getFixedSizeInBits() > 128)
Looking at the following code can this be tightened to `if (!V.getOperand(0).getValueType().is128BitVector())`? It's only used post type legalisation so I think there's no other type that would be acceptable by this point.


================
Comment at: llvm/test/CodeGen/AArch64/sve-shuffle-crash.ll:3
+
+target triple = "aarch64-unknown-linux-gnu"
+
----------------
Not really against this file but there already exists `sve-fixed-length-shuffles.ll` for a similar "ensure the compiler doesn't crash on this shuffle" test and so perhaps this test can be added to that file?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119252/new/

https://reviews.llvm.org/D119252



More information about the llvm-commits mailing list