[PATCH 2/2] x86: fold F16C templates with their AVX512VL counterparts
Project / Subsystem
binutils / x86
Date
2026-07-17
Proposer
Jan Beulich <jbeulich@suse.com>
Source type
public_inbox
Consensus
Proposed
Sentiment
—/10
Technical tradeoffs
- • Consolidating templates simplifies the assembler's internal representation but requires careful handling of feature dependencies.
- • Ensuring that explicit feature disabling (`.no{fma,f16c}`) continues to work correctly with new AVX512VL instructions adds complexity but maintains backward compatibility and avoids silent breaking changes.
All attributes
- project
- binutils
- subsystem
- x86
- patch_id
- —
- discussion_id
- 1d918dc0-4b90-4093-b261-b91bdf372d39@suse.com
- source_type
- public_inbox
- title
- [PATCH 2/2] x86: fold F16C templates with their AVX512VL counterparts
- headline
- x86: fold F16C templates with their AVX512VL counterparts
- tldr
- Consolidates F16C instruction templates with AVX512VL counterparts and addresses issues with explicit feature disabling.
- proposer
- Jan Beulich <jbeulich@suse.com>
- consensus
- Proposed
- outcome
- proposed
- sentiment_score
- —
- technical_tradeoffs
-
- • Consolidating templates simplifies the assembler's internal representation but requires careful handling of feature dependencies.
- • Ensuring that explicit feature disabling (`.no{fma,f16c}`) continues to work correctly with new AVX512VL instructions adds complexity but maintains backward compatibility and avoids silent breaking changes.
- series_id
- binutils:x86: fold f16c templates with their avx512vl counterparts
- series_role
- reply
- series_parts
- []
- tags
-
- • binutils
- • x86
- • AVX
- • F16C
- • performance
- bugzilla_url
- —
- date
- 2026-07-17T00:00:00.000Z
[PATCH 2/2] x86: fold F16C templates with their AVX512VL counterparts
This patch folds F16C instruction templates with their AVX512VL counterparts, similar to how FMA instructions were handled previously. This consolidation is deemed conceptually straightforward. The changes also uncover and fix a flaw in FMA template handling where AVX512VL could be enabled even if FMA/F16C were explicitly disabled. A related issue is raised: code using .arch .no{fma,f16c} might assemble to AVX512VL EVEX forms when AVX512 support is added, breaking previous protection. The proposed solution is to reject AVX512VL forms if FMA/F16C are explicitly disabled.