Landing: 690c6055daa8

Project / Subsystem

gcc / aarch64

Date

2026-01-09

Author

Artemiy Volkov

Commit

690c6055daa818629426d0f4dc6debd96ef20a36

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
aarch64
patch_id
commit_hash
690c6055daa818629426d0f4dc6debd96ef20a36
source_type
github
headline
AArch64: Add zeroing forms for predicated SVE integer unary operations
tldr
GCC now supports zeroing predication for SVE integer unary operations on AArch64, leveraging SVE2.2 and SME2.2 for optimized code generation.
author
Artemiy Volkov
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • aarch64
  • sve
  • sve2.2
  • sme2.2
  • code generation
discussion_id_link
bugzilla_pr
date
2026-01-09T00:00:00.000Z

This commit introduces support for zeroing predication in SVE integer unary operations (ABS, CLS, CLZ, CNT, CNOT, NEG, NOT, RBIT, SQABS, SQNEG, URECPE, URSRQTE) on AArch64 processors. Enabled by SVE2.2 and SME2.2, this change adds new alternatives to aarch64-sve.md and aarch64-sve2.md, emitting zeroing-predication forms when a const_vector of all zeroes acts as the merge operand. New tests have been added to validate the codegen for these zeroing variants.