[PATCH] D143953: [RISCV] Accept zicsr and zifencei command line options
Alex Bradbury via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 14 07:06:45 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 llvm-commits
mailing list