@conor I'm concerned that some ISA naming string changes (in the form consumed by -march at least) might cause issues for downstream build systems. I'm suggesting more lax parsing to try to prevent this https://reviews.llvm.org/D149246 - I'd be interested on your thoughts on e.g. If the kernel build system could be impacted: as it stands, released GCC wants z* extensions before s* (though this was fixed recently) while clang wants the opposite. Hoping to avoid a similar mess to build attributes here...
@asb I've been occasionally bitten by GCC's handling of -march strings, and yes please, when I pass a list of extensions I really want the tools to just take the union of those instructions as long as it's unambiguous and there is no opcode overlap.
The rules aren't well-specified and even people on the RISC-V tech lists don't seem to agree on all cases, such as compatibility of C with Zcmp when F/D are not implemented.
@conor @palmer the gcc change is https://github.com/gcc-mirror/gcc/commit/4204ed2dc74390ab3689d1d6a53001761338baf6#diff-d6f7db0db31bfb339b01bec450f1b905381eb4730cc5ab2b2794971e34647d64 - it moved to z/s/x like clang HEAD (and the spec), but as this has changed multiple times now I think moving to something more permissive is the only sensible path - glad to get some external validation of that opinion. The next Clang/LLVM release won't branch until middle of the year, so there's time to sort things out before then.
@conor I don't think you can as an unregistered user unfortunately