Landing: 2354f269895f
Project / Subsystem
gcc / arm
Date
2026-07-29
Author
Richard Earnshaw
Commit
2354f269895fa66217946f17e116bd344ed1487b
Source
github
Perf win
Yes
Breaking
No
All attributes
- project
- gcc
- subsystem
- arm
- patch_id
- —
- commit_hash
- 2354f269895fa66217946f17e116bd344ed1487b
- source_type
- github
- headline
- arm: Handle Neon vec_dup from select of 128-bit vector
- tldr
- Improves Neon `vec_dup` handling for 128-bit vectors, allowing core registers as sources.
- author
- Richard Earnshaw
- outcome
- committed
- performance_win
- true
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • arm
- • neon
- • vectorization
- • optimization
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-07-29T00:00:00.000Z
This commit enhances the ARM Neon backend’s handling of vec_dup operations on 128-bit vectors. It allows core registers to be used as source operands without needing to copy the entire vector to VFP/SIMD registers. The implementation now efficiently extracts the required lane to the lower bits of a scratch core register, or uses the core register directly if no shift is needed, simplifying code generation and potentially improving performance.