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

Reply via email to