[PATCH] D106286: [RISCV] Add a test showing an incorrect vsetvli insertion

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 20 09:37:15 PDT 2021


craig.topper added a comment.

That's very interesting and I think it has always been broken. I modified the test case to not depend on VLS support and it does this on 12.0.1 as well.

  define i32 @foo(<vscale x 2 x i32> %a, <vscale x 4 x i64> %x, <vscale x 4 x i64>* %y) {
    %index = add <vscale x 4 x i64> %x, %x
    store <vscale x 4 x i64> %index, <vscale x 4 x i64>* %y
    %elt = extractelement <vscale x 2 x i32> %a, i64 0
    ret i32 %elt
  }

We don't have a VL to use here and I don't think we should make one up. I think the right fix is to add the VL argument to the intrinsic and the instruction.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D106286



More information about the llvm-commits mailing list