Current GCC implementation is RISC-V ISA 2.2, this patch set implement v20190608 and v20191213, and also add option -misa-spec=[2.2|20190608|20191213] to change the default ISA spec version.
There is one major incompatible That option will effect the default version of each sub-extension, for example I-extension is 2.0 for 2.2 and 2.1 for v20190608 and v20191213. We also update the -march parser to fit the latest standard, the canonical ordering for multi-letter, drop version support for G extension, and we also omitted the version for unrecognized extension. And we add an special rule for G extension, imafd can't appear again if G extension is present, but zicsr and zifencei can. The default ISA spec will keep on 2.2, and change that in next GCC release.