Name Strings
SPV_INTEL_fpga_reg
Contact
To report problems with this extension, please open a new issue at:
Contributors
-
Joe Garvey, Intel
-
Michael Kinsner, Intel
Notice
Copyright (c) 2019 Intel Corporation. All rights reserved.
Status
Final draft
Version
Last Modified Date |
2019-07-12 |
Revision |
1 |
Dependencies
This extension is written against the SPIR-V Specification, Version 1.4 Revision 1.
This extension requires SPIR-V 1.0.
Overview
This extension adds an instruction which explicitly requests that a pipelining register be introduced at a particular point in a program (on a specific assignment). The instruction is useful for FPGA targets, to separate regions of the program that are expected to end up in geographically distant regions of a device. This instruction is purely an optimization hint, and is functionally equivalent to an assignment.
Extension Name
To use this extension within a SPIR-V module, the following OpExtension must be present in the module:
OpExtension "SPV_INTEL_fpga_reg"
New capabilities
This extension introduces a new capability:
FPGARegINTEL
New Instructions
Instructions added under the FPGARegINTEL capability:
OpFPGARegINTEL
Token Number Assignments
FPGARegINTEL |
5948 |
OpFPGARegINTEL |
5949 |
Modifications to the SPIR-V Specification, Version 1.4
Capability
Modify Section 3.31, Capability, adding a row to the Capability table:
Capability | Implicitly Declares | |
---|---|---|
5948 |
FPGARegINTEL |
Instructions
In section 3.32.1, Miscellaneous Instructions, add a new instruction, OpFPGARegINTEL, as follows:
OpFPGARegINTEL Used to indicate to FPGA backends that pipelining registers should be inserted between the definition of Input and uses of Result. The value passed in as Input is returned in Result. This instruction is strictly an optimization hint and thus it would be functionally correct for a consumer to treat it as an assignment. Result Type can be any type and is the type of both Result and Input. |
Capability: FPGARegINTEL |
|||
4 |
5949 |
<id> |
Result <id> |
Input <id> |
Validation Rules
None.
Issues
None.
Revision History
Rev | Date | Author | Changes |
---|---|---|---|
1 |
2019-07-12 |
Joe Garvey |
Initial public release |