Landing: 19fbd361c496
Project / Subsystem
gcc / x86
Date
2026-08-25
Author
Matthias Kretz
Commit
19fbd361c496ffc75cb20e9245031a506d4f0d9a
Source
github
Perf win
Yes
Breaking
No
All attributes
- project
- gcc
- subsystem
- x86
- patch_id
- —
- commit_hash
- 19fbd361c496ffc75cb20e9245031a506d4f0d9a
- source_type
- github
- headline
- Vectorize floor/ceil/trunc also with trapping-math
- tldr
- Enabled vectorization of floor, ceil, and trunc operations even when trapping-math is enabled.
- author
- Matthias Kretz
- outcome
- committed
- performance_win
- true
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • x86
- • vectorization
- • floating-point
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-08-25T00:00:00.000Z
Previously, vectorized floor, ceil, and trunc instructions on x86 were disabled when the flag_trapping_math option was active. This commit removes that restriction, allowing the use of packed vector instructions (e.g., vroundps) which are compliant with ISO 60559 standards regarding exceptions for NaN inputs. The scalar ‘round’ function still requires flag_trapping_math to be disabled due to its use of a floating-point add operation.