kito-cheng marked 3 inline comments as done. kito-cheng added a comment. > (I probably need to update my > https://maskray.me/blog/2022-08-28-march-mcpu-mtune)
At least the behavior of RISC-V GCC need to update: Architecture extension: - Take from -march if present. - Take from -mcpu if present. - Use the default architecture (TARGET_RISCV_DEFAULT_ARCH, set by --with-arch, implementation by `spec` here <https://github.com/gcc-mirror/gcc/blob/master/gcc/config/riscv/riscv.h#L68>) --- > "Architecture extension has quite complicated behavior now:" looks too > complex. > Take union from -march and -mcpu if both are present. Yeah, and actually more like buggy behavior now, it seems like take from `-march` if both are given from the clang view, because the architecture test macro are only defined the part of `-march`, but the union behavior will performed by LLVM backend by `-target-cpu` option. --- > I'd like that we just take -march= and report an error if it is incompatible > with -mcpu= I would prefer using same `*` behavior as RISC-V GCC, one reason is RISC-V GCC implement that behavior since GCC 11 (and implemented at Oct. 2020). - Take from -march if present. - Take from -mcpu if present. - Implied from -mabi if present. - Use the default architecture depending on the target triple `*` Okay, it's actually not same, it's just similar because GCC won't implied arch from `-mabi`. ================ Comment at: llvm/lib/Support/RISCVISAInfo.cpp:14 #include "llvm/ADT/StringRef.h" +#include "llvm/ADT/StringSet.h" #include "llvm/Support/Errc.h" ---------------- craig.topper wrote: > Why is this needed? Added during my first attempt, apparently I forgot to clean this up. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D140693/new/ https://reviews.llvm.org/D140693 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits