Landing: c96589414eeb
Project / Subsystem
gcc / i386
Date
2026-05-15
Author
Jakub Jelinek
Commit
c96589414eeb0e46d9fe9cc1d562e048230b5f67
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- i386
- patch_id
- —
- commit_hash
- c96589414eeb0e46d9fe9cc1d562e048230b5f67
- source_type
- github
- headline
- Fixes handling of IEEE min/max instructions on x86.
- tldr
- GCC's x86 backend now correctly handles IEEE min/max instructions, ensuring proper register usage and preventing incorrect code generation.
- author
- Jakub Jelinek
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • x86
- • code generation
- • floating point
- • bugfix
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-05-15T00:00:00.000Z
GCC’s x86 backend had an issue with the minmax<mode>3_4 pattern for IEEE min/max instructions, where the memory operand was incorrectly placed in the register operand position during splitting. This commit forces the relevant operand into a register to fix the issue, which prevents incorrect code generation. A new test case, gcc.target/i386/pr125308.c, validates this fix.