@@ -26,8 +26,21 @@ case "$ARM" in
2626 # `env -u RUSTFLAGS`: a workflow-global RUSTFLAGS (CI sets "-D warnings")
2727 # REPLACES every cargo-config rustflags entry, so a `--config
2828 # .cargo/config-v4.toml` passed through CARGO_ARGS would silently lose its
29- # `-Ctarget-cpu=x86-64-v4` and this arm would measure v3 while claiming
30- # v4 — the exact trap the tier4 CI job hit. Clearing it lets the config win.
29+ # `-Ctarget-cpu=x86-64-v4` — the exact trap the tier4 CI job hit. Clearing
30+ # it lets the config win.
31+ #
32+ # What you get INSTEAD is not v3 (corrected 2026-09-16, coderabbit on #314;
33+ # this comment said "would measure v3"). RUSTFLAGS replaces EVERY entry,
34+ # including the DEFAULT `.cargo/config.toml`'s own `-Ctarget-cpu`, so no
35+ # target-cpu reaches rustc at all and the build lands on rustc's generic
36+ # `x86-64` baseline — SSE2, BELOW v3, and the tier `simd_avx2.rs`'s
37+ # intrinsics SIGILL on. Measured on one unit: `RUSTFLAGS="-D warnings"`
38+ # emitted ZERO `-Ctarget-cpu` flags against 65 with the env unset.
39+ #
40+ # This arm NAMES NO TIER by design: it builds with whatever config wins,
41+ # which by default is `target-cpu=native` (the host). Read the program's
42+ # own `avx512f=` header line for the tier; pin `.cargo/config-v3.toml`
43+ # through CARGO_ARGS when you specifically want AVX2.
3144 env -u RUSTFLAGS cargo ${CARGO_ARGS:- } build --release --manifest-path " $MANIFEST " --bin simd-masking-parity
3245 " $TD /release/simd-masking-parity"
3346 ;;
0 commit comments