Skip to content

Commit

Permalink
Add A32 support in CI
Browse files Browse the repository at this point in the history
Add A32 support in CI.

Currently choose Cortex-A32 as test target because it only supports
AArch32. Moreover, Cortex-A32 has Armv8-A Cryptographic Extension,
which is an ideal target for testing Cryptographic Extension.
  • Loading branch information
Cuda-Chen committed Nov 22, 2023
1 parent 0d6e9b3 commit 8bbd6d0
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 3 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/github_actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
arch_with_features: [{arch: armv7, feature: none}, {arch: aarch64, feature: none}, {arch: aarch64, feature: crypto+crc}]
arch_with_features: [{arch: armv7, feature: none}, {arch: aarch64, feature: none}, {arch: aarch64, feature: crypto+crc}, {arch: armv7, feature: none, set_a32: 1}]
cxx_compiler: [g++-10, clang++-11]
steps:
- name: checkout code
Expand All @@ -74,7 +74,7 @@ jobs:
apt-get install -q -y "${{ matrix.cxx_compiler }}" make
apt-get install -q -y gcc
run: |
make FEATURE=${{ matrix.arch_with_features.feature }} check
make FEATURE=${{ matrix.arch_with_features.feature }} A32=${{ matrix.arch_with_features.set_a32 }} check
host_win_msvc:
runs-on: windows-2022
Expand Down
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@ ifeq ($(processor),$(filter $(processor),aarch64 arm64))
else ifeq ($(processor),$(filter $(processor),i386 x86_64))
ARCH_CFLAGS = -maes -mpclmul -mssse3 -msse4.2
else ifeq ($(processor),$(filter $(processor),arm armv7 armv7l))
ARCH_CFLAGS = -mfpu=neon
ifndef ARCH_CFLAGS
ARCH_CFLAGS = -mfpu=neon
endif
else
$(error Unsupported architecture)
endif
Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,13 @@ or
```shell
$ make CROSS_COMPILE=arm-linux-gnueabihf- check # ARMv7-A
```
or
``` shell
$ make \
CROSS_COMPILE=arm-linux-gnueabihf- \
ARCH_CFLAGS="-mcpu=cortex-a32 -mfpu=neon-fp-armv8" \
check # ARMv8-A running in 32-bit mode, i.e., A32 instruction set
```

Check the details via [Test Suite for SSE2NEON](tests/README.md).

Expand Down

0 comments on commit 8bbd6d0

Please sign in to comment.