Landing: f296bb38423f

Project / Subsystem

gcc / i386

Date

2026-08-12

Author

Uros Bizjak

Commit

f296bb38423fb786f20d213f9f87bf2c7ce14b63

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
i386
patch_id
—
commit_hash
f296bb38423fb786f20d213f9f87bf2c7ce14b63
source_type
github
headline
i386: Relax register constraints for BT patterns
tldr
Allows more registers for bit test instructions on i386, potentially improving instruction scheduling.
author
Uros Bizjak
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • i386
  • • instruction selection
  • • optimization
discussion_id_link
—
bugzilla_pr
—
date
2026-08-12T00:00:00.000Z

This commit relaxes the register constraints for the bt (bit test) instruction patterns on the i386 architecture. By changing the constraint for the first operand from the more restrictive ‘q’ (general-purpose byte registers) to ‘r’ (any general-purpose register), the compiler can utilize a wider range of registers. This change aims to improve instruction scheduling flexibility and potentially performance.