[llvm] [WIP][RISCV] Simple scalar arithmetic instructions have a reciprocal throughput of 1/2 (PR #197793)

Ryan Buchner via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 11:56:23 PDT 2026


bababuck wrote:

Results overall seem to be neutral running on the K1, a slight performance improvement
```
run       1/2 cost      nochange
count  1.340000e+03  1.340000e+03
mean   5.030334e+04  5.106448e+04
std    3.778286e+05  3.900008e+05
min    1.028500e+00  1.030900e+00
25%    2.838545e+01  2.847795e+01
50%    9.731787e+01  1.005202e+02
75%    3.239482e+03  3.230355e+03
max    7.757513e+06  7.503286e+06
```
Looking at the actual changes, it seems there is a mixed bag in terms of improvements and regressions, I'll look into the worst of the regressions to see what issues we're hitting. 

Improvements:
```
Program                                       1/2 cost    nochange
MultiSourc...oxyApps-C/miniGMG/miniGMG.test      4.69      8.68
MicroBench...hForIC2VW1LoopWithReductionTC4     15.64     23.78
MultiSourc...lFlow-flt/ControlFlow-flt.test     18.15     26.86
MicroBench...hForIC2VW1LoopWithReductionTC2     14.39     21.28
MicroBench...rIC2VW1BigLoopWithReductionTC2     26.91     38.18
MicroBench...hForIC2VW1LoopWithReductionTC8     21.13     29.41
MicroBench...w.test:BM_DEL_DOT_VEC_2D_RAW/0   1855.95   2561.97
SingleSour.../Shootout/Shootout-matrix.test      2.92      3.92
MicroBench...hForIC2VW1LoopWithReductionTC3     17.52     22.53
MicroBench...ForIC2VW1LoopWithReductionTC16     31.91     40.68
MicroBench...alsCRaw.test:BM_PIC_1D_RAW/171      6.11      7.74
MicroBench...hForIC2VW1LoopWithReductionTC7     22.53     28.16
MicroBench...rIC2VW1BigLoopWithReductionTC3     41.15     50.69
MicroBench...ForIC2VW1LoopWithReductionTC15     32.54     39.43
MultiSourc...-flt/LinearDependence-flt.test     12.67     15.34
```

Regressions:
```
Program                                      nochange     1/2 cost
SingleSour...solvers/cholesky/cholesky.test     448.34    918.70
MicroBench...st:BM_INT_PREDICT_LAMBDA/44217    8717.87  17818.12
MicroBench...est:BM_INT_PREDICT_LAMBDA/5001     943.66   1852.09
MicroBench...w.test:BM_INT_PREDICT_RAW/5001    1111.91   1851.91
MultiSourc...chmarks/Rodinia/srad/srad.test       1.25      1.82
MicroBench...sCRaw.test:BM_DISC_ORD_RAW/171      18.41     24.21
MicroBench...lcalsCRaw.test:BM_ADI_RAW/5001    2152.76   2792.79
MicroBench...est:BM_FIRST_DIFF_LAMBDA/44217     182.55    227.30
MicroBench...calsCRaw.test:BM_ADI_RAW/44217   20275.14  25159.94
SingleSour...rks/Adobe-C++/loop_unroll.test       3.02      3.70
MicroBench...CRaw.test:BM_DISC_ORD_RAW/5001     715.16    867.68
MicroBench...C2VW1BigLoopWithReductionTC128    1103.53   1335.15
MicroBench...test:BM_FIRST_SUM_LAMBDA/44217     183.69    221.32
MicroBench...C2VW1BigLoopWithReductionTC127    1098.50   1321.95
MicroBench...IC2VW1BigLoopWithReductionTC64     562.68    674.05
```

https://github.com/llvm/llvm-project/pull/197793


More information about the llvm-commits mailing list