Landing: a7a008375aaa

Project / Subsystem

gcc / i386

Date

2026-08-10

Author

Uros Bizjak

Commit

a7a008375aaacb658bca0b57157366778a369ddf

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
i386
patch_id
—
commit_hash
a7a008375aaacb658bca0b57157366778a369ddf
source_type
github
headline
i386: Split MOVBE alternatives out of *bswaphi2_movbe to drop flags clobber
tldr
Improves i386 code generation by splitting MOVBE instructions to avoid unnecessary flag clobbering.
author
Uros Bizjak
outcome
committed
performance_win
true
breaking_change
false
series_id
—
series_parts
[]
tags
  • • i386
  • • optimization
  • • codegen
discussion_id_link
—
bugzilla_pr
—
date
2026-08-10T00:00:00.000Z

This change refactors the i386 backend to separate MOVBE instruction alternatives from the *bswaphi2_movbe pattern. The MOVBE instruction does not affect the EFLAGS register, but the original pattern included a flags clobber that was only needed by other alternatives. By splitting the MOVBE cases into a new *movbehi2 pattern, this unnecessary clobber is removed, leading to cleaner and potentially more efficient machine code.