topperc 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.

Do we have any data without Zicond? The worst case Zicond sequence is 
czero.eqz+czero.nez+or which is kind of expensive. Curious if this is pointing 
to Zicond being used too aggressively.

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