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.