-
-
Notifications
You must be signed in to change notification settings - Fork 12.9k
zig dependents: fix CPU target for arm64 Linux #213589
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
Conversation
cpu = case Hardware.oldest_cpu # See `zig targets`. | ||
# Cortex A-53 seems to be the oldest available ARMv8-A processor. | ||
# https://en.wikipedia.org/wiki/ARM_Cortex-A53 | ||
when :armv8 then "cortex_a53" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe one of the targets with only v8a less extensions would be more portable? I think the most minimal 64-bit aarch64 option is A-35.
EDIT: Updated to use correct section of zig target
(aarch64)
.cortex_a34 = .{
"aes",
"crc",
"perfmon",
"sha2",
"v8a",
},
.cortex_a35 = .{
"aes",
"crc",
"perfmon",
"sha2",
"v8a",
},
.cortex_a53 = .{
"aes",
"balance_fp_ops",
"crc",
"fuse_adrp_add",
"fuse_aes",
"perfmon",
"sha2",
"use_postra_scheduler",
"v8a",
},
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at zig targets
again, the most minimal option is X-Gene 1 which may be the only CPU without CRC (closest to -march=armv8-a
):
.xgene1 = .{
"perfmon",
"v8a",
},
Not sure what chances of someone running this specific CPU is (old data center CPU). Would be okay with baseline target having at least CRC.
The next minimal are Cortex A34 and A35 which adds crc+aes+sha2 so could optimize up to -march=armv8-a+crc+aes+sha2
Ampere eMAG seems to be similar as it adds crc+crypto with latter being equivalent to aes+sha2
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>
, where<formula>
is the name of the formula you're submitting?brew test <formula>
, where<formula>
is the name of the formula you're submitting?brew audit --strict <formula>
(after doingHOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>
)? If this is a new formula, does it passbrew audit --new <formula>
?See #213501.