[PATCH] D143953: [RISCV] Accept zicsr and zifencei command line options

Alex Bradbury via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 14 07:06:43 PST 2023


asb added a comment.

Thanks Philip. I started looking at this too, and agree that something like this is a good next step. I've been looking more closely at the GCC behaviour and noticed a couple of things that might be of interest:

- `-march=rv64gc` results in`rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0`, but `-march=rv64imafdc` results in `rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0`
- `-march=rv64i2p0_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0` results in `rv64i2p0_m2p0_a2p1_f2p2_d2p2_c2p0` (i.e. the zicsr and zifencei are silently dropped)

The strategy proposed in this patch seems sensible to me, unless someone can see a good reason I'm missing to try to go more down the route gcc took and to rewrite the -march string?

I'm looking at the case now of LLD erroring out when linking a .o specifying I2.1, which I think was unintentional and a regression from 15.0.x to 16.0.x. Similar with llvm-objdump refusing to try disassembling a file with I2.1, which is probably more user hostile than we'd like.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143953/new/

https://reviews.llvm.org/D143953



More information about the cfe-commits mailing list