The naken_asm assembler (which coincidentally I packaged for Arch Linux a while ago, it's in the AUR) supports #riscv without needing a GNU toolchain, and can cross compile so it will probably be a good option for bare metal programming: http://www.mikekohn.net/micro/hifive1_riscv_asm.php