DavidSpickett added a comment. > You mention a couple of times that when in SSVE mode, we can only write to > the SVE registers and doing so forces the processor out of SSVE Mode. We can > read the SSVE registers while in SSVE mode though right?
We are always able to read the header for either mode, which tells us the vector length among other useful metadata. Register data though... Maybe I should just enumerate the states. Write to SVE while in SSVE - switch to SVE mode Write to SSVE while in SVE - switch to SSVE mode Write to SVE while in SVE - no change Write to SSVE while in SSVE - no change Read SVE while in SSVE - no register data returned Read SSVE while in SVE - no register data returned Read SSVE while in SSVE - SSVE registers returned Read SVE while in SVE - SVE registers returned Then we have SIMD (v0-31) which is a bit of a wrench in this. We must read SIMD via the SVE regset even while SSVE is active, but writing to that same set brings us out of SSVE mode (into SIMD mode, I think, but it could just be SVE mode). So perhaps you see from that why I don't plan to use the mode switching this way in lldb. I will in follow on patches report the current mode via a pseudo control register, and report the streaming vector length again with a pseudo. To resolve the ambiguity of naming the registers the same thing. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D154926/new/ https://reviews.llvm.org/D154926 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits