Landing: 4446d3e1045b

Project / Subsystem

gcc / gcc/i386

Date

2026-05-20

Author

Jakub Jelinek

Commit

4446d3e1045bd3728f8e57ee4af85f7d1b190e4f

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
gcc/i386
patch_id
commit_hash
4446d3e1045bd3728f8e57ee4af85f7d1b190e4f
source_type
github
headline
I386: Use vpaddq + vpermilpd for some non-const permutations
tldr
The compiler now uses `vpaddq` and `vpermilpd` to implement certain vector permutations on x86, improving performance.
author
Jakub Jelinek
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • gcc
  • i386
  • avx
  • optimization
  • vectorization
discussion_id_link
bugzilla_pr
date
2026-05-20T00:00:00.000Z

GCC now uses vpaddq and vpermilpd instructions to implement non-constant permutations for V2DI and V2DF modes when targeting AVX-enabled x86. This change avoids more complex instruction sequences, resulting in faster code. New test cases have been added to verify the correctness of the new implementation.