Landing: 2b7ddfb84111

Project / Subsystem

gcc / vect

Date

2026-09-24

Author

Tamar Christina

Commit

2b7ddfb841114b2783f0b3420fcb96e7687484d9

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
vect
patch_id
—
commit_hash
2b7ddfb841114b2783f0b3420fcb96e7687484d9
source_type
github
headline
Fix emulated vector costing in GCC's vectorizer
tldr
Corrects a bug in GCC's vectorizer that caused ICEs when emulating vector operations without SIMD support.
author
Tamar Christina
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • vectorization
  • • aarch64
  • • optimization
  • • bugfix
discussion_id_link
—
bugzilla_pr
—
date
2026-09-24T00:00:00.000Z

This commit resolves an internal compiler error (ICE) in GCC’s vectorizer related to emulated vector operations. When SIMD instructions are unavailable (e.g., with -mgeneral-regs), the vectorizer attempts to emulate them. A recent transition in the costing logic caused it to incorrectly use an old interface, leading to a null pointer dereference. This fix updates the costing code to use the correct SLP node, resolving the ICE and a related test case.