Landing: ddacdb8b37ce

Project / Subsystem

gcc / gcc

Date

2026-06-08

Author

Richard Sandiford

Commit

ddacdb8b37ce268cac26e594e8f84b530b4f85b4

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
gcc
patch_id
commit_hash
ddacdb8b37ce268cac26e594e8f84b530b4f85b4
source_type
github
headline
Simplifies vec_duplicates of vec_duplicates
tldr
This commit simplifies nested `vec_duplicate` operations in GCC's RTL, folding them into a single `vec_duplicate` to improve optimization.
author
Richard Sandiford
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • optimization
  • rtl
  • aarch64
discussion_id_link
bugzilla_pr
date
2026-06-08T00:00:00.000Z

GCC’s RTL simplifier now optimizes expressions that involve duplicating replicated vectors. Previously, a vec_duplicate of another vec_duplicate could occur unnecessarily. This change modifies simplify_context::simplify_unary_operation_1 to detect and fold these nested operations into a single vec_duplicate, improving the efficiency of the intermediate representation and potentially affecting downstream optimizations. This was primarily observed and fixed in AArch64 SVE specific patterns.