Landing: f2d10af76ed7

Project / Subsystem

gcc / aarch64

Date

2026-03-18

Author

Pengxuan Zheng

Commit

f2d10af76ed7735556d8f3dedce7090f663cd715

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
aarch64
patch_id
commit_hash
f2d10af76ed7735556d8f3dedce7090f663cd715
source_type
github
headline
AArch64 gains support for vectorizing long-to-float conversions.
tldr
The compiler can now vectorize conversions from long to float on AArch64, improving performance when converting arrays of integers to floating-point values.
author
Pengxuan Zheng
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • aarch64
  • vectorization
  • SIMD
  • optimization
discussion_id_link
bugzilla_pr
date
2026-03-18T00:00:00.000Z

This commit adds a new pattern, vec_packs_float_v2di, to the AArch64 backend, enabling the vectorizer to convert arrays of long integers to floating-point numbers using SIMD instructions. This can significantly improve the performance of code that performs many such conversions, as it allows the compiler to process multiple elements in parallel. A new test case gcc.target/aarch64/pr123748.c validates the new pattern.