wangpc-pp wrote: > JFYI, I don't find the AArch64 data particularly convincing for RISCV. The > magnitude of the change even on AArch64 is small, and could easily be swung > one direction or the other by differences in implementation between the > backends.
Yeah! The result will differ for different targets/CPUs. One RISCV data for SPEC 2006 (which is not universal I think) on an OoO RISCV CPU, options: `-march=rv64gc_zba_zbb_zicond -O3`: ``` 400.perlbench 0.538% 401.bzip2 0.018% 403.gcc 0.105% 429.mcf 1.028% 445.gobmk -0.221% 456.hmmer 1.582% 458.sjeng -0.026% 462.libquantum -0.090% 464.h264ref 0.905% 471.omnetpp -0.776% 473.astar 0.205% ``` The geomean is: 0.295%. The result can be better with PGO I think (haven't tried it). Some related discussions: https://discourse.llvm.org/t/rfc-cmov-vs-branch-optimization. So I think we can be just like AArch64, make it a tune feature and processors can add it if needed. https://github.com/llvm/llvm-project/pull/80124 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits