[PPC64LE] poly_tomont: trim dead callee-saved spills (frame 320->224) [full CI] - #1799
[PPC64LE] poly_tomont: trim dead callee-saved spills (frame 320->224) [full CI]#1799mkannwischer wants to merge 1 commit into
Conversation
The prologue saved and restored v20-v30, but the body only clobbers v23, v24, and v27-v30. v20, v21, v22, v25, and v26 were spilled and reloaded but never used: five dead stxvx/lxvx pairs and 80 bytes of frame. This saves only the registers the body touches and trims the frame from 320 to 224 bytes. The Montgomery multiply is unchanged. The mlkem/ copy was regenerated with scripts/simpasm. Closes #1722. Signed-off-by: Scott Boudreaux <scottbphone12@gmail.com>
oqs-bot
left a comment
There was a problem hiding this comment.
Mac Mini (M1, 2020) benchmarks
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
12318 cycles |
12317 cycles |
1.00 |
ML-KEM-512 encaps |
14761 cycles |
14761 cycles |
1 |
ML-KEM-512 decaps |
19316 cycles |
19315 cycles |
1.00 |
ML-KEM-768 keypair |
21263 cycles |
21263 cycles |
1 |
ML-KEM-768 encaps |
23509 cycles |
23508 cycles |
1.00 |
ML-KEM-768 decaps |
30056 cycles |
30054 cycles |
1.00 |
ML-KEM-1024 keypair |
30314 cycles |
30315 cycles |
1.00 |
ML-KEM-1024 encaps |
34084 cycles |
34080 cycles |
1.00 |
ML-KEM-1024 decaps |
43695 cycles |
43695 cycles |
1 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
ppc64le (POWER10) benchmarks
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
38267 cycles |
37977 cycles |
1.01 |
ML-KEM-512 encaps |
43846 cycles |
43448 cycles |
1.01 |
ML-KEM-512 decaps |
54160 cycles |
53423 cycles |
1.01 |
ML-KEM-768 keypair |
67792 cycles |
67467 cycles |
1.00 |
ML-KEM-768 encaps |
76830 cycles |
76412 cycles |
1.01 |
ML-KEM-768 decaps |
91045 cycles |
90618 cycles |
1.00 |
ML-KEM-1024 keypair |
108949 cycles |
108562 cycles |
1.00 |
ML-KEM-1024 encaps |
119891 cycles |
118622 cycles |
1.01 |
ML-KEM-1024 decaps |
137980 cycles |
137281 cycles |
1.01 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Arm Cortex-A76 (Raspberry Pi 5) benchmarks
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
28231 cycles |
28242 cycles |
1.00 |
ML-KEM-512 encaps |
34124 cycles |
34125 cycles |
1.00 |
ML-KEM-512 decaps |
44476 cycles |
44473 cycles |
1.00 |
ML-KEM-768 keypair |
47608 cycles |
47611 cycles |
1.00 |
ML-KEM-768 encaps |
53860 cycles |
53862 cycles |
1.00 |
ML-KEM-768 decaps |
68525 cycles |
68521 cycles |
1.00 |
ML-KEM-1024 keypair |
70194 cycles |
70247 cycles |
1.00 |
ML-KEM-1024 encaps |
78680 cycles |
78704 cycles |
1.00 |
ML-KEM-1024 decaps |
98310 cycles |
98273 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Intel Xeon 4th gen (c7i)
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
11900 cycles |
11784 cycles |
1.01 |
ML-KEM-512 encaps |
13179 cycles |
13079 cycles |
1.01 |
ML-KEM-512 decaps |
17044 cycles |
17091 cycles |
1.00 |
ML-KEM-768 keypair |
19386 cycles |
19364 cycles |
1.00 |
ML-KEM-768 encaps |
20656 cycles |
20596 cycles |
1.00 |
ML-KEM-768 decaps |
26322 cycles |
26281 cycles |
1.00 |
ML-KEM-1024 keypair |
28203 cycles |
28109 cycles |
1.00 |
ML-KEM-1024 encaps |
30419 cycles |
30378 cycles |
1.00 |
ML-KEM-1024 decaps |
37508 cycles |
37448 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
AMD EPYC 4th gen (c7a)
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
12832 cycles |
12801 cycles |
1.00 |
ML-KEM-512 encaps |
14225 cycles |
14237 cycles |
1.00 |
ML-KEM-512 decaps |
18996 cycles |
18975 cycles |
1.00 |
ML-KEM-768 keypair |
21586 cycles |
21566 cycles |
1.00 |
ML-KEM-768 encaps |
22746 cycles |
22732 cycles |
1.00 |
ML-KEM-768 decaps |
29730 cycles |
29717 cycles |
1.00 |
ML-KEM-1024 keypair |
30609 cycles |
30514 cycles |
1.00 |
ML-KEM-1024 encaps |
32599 cycles |
32678 cycles |
1.00 |
ML-KEM-1024 decaps |
41885 cycles |
41973 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
AMD EPYC 3rd gen (c6a)
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
14454 cycles |
14443 cycles |
1.00 |
ML-KEM-512 encaps |
15947 cycles |
15927 cycles |
1.00 |
ML-KEM-512 decaps |
21345 cycles |
21327 cycles |
1.00 |
ML-KEM-768 keypair |
23796 cycles |
23806 cycles |
1.00 |
ML-KEM-768 encaps |
25259 cycles |
25250 cycles |
1.00 |
ML-KEM-768 decaps |
33015 cycles |
33030 cycles |
1.00 |
ML-KEM-1024 keypair |
33335 cycles |
33344 cycles |
1.00 |
ML-KEM-1024 encaps |
35858 cycles |
35877 cycles |
1.00 |
ML-KEM-1024 decaps |
46182 cycles |
46192 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton5
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
13478 cycles |
13452 cycles |
1.00 |
ML-KEM-512 encaps |
15781 cycles |
15781 cycles |
1 |
ML-KEM-512 decaps |
21311 cycles |
21312 cycles |
1.00 |
ML-KEM-768 keypair |
22907 cycles |
22907 cycles |
1 |
ML-KEM-768 encaps |
25228 cycles |
25225 cycles |
1.00 |
ML-KEM-768 decaps |
33166 cycles |
33173 cycles |
1.00 |
ML-KEM-1024 keypair |
33291 cycles |
33232 cycles |
1.00 |
ML-KEM-1024 encaps |
36952 cycles |
37044 cycles |
1.00 |
ML-KEM-1024 decaps |
47102 cycles |
47104 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Intel Xeon 3rd gen (c6i)
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
17904 cycles |
17868 cycles |
1.00 |
ML-KEM-512 encaps |
20089 cycles |
20057 cycles |
1.00 |
ML-KEM-512 decaps |
26603 cycles |
26606 cycles |
1.00 |
ML-KEM-768 keypair |
30018 cycles |
29950 cycles |
1.00 |
ML-KEM-768 encaps |
33031 cycles |
31996 cycles |
1.03 |
ML-KEM-768 decaps |
41440 cycles |
41491 cycles |
1.00 |
ML-KEM-1024 keypair |
43053 cycles |
42078 cycles |
1.02 |
ML-KEM-1024 encaps |
45071 cycles |
45040 cycles |
1.00 |
ML-KEM-1024 decaps |
58042 cycles |
57971 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Intel Xeon 3rd gen (c6i)'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.03.
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-768 encaps |
33031 cycles |
31996 cycles |
1.03 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Intel Xeon 4th gen (c7i) (no-opt)
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
27637 cycles |
27523 cycles |
1.00 |
ML-KEM-512 encaps |
35576 cycles |
35607 cycles |
1.00 |
ML-KEM-512 decaps |
44399 cycles |
44308 cycles |
1.00 |
ML-KEM-768 keypair |
44163 cycles |
44159 cycles |
1.00 |
ML-KEM-768 encaps |
54984 cycles |
54927 cycles |
1.00 |
ML-KEM-768 decaps |
68472 cycles |
68284 cycles |
1.00 |
ML-KEM-1024 keypair |
67856 cycles |
67850 cycles |
1.00 |
ML-KEM-1024 encaps |
79098 cycles |
78888 cycles |
1.00 |
ML-KEM-1024 decaps |
95998 cycles |
96098 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton3
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
18652 cycles |
18665 cycles |
1.00 |
ML-KEM-512 encaps |
21831 cycles |
21857 cycles |
1.00 |
ML-KEM-512 decaps |
28832 cycles |
28837 cycles |
1.00 |
ML-KEM-768 keypair |
31535 cycles |
31576 cycles |
1.00 |
ML-KEM-768 encaps |
34755 cycles |
34667 cycles |
1.00 |
ML-KEM-768 decaps |
44805 cycles |
44803 cycles |
1.00 |
ML-KEM-1024 keypair |
46202 cycles |
46143 cycles |
1.00 |
ML-KEM-1024 encaps |
51426 cycles |
51481 cycles |
1.00 |
ML-KEM-1024 decaps |
64959 cycles |
64971 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
AMD EPYC 4th gen (c7a) (no-opt)
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
37180 cycles |
36791 cycles |
1.01 |
ML-KEM-512 encaps |
42866 cycles |
42839 cycles |
1.00 |
ML-KEM-512 decaps |
55627 cycles |
55590 cycles |
1.00 |
ML-KEM-768 keypair |
58040 cycles |
58027 cycles |
1.00 |
ML-KEM-768 encaps |
66931 cycles |
66923 cycles |
1.00 |
ML-KEM-768 decaps |
83611 cycles |
83737 cycles |
1.00 |
ML-KEM-1024 keypair |
88618 cycles |
88594 cycles |
1.00 |
ML-KEM-1024 encaps |
99182 cycles |
99087 cycles |
1.00 |
ML-KEM-1024 decaps |
120546 cycles |
120547 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton4
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
17701 cycles |
17686 cycles |
1.00 |
ML-KEM-512 encaps |
20597 cycles |
20594 cycles |
1.00 |
ML-KEM-512 decaps |
27023 cycles |
27005 cycles |
1.00 |
ML-KEM-768 keypair |
29897 cycles |
29896 cycles |
1.00 |
ML-KEM-768 encaps |
32632 cycles |
32630 cycles |
1.00 |
ML-KEM-768 decaps |
41899 cycles |
41919 cycles |
1.00 |
ML-KEM-1024 keypair |
43741 cycles |
43717 cycles |
1.00 |
ML-KEM-1024 encaps |
48636 cycles |
48686 cycles |
1.00 |
ML-KEM-1024 decaps |
61382 cycles |
61381 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton5 (no-opt)
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
27495 cycles |
27472 cycles |
1.00 |
ML-KEM-512 encaps |
31694 cycles |
31683 cycles |
1.00 |
ML-KEM-512 decaps |
40492 cycles |
40493 cycles |
1.00 |
ML-KEM-768 keypair |
44186 cycles |
44191 cycles |
1.00 |
ML-KEM-768 encaps |
50712 cycles |
50710 cycles |
1.00 |
ML-KEM-768 decaps |
62166 cycles |
62158 cycles |
1.00 |
ML-KEM-1024 keypair |
68106 cycles |
67977 cycles |
1.00 |
ML-KEM-1024 encaps |
75946 cycles |
76071 cycles |
1.00 |
ML-KEM-1024 decaps |
90899 cycles |
90823 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
AMD EPYC 3rd gen (c6a) (no-opt)
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
40253 cycles |
40230 cycles |
1.00 |
ML-KEM-512 encaps |
48410 cycles |
48379 cycles |
1.00 |
ML-KEM-512 decaps |
62049 cycles |
62191 cycles |
1.00 |
ML-KEM-768 keypair |
62616 cycles |
62555 cycles |
1.00 |
ML-KEM-768 encaps |
74850 cycles |
74853 cycles |
1.00 |
ML-KEM-768 decaps |
92457 cycles |
92436 cycles |
1.00 |
ML-KEM-1024 keypair |
94994 cycles |
95010 cycles |
1.00 |
ML-KEM-1024 encaps |
110006 cycles |
109881 cycles |
1.00 |
ML-KEM-1024 decaps |
132463 cycles |
132297 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Intel Xeon 3rd gen (c6i) (no-opt)
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
46767 cycles |
46764 cycles |
1.00 |
ML-KEM-512 encaps |
55608 cycles |
55568 cycles |
1.00 |
ML-KEM-512 decaps |
71169 cycles |
71228 cycles |
1.00 |
ML-KEM-768 keypair |
74400 cycles |
74430 cycles |
1.00 |
ML-KEM-768 encaps |
85935 cycles |
85934 cycles |
1.00 |
ML-KEM-768 decaps |
107079 cycles |
107113 cycles |
1.00 |
ML-KEM-1024 keypair |
111483 cycles |
111586 cycles |
1.00 |
ML-KEM-1024 encaps |
126167 cycles |
126184 cycles |
1.00 |
ML-KEM-1024 decaps |
152299 cycles |
152270 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton2
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
28213 cycles |
28237 cycles |
1.00 |
ML-KEM-512 encaps |
34078 cycles |
34121 cycles |
1.00 |
ML-KEM-512 decaps |
44501 cycles |
44477 cycles |
1.00 |
ML-KEM-768 keypair |
47627 cycles |
47614 cycles |
1.00 |
ML-KEM-768 encaps |
53925 cycles |
53872 cycles |
1.00 |
ML-KEM-768 decaps |
68633 cycles |
68558 cycles |
1.00 |
ML-KEM-1024 keypair |
70171 cycles |
70259 cycles |
1.00 |
ML-KEM-1024 encaps |
78584 cycles |
78638 cycles |
1.00 |
ML-KEM-1024 decaps |
98350 cycles |
98289 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton3 (no-opt)
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
38903 cycles |
38899 cycles |
1.00 |
ML-KEM-512 encaps |
44395 cycles |
44383 cycles |
1.00 |
ML-KEM-512 decaps |
56201 cycles |
56203 cycles |
1.00 |
ML-KEM-768 keypair |
62481 cycles |
62495 cycles |
1.00 |
ML-KEM-768 encaps |
70438 cycles |
70438 cycles |
1 |
ML-KEM-768 decaps |
86367 cycles |
86368 cycles |
1.00 |
ML-KEM-1024 keypair |
95778 cycles |
95867 cycles |
1.00 |
ML-KEM-1024 encaps |
106020 cycles |
106090 cycles |
1.00 |
ML-KEM-1024 decaps |
126082 cycles |
125739 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton4 (no-opt)
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
35296 cycles |
35280 cycles |
1.00 |
ML-KEM-512 encaps |
40039 cycles |
40025 cycles |
1.00 |
ML-KEM-512 decaps |
50625 cycles |
50626 cycles |
1.00 |
ML-KEM-768 keypair |
56805 cycles |
56804 cycles |
1.00 |
ML-KEM-768 encaps |
64056 cycles |
64045 cycles |
1.00 |
ML-KEM-768 decaps |
78487 cycles |
78496 cycles |
1.00 |
ML-KEM-1024 keypair |
87310 cycles |
87379 cycles |
1.00 |
ML-KEM-1024 encaps |
96602 cycles |
96676 cycles |
1.00 |
ML-KEM-1024 decaps |
114927 cycles |
114706 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
oqs-bot
left a comment
There was a problem hiding this comment.
Graviton2 (no-opt)
Details
| Benchmark suite | Current: 2a7a6c0 | Previous: cfd1912 | Ratio |
|---|---|---|---|
ML-KEM-512 keypair |
58704 cycles |
58755 cycles |
1.00 |
ML-KEM-512 encaps |
68452 cycles |
68467 cycles |
1.00 |
ML-KEM-512 decaps |
87317 cycles |
87387 cycles |
1.00 |
ML-KEM-768 keypair |
94946 cycles |
94524 cycles |
1.00 |
ML-KEM-768 encaps |
109088 cycles |
108935 cycles |
1.00 |
ML-KEM-768 decaps |
134055 cycles |
134030 cycles |
1.00 |
ML-KEM-1024 keypair |
151095 cycles |
150855 cycles |
1.00 |
ML-KEM-1024 encaps |
165174 cycles |
165563 cycles |
1.00 |
ML-KEM-1024 decaps |
199104 cycles |
198753 cycles |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
Running full CI + benchmarks on #1773