Repository navigation
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3048 +/- ##
==========================================
- Coverage 84.23% 84.23% -0.01%
==========================================
Files 258 258
Lines 57070 57071 +1
Branches 4874 4874
==========================================
- Hits 48072 48071 -1
- Misses 8170 8172 +2
Partials 828 828
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
EdCaunt
reviewed
Oct 14, 2026
EdCaunt
left a comment
Contributor
There was a problem hiding this comment.
Not unreasonable, but lots of noise in here.
mloubout
approved these changes
Oct 14, 2026
`get_platform` only recognised Apple silicon through `'m1' in brand`, so
an "Apple M2/M3/M4 ..." brand string fell through to ANYCPU. On such a
machine `skipif('cpu64-arm')` does not fire and tests that force an x86
platform (e.g. `test_nested_nthreads` with `knl7210`) emit x86 intrinsics
headers that clang rejects on arm64; which chip a macOS CI runner gets is
a lottery, so the same PR can be green or red on different runs.
Map any "apple m<N>" brand to the registered AppleArm of that generation,
falling back to the newest registered one for chips not yet listed (the
actual `march` is derived at runtime by `AppleArm.march`). Add a test
that fails for M2/M3/M4 brand strings without this change.
ggorman
force-pushed
the
fix-apple-silicon-detection
branch
from
October 15, 2026 11:41
1657dfb to
bc74301
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
get_platform()recognises Apple silicon only via'm1' in brand(devito/arch/archinfo.py). A brand string such as "Apple M2 Pro" or "Apple M4 Max" falls through toANYCPU, so@skipif('cpu64-arm')does not fire.tests/test_autotuner.py::test_nested_nthreadsthen runs withplatform='knl7210', the generated code includesxmmintrin.h/pmmintrin.h, and Homebrew clang on arm64 rejects it:Which chip a
macos-26-arm64runner gets is a lottery, so the same code is green on one run and red on the next. Seen on #3047: that run had zeroArm doesn't support x86-specific instructionsskips across the suite, while themainrun the day before (same image, same LLVM 23.1.0) skipped the test.Fix
Map any
apple m<N>brand to the registeredAppleArmof that generation, falling back to the newest registered one for chips not yet listed;AppleArm.marchderives the actual-mcpuat runtime fromsysctl. One branch replaced inget_platform.Test
tests/test_arch.py::test_detect_apple_silicon, parametrised over "Apple M1", "Apple M2 Pro", "Apple M3 Max", "Apple M4 Max": monkeypatchesget_cpu_infoand assertsget_platformyields anAppleArm.archinfo.pyreverted, the M2/M3/M4 cases fail and only M1 passes; with the change all four pass.🤖 Generated with Claude Code