Name Strings
SPV_INTEL_rounded_divide_sqrt
Contact
To report problems with this extension, please open a new issue at:
Contributors
-
Ben Ashbaugh, Intel
-
Greg Lueck, Intel
-
Piotr Kanclerz, Intel
Notice
Copyright (c) 2026 Intel Corporation. All rights reserved.
Status
-
Complete
Version
Last Modified Date |
2026-04-20 |
Revision |
1 |
Dependencies
This extension is written against the SPIR-V Specification, Version 1.6 Revision 7.
This extension requires SPIR-V 1.0.
Overview
This extension adds a new SPIR-V capability to allow floating-point divide and square root instructions to be decorated with an optional FPRoundingMode decoration. When an FPRoundingMode decoration is applied to a divide or square root instruction, it indicates that the result of the instruction will be correctly rounded using the specified rounding mode.
Extension Name
To use this extension within a SPIR-V module, the following OpExtension must be present in the module:
OpExtension "SPV_INTEL_rounded_divide_sqrt"
Modifications to the SPIR-V Specification, Version 1.6
Validation Rules
Modify Section 2.16.2, "Validation Rules for Shader Capabilities", adding to the conditions where the FPRoundingMode decoration is valid:
-
The FPRoundingMode decoration must be applied only to […], or to instructions enabled by the RoundedDivideSqrtINTEL capability.
Capabilities
Modify Section 3.2.30, "Capability", adding these rows to the Capability table:
| Capability | Implicitly Declares | |
|---|---|---|
6265 |
RoundedDivideSqrtINTEL When an FPRoundingMode decoration is applied to these instructions, it indicates that the result of the instruction will be correctly rounded using the specified rounding mode. |
|
Issues
-
How many capabilities do we need? Do we need different capabilities for different instructions? Do we need different capabilities for different floating-point types?
RESOLVED: We will have a single capability for both divide and square root. This single capability applies to all floating-point types using IEEE 754 encodings, so it will work for 16-bit
half, 32-bitfloat, and 64-bitdouble.This extension does not currently support rounding modes on floating-point types with non-IEEE 754 encodings, such as
bfloat16. -
Should this extension support Shader SPIR-V?
RESOLVED: There is nothing in this extension that would prohibit usage in Shader SPIR-V.
Revision History
| Rev | Date | Author | Changes |
|---|---|---|---|
1 |
2026-04-20 |
Ben Ashbaugh |
Initial revision for publication |