Landing: 80b78b2504fb

Project / Subsystem

gcc / aarch64

Date

2026-06-04

Author

Artemiy Volkov

Commit

80b78b2504fba037c4edf7172712210b323dcf32

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
aarch64
patch_id
commit_hash
80b78b2504fba037c4edf7172712210b323dcf32
source_type
github
headline
Define duplication into sub-64-bit AdvSIMD vectors
tldr
GCC now supports duplicating elements into smaller Advanced SIMD vectors on AArch64, fixing an internal compiler error.
author
Artemiy Volkov
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • aarch64
  • simd
  • vectorization
  • bugfix
discussion_id_link
bugzilla_pr
date
2026-06-04T00:00:00.000Z

This commit introduces new instruction patterns to the AArch64 backend, enabling the definition of duplication operations into sub-64-bit Advanced SIMD (AdvSIMD) vectors. This resolves an Internal Compiler Error (ICE) that occurred when attempting to generate vec_duplicate expressions for smaller vector types during vector initialization fallbacks. By explicitly defining these patterns, GCC can now correctly handle vector splat operations for 16-bit and 32-bit destinations, improving the robustness of vector code generation on AArch64.