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.