Landing: ec2890c334ea
Project / Subsystem
gcc / libcpp
Date
2026-08-19
Author
Kyrylo Tkachov
Commit
ec2890c334eaccbe37e2e2eae6a4de62fefdcbf8
Source
github
Perf win
Yes
Breaking
No
All attributes
- project
- gcc
- subsystem
- libcpp
- patch_id
- —
- commit_hash
- ec2890c334eaccbe37e2e2eae6a4de62fefdcbf8
- source_type
- github
- headline
- libcpp: Require SVE for AArch64 vectorized lexer
- tldr
- Ensures AArch64 vectorized lexer requires SVE, not just SVE2, to prevent crashes on misconfigured VMs.
- author
- Kyrylo Tkachov
- outcome
- committed
- performance_win
- true
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • libcpp
- • aarch64
- • sve
- • compiler
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-08-19T00:00:00.000Z
The libcpp initialization of its vectorized lexer (init_vectorized_lexer) incorrectly only checked for HWCAP2_SVE2. This caused issues on some virtual machines that advertise SVE2 support while disabling SVE, a nonsensical configuration that nonetheless occurs. Such systems would crash with an ‘Illegal instruction’ error upon lexing any input. This commit modifies the check to require both HWCAP_SVE and HWCAP2_SVE2, ensuring the vectorized lexer is only used when SVE is properly available, thereby fixing bootstrap issues on these misconfigured environments.