Thanks for starting this discussion. I think the key things I’d look at when evaluating a non-standard extension are:
- Is there a user community for it
- Is there a clear specification we can use to evaluate the implementation against
- Is the proposed implementation of a high quality
- Will the author support the code long term, participate in code reviews etc
- How large / invasive is the implementation. i.e. what impact will it have on the rest of the RISC-V backend
The last one is the big question mark for me. We’ve often assumed that supporting the older vector spec could be quite a large burden, though @kito-cheng indicates it turned out not to be huge for GCC. Could you say a bit about how that works out in your LLVM implementation?