You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Flips the immediate-shift folding peephole default-on (PR #463 landed it flag-off).
A constant shift amount the stack selector materialized into a scratch register
(`movw rM,#C; lsl rD,rN,rM`) now folds to the immediate form (`lsl rD,rN,#C`),
removing the dead `movw` — −1 instruction, −1 live register per folded shift.
Flip: arm_backend.rs default-ON with opt-out SYNTH_NO_IMM_SHIFT_FOLD=1. Re-froze
the ARM goldens (control_step 316→304, flight_seam 866→774, flight_seam_flat
1006→910 = −200 B; signed_div_const unchanged — no register-shift folds). RV32
gate untouched (ARM-only peephole).
Results preserved across the byte change: control_step 0x00210A55 (differential
13/13), flat+inlined flight_algo 0x07FDF307 (MATCH); opt-out restores the v0.14.0
bytes; full workspace suite green. Validated bit-identical + a net cycle win on the
dissolved hot path (−2 cyc/call, .text 100→90 B on gust_mix). Cumulative dissolved
hot-path: 64.0 → 58.0 (cmp→select) → 50.0 (local promotion) → 48.0 cyc/call.
Pin-swept 0.14.0→0.15.0; CHANGELOG added.
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments