Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Made possible adding multiple AArch64 extensions (CPU features) to GCC "-march" #4449

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

maximmasiutin
Copy link
Contributor

@maximmasiutin maximmasiutin commented Mar 17, 2023

Added support for multiple AArch64 extensions (CPU features) instead of a single one. Now the features like "+dotprod" are accumulated in the armext variable before finally adding it to the "-march" parameter. When specifying "ARCH=armv8" make parameter, the Makefile didn't contain the provisions to specify -march=armv8.2-a parameter to gcc. Now it does. Also added ARMv8.4-A architecture for Amazon Graviton 3 which is faster than the initial version (ARMv8-A). Tested Amazon Graviton 3 and Ampere Altra locally in 'stockfish bench' and as Fishtest workers.

@maximmasiutin maximmasiutin force-pushed the ampere-altra branch 2 times, most recently from 3bf2e9b to 5934bd0 Compare March 20, 2023 11:35
@MinetaS
Copy link
Contributor

MinetaS commented Jul 23, 2024

I know it's late, but may I ask what exactly this PR is trying to fix or improve?

Only early revisions of Cortex-A53s have this specific bugs, and compilers have already managed to mitigate this. (GCC for example: https://github.com/gcc-mirror/gcc/blob/master/gcc/config/aarch64/aarch64-errata.h)

Even if someone is using outdated compilers, I believe armv8 (without dotprod) is already enough. Is there any particular reason for the use of ARMv8.4?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants