[PATCH] D129013: [RISCV] Enable (scalable) vectorization by default

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 9 07:51:16 PDT 2022


reames added a comment.

To me, F is a better analogy than Zba because it is stateful.  With state, we have both signal problems, and context switch problems with registers effectively taking random values from the perspective of the running thread.  This doesn't exist for a non-stateful extension.

However, it's worth saying explicitly that we don't actually get to that point for vector.  Because the kernel currently doesn't enable vsstatus.VS, the current behavior of vector code is to fault with an illegal exception on any vector instruction or access to a vector state csr.  So, the register state corruption is more a theoretical than practical concern.

I don't have a strong opinion here.  I could see disabling auto-vec, and I could see leaving it enabled, and labeling this user error per Jessica's argument.  Both have serious downsides, and I'm not clear which is better in the long run.  Anyone else have an opinion?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D129013



More information about the llvm-commits mailing list