I'd like to bring a riscv64 proposal to your attention that has been pending for quite some time now (almost 6 months).
When building for riscv64, the user can specify a
RISC-V application profile via GORISCV64, which lets the tool chain know which RISC-V extensions it is allowed to use. We currently support the rva20u64, rva22u64 and rva23u64 profiles. The RISC-V compressed instructions are a mandatory extension in each of these profiles, are supported by all existing riscv64 hardware, and yet the Go tool chain never generates compressed instructions. The reason for this is that when we were implementing profile support in Go there was some doubt about the future of the compressed instruction set; there was a proposal to remove compressed instructions as a mandatory extension from the RISC-V application profiles, and because of this our pending compressed instruction patches were put on
hold. The proposal was
rejected and compressed instructions are and will be present in all current and future riscv64 hardware (that implements one of the standard profiles). We'd like to start generating them.
Please see the proposal for more information. I added a bit more background to the proposal this morning but do let us know if anything is still unclear.