Landing: b81218009e09

Project / Subsystem

gcc / x86_cse

Date

2026-04-29

Author

H.J. Lu

Commit

b81218009e091e92145a3fc54971fbbdb82d7298

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
x86_cse
patch_id
commit_hash
b81218009e091e92145a3fc54971fbbdb82d7298
source_type
github
headline
x86_cse: Convert CONST_VECTOR load to constant integer load
tldr
The x86 compiler can now convert constant vector loads into constant integer loads, improving code generation for certain operations.
author
H.J. Lu
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • x86
  • optimization
  • cse
  • vectorization
discussion_id_link
bugzilla_pr
date
2026-04-29T00:00:00.000Z

The x86 common subexpression elimination (CSE) pass can now convert CONST_VECTOR loads that are no larger than an integer register into constant integer loads. This optimization applies when loading a constant vector into an MMX or XMM register. Redundant constant integer loads are now kept, and the code generates zero CONST_VECTOR loads. This change can improve code generation for vector operations on x86 architectures.