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.