Skip to content

Commit

Permalink
Add hybrid Neon/Neon Keccak-f1600, don't use scalar ASM on Cortex-A72 (
Browse files Browse the repository at this point in the history
…#139)

* FIPS202: Only pick lazy-rotation assembly for v8.2-A+

Signed-off-by: Hanno Becker <[email protected]>

* Add hybrid Neon/Neon Keccak-f1600 ASM

Signed-off-by: Hanno Becker <[email protected]>

* Add SHA3 extension flag to Graviton3 build

Signed-off-by: Hanno Becker <[email protected]>

* Don't try to detect slow barrel shifter

The `major*100 + minor` semantics of `__ARM_ARCH`
is not well-supported it seems.

Signed-off-by: Hanno Becker <[email protected]>

---------

Signed-off-by: Hanno Becker <[email protected]>
  • Loading branch information
hanno-becker authored Sep 19, 2024
1 parent efadcf9 commit fc539c3
Show file tree
Hide file tree
Showing 4 changed files with 467 additions and 28 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- system: rpi4
name: Arm Cortex-A72 (Raspberry Pi 4) benchmarks
bench_pmu: PMU
archflags: -mcpu=cortex-a72
archflags: -mcpu=cortex-a72 -DSYS_AARCH64_SLOW_BARREL_SHIFTER
cflags: -DFORCE_AARCH64
bench_extra_args: ""
- system: rpi5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/bench_ec2_all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- name: Graviton3
ec2_instance_type: c7g.medium
ec2_ami: ubuntu-latest (aarch64)
archflags: -mcpu=neoverse-v1 -march=armv8.4-a
archflags: -march=armv8.4-a+sha3
cflags: -DFORCE_AARCH64
uses: ./.github/workflows/bench_ec2_reusable.yml
if: github.repository_owner == 'pq-code-package' && (github.event.label.name == 'benchmark' || github.ref == 'refs/heads/main')
Expand Down
Loading

0 comments on commit fc539c3

Please sign in to comment.