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

std.Target.Cpu.Model: Further refinements to generic() and baseline() #21729

Merged
merged 12 commits into from
Nov 2, 2024

Conversation

alexrp
Copy link
Member

@alexrp alexrp commented Oct 17, 2024

Note the distinction between "generic" and "baseline" as explained in the doc comments. See commit messages for details.

@alexrp
Copy link
Member Author

alexrp commented Oct 17, 2024

cc @Snektron for the amdgcn/nvptx bits.

@Snektron
Copy link
Collaborator

cc @Snektron for the amdgcn/nvptx bits.

They seem fine

avr2 remains the baseline CPU model.
ppc64le remains the baseline CPU model. Note that there's nothing about little
endian, 64-bit PowerPC that requires the features in the ppc64le model; the
reason it exists is that 64-bit PowerPC wasn't really used in little endian mode
prior to those features being commonplace. That makes the ppc64le model a good
baseline model, but not the right choice for a generic model.
This is the first model that was actually in the GCN family.
…/mips64.

This matches Clang's defaults. That also means these CPU models tend to get more
testing, so they're a safer baseline choice. Anecdotally, the oldest MIPS
hardware that I've seen anyone run Zig on was also r2.
…nd xcore.

This makes no difference presently, but if LLVM ever starts modeling features
for these, we would not get them by default for our baseline if we use the
generic model.
… x86_64.

These are sourced from getX86TargetCPU() in Clang.
@alexrp alexrp merged commit 8abbdb5 into ziglang:master Nov 2, 2024
10 checks passed
@alexrp alexrp deleted the target-cpu-baseline branch November 2, 2024 09:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants