Landing: fe724b27ce6d

Project / Subsystem

gcc / aarch64

Date

2026-07-21

Author

Tamar Christina

Commit

fe724b27ce6dadb82d0a51b8232bca13405d7abc

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
aarch64
patch_id
commit_hash
fe724b27ce6dadb82d0a51b8232bca13405d7abc
source_type
github
headline
Fold WHILE_ULT to ptrue for AArch64 SVE.
tldr
Optimize ARM SVE loops by folding WHILE_ULT into ptrue.
author
Tamar Christina
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • aarch64
  • sve
  • optimization
  • vectorization
discussion_id_link
bugzilla_pr
date
2026-07-21T00:00:00.000Z

This optimization for AArch64 with Scalable Vector Extension (SVE) targets the WHILE_ULT instruction, commonly used in loop pre-headers. Due to architectural guarantees on minimum and maximum vector lengths, the predicate generated by WHILE_ULT is always an all-lanes-active predicate (ptrue). This change replaces WHILE_ULT with ptrue where applicable, reducing the overhead of entering loops and improving performance.