Name Strings
SPV_INTEL_arbitrary_precision_floating_point
Contact
To report problems with this extension, please open a new issue at:
Contributors
-
Ajaykumar Kannan, Intel
-
Shuo Niu, Intel
-
Daniel Zhang, Intel
Notice
Copyright (c) 2023 Intel Corporation
Status
Supported
Version
Last Modified Date |
2023-03-29 |
Revision |
1 |
Dependencies
This extension is written against the SPIR-V Specification Version 1.6, Revision 2.
While this extension does not require SPV_INTEL_arbitrary_precision_integers, the new operators it adds are significantly more useful when that extension is supported as the combination of the two extensions allows for more freedom in the width of arbitrary precision floating point data types that can be represented.
Overview
This extension adds instructions for performing arbitrary precision floating point computations. Each arbitrary-precision floating point value is represented as an OpTypeInt as described below. This datatype and its corresponding operations can be useful on targets that can take advantage of narrower representation such as FPGAs.
The datatype can be characterized by two parameters:
-
E: the number of exponent bits
-
M: the number of mantissa bits
The total width of the OpTypeInt container is E+M+1
where the extra bit is used to represent the sign.
Note that the signedness capabilities of OpTypeInt are not used for any of the operations.
The data layout is shown below:
[ S (sign bit) ][ E (Exponent) ][ M (Mantissa) ]
^--MSB LSB--^
The width of the data (E+M+1)
is encoded with the width of the OpTypeInt.
The other parameters regarding the type (namely E
and M
) are encoded in the arguments of the operations.
Operation Controls
Each of the operations will also provide some control over the Rounding Mode and the Subnormal support.
Extension Name
To use this extension within a SPIR-V module, the following OpExtension must be present in the module:
OpExtension "SPV_INTEL_arbitrary_precision_floating_point"
New Capabilities
This extension introduces a new capability:
ArbitraryPrecisionFloatingPointINTEL
New Instructions
Instructions added under the ArbitraryPrecisionFloatingPointINTEL capability:
OpArbitraryFloatAddINTEL OpArbitraryFloatSubINTEL OpArbitraryFloatMulINTEL OpArbitraryFloatDivINTEL OpArbitraryFloatGTINTEL OpArbitraryFloatGEINTEL OpArbitraryFloatLTINTEL OpArbitraryFloatLEINTEL OpArbitraryFloatEQINTEL OpArbitraryFloatRecipINTEL OpArbitraryFloatRSqrtINTEL OpArbitraryFloatCbrtINTEL OpArbitraryFloatHypotINTEL OpArbitraryFloatSqrtINTEL OpArbitraryFloatLogINTEL OpArbitraryFloatLog2INTEL OpArbitraryFloatLog10INTEL OpArbitraryFloatLog1pINTEL OpArbitraryFloatExpINTEL OpArbitraryFloatExp2INTEL OpArbitraryFloatExp10INTEL OpArbitraryFloatExpm1INTEL OpArbitraryFloatSinINTEL OpArbitraryFloatCosINTEL OpArbitraryFloatSinCosINTEL OpArbitraryFloatSinPiINTEL OpArbitraryFloatCosPiINTEL OpArbitraryFloatSinCosPiINTEL OpArbitraryFloatASinINTEL OpArbitraryFloatASinPiINTEL OpArbitraryFloatACosINTEL OpArbitraryFloatACosPiINTEL OpArbitraryFloatATanINTEL OpArbitraryFloatATanPiINTEL OpArbitraryFloatATan2INTEL OpArbitraryFloatPowINTEL OpArbitraryFloatPowRINTEL OpArbitraryFloatPowNINTEL OpArbitraryFloatConvertINTEL OpArbitraryFloatConvertFromUIntINTEL OpArbitraryFloatConvertFromSIntINTEL OpArbitraryFloatConvertToUIntINTEL OpArbitraryFloatConvertToSIntINTEL
Token Number Assignments
|
5845 |
|
5846 |
|
5847 |
|
5848 |
|
5849 |
|
5850 |
|
5851 |
|
5852 |
|
5853 |
|
5854 |
|
5855 |
|
5856 |
|
5857 |
|
5858 |
|
5859 |
|
5860 |
|
5861 |
|
5862 |
|
5863 |
|
5864 |
|
5865 |
|
5866 |
|
5867 |
|
5868 |
|
5869 |
|
5870 |
|
5871 |
|
5872 |
|
5840 |
|
5873 |
|
5874 |
|
5875 |
|
5876 |
|
5877 |
|
5878 |
|
5879 |
|
5880 |
|
5881 |
|
5882 |
|
5841 |
|
5842 |
|
5838 |
|
5843 |
|
5839 |
Modifications to the SPIR-V Specification Version 1.6
After Section 3.16, add a new section "3.16a Subnormal Support" as follows:
Subnormal Support
Control whether subnormal support is enabled or not.
Value | Subnormal Support |
---|---|
0 |
Flush subnormal numbers to zero on inputs and outputs |
1 |
Enable support for operating on subnormal numbers |
After Section 3.16, add a new section "3.16d Rounding Accuracy" as follows:
Rounding Accuracy
Controls whether rounding operations can be relaxed to trade correctness for improved resource utilization.
Value | Mode | Behavior |
---|---|---|
0 |
CORRECT_INTEL |
Conform to the rounding mode specified by the instruction’s rounding mode operand. |
1 |
FAITHFUL_INTEL |
Allow some tolerance for error (within 1ULP of the infinitely precise result) for rounding. This mode is useful for devices that can trade CORRECT_INTEL rounding for improved resource utilization. |
Capability
Modify Section 3.31, Capability, adding a row to the Capability table:
Capability | Implicitly Declares | |
---|---|---|
5845 |
ArbitraryPrecisionFloatingPointINTEL Allows the use of various operations for arbitrary precision floating-point math |
Instructions
In Section 3.32.13, Arithmetic Instructions, add the following instructions:
OpArbitraryFloatAddINTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B and the result of Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult, Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result, A and B respectively. Note that the exponent values (Ea, Eb, Eresult) are inferred from the width of the OpTypeInt values used to represent their corresponding arguments (A, B, Result) Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||||
11 |
5846 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatSubINTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B and the result of Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult, Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result, A and B respectively. Note that the exponent values (Ea, Eb, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||||
11 |
5847 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatMulINTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B and the result of Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult, Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result, A and B respectively. Note that the exponent values (Ea, Eb, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||||
11 |
5848 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatDivINTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B and the result of Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult, Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result, A and B respectively. Note that the exponent values (Ea, Eb, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||||
11 |
5849 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatGTINTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B.
The two numbers are compared and a value of Result Type must be a Boolean type. Result is of type OpTypeBool. Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within A and B respectively. Note that the exponent values (Ea, Eb) are inferred from the width of the OpTypeInt. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||
7 |
5850 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
OpArbitraryFloatGEINTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B.
The two numbers are compared and a value of Result Type must be a Boolean type. Result is of type OpTypeBool. Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within A and B respectively. Note that the exponent values (Ea, Eb) are inferred from the width of the OpTypeInt. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||
7 |
5851 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
OpArbitraryFloatLTINTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B.
The two numbers are compared and a value of Result Type must be a Boolean type. Result is of type OpTypeBool. Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within A and B respectively. Note that the exponent values (Ea, Eb) are inferred from the width of the OpTypeInt. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||
7 |
5852 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
OpArbitraryFloatLEINTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B.
The two numbers are compared and a value of Result Type must be a Boolean type. Result is of type OpTypeBool. Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within A and B respectively. Note that the exponent values (Ea, Eb) are inferred from the width of the OpTypeInt. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||
7 |
5853 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
OpArbitraryFloatEQINTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B.
The two numbers are compared and a value of Result Type must be a Boolean type. Result is of type OpTypeBool. Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within A and B respectively. Note that the exponent values (Ea, Eb) are inferred from the width of the OpTypeInt. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||
7 |
5854 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
OpArbitraryFloatRecipINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the reciprocal of the value is returned in Result. Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5855 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatRSqrtINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the reciprocal of the square root of the value is returned in Result. Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5856 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatCbrtINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the cube root of the value is returned in Result. Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5857 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatHypotINTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B and the hypotenuse, sqrt(A^2 + B^2), is returned in Result. Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult, Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result, A and B respectively. Note that the exponent values (Ea, Eb, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||||
11 |
5858 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatSqrtINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the square root of the value is returned in Result. Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5859 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatLogINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5860 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatLog2INTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5861 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatLog10INTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5862 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatLog1pINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5863 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatExpINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5864 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatExp2INTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5865 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatExp10INTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5866 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatExpm1INTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5867 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatSinINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the sine of the value is returned in Result. Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5868 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatCosINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the cosine of the value is returned in Result. Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5869 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatSinCosINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the sine and cosine of the value is returned in Result. Result Type must be a two-component vector of OpTypeInt. The first component of the Result contains the sine of A and is an arbitrary precision floating point number. The second component of the Result contains the cosine of A and is also an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5870 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatSinPiINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5871 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatCosPiINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5872 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatSinCosPiINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the sine and cosine of Result Type must be a two-component vector of OpTypeInt. The first component of the Result contains the sine of A and is an arbitrary precision floating point number. The second component of the Result contains the cosine of A and is also an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5840 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatASinINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5873 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatASinPiINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5874 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatACosINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5875 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatACosPiINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5876 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatATanINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5877 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatATanPiINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||
9 |
5878 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatATan2INTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B and the Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult, Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result, A and B respectively. Note that the exponent values (Ea, Eb, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||||
11 |
5879 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatPowINTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B and the value of Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult, Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result, A and B respectively. Note that the exponent values (Ea, Eb, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||||
11 |
5880 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatPowRINTEL Two OpTypeInt values representing two arbitrary precision floating point numbers are passed in as A and B.
The value of Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult, Ma and Mb are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result, A and B respectively. Note that the exponent values (Ea, Eb, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||||
11 |
5881 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal Mb |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatPowNINTEL Two OpTypeInt values representing an arbitrary precision floating point number and an arbitrary precision integer number of signedness SignOfB are passed in as A and B respectively.
The value of Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. SignOfB specifies whether B is signed or unsigned. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. It is ignored if the Accuracy operand is set to "FAITHFUL_INTEL". Accuracy is a RoundingAccuracy chosen from Table 3.16d that controls the rounding accuracy of the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
||||||||||
11 |
5882 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
B <id> |
Literal SignOfB |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
RoundingAccuracy Accuracy |
OpArbitraryFloatConvertINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A. It is type converted into an arbitrary precision floating point number with the new specification (Eresult, Mresult) and returned as Result. Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult and Ma are 32-bit unsigned integers that define the mantissa widths of the floating point types within Result and A respectively. Note that the exponent values (Ea, Eresult) are inferred from the width of the OpTypeInt. Subnormal is a SubnormalMode chosen from Table 3.16a that specifies whether subnormal numbers should be supported or flushed to zero before and after the operation. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
|||||||
8 |
5841 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
Literal Mresult |
SubnormalMode Subnormal |
RoundingMode Rounding |
OpArbitraryFloatConvertFromUIntINTEL An OpTypeInt representing an unsigned integer passed in as A. It is type converted into an arbitrary precision floating point number with the specification (Eresult, Mresult). The result of the convert operation is returned in Result. Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult is a 32-bit unsigned integer that defines the mantissa width of the floating point value in Result. Note that the exponent value (Eresult) is inferred from the width of the OpTypeInt. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
|||||
6 |
5842 |
<id> Result Type |
Result <id> |
A <id> |
Literal Mresult |
RoundingMode Rounding |
OpArbitraryFloatConvertFromSIntINTEL An OpTypeInt representing a signed integer passed in as A. It is type converted into an arbitrary precision floating point number with the new specification (Eresult, Mresult). The result of the convert operation is returned in Result. Result Type must be OpTypeInt. Result is the <id> of the operation’s result, which is an arbitrary precision floating point number. Mresult is a 32-bit unsigned integer that defines the mantissa width of the floating point value in Result. Note that the exponent value (Eresult) is inferred from the width of the OpTypeInt. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
|||||
6 |
5838 |
<id> Result Type |
Result <id> |
A <id> |
Literal Mresult |
RoundingMode Rounding |
OpArbitraryFloatConvertToUIntINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A. It is type converted into an unsigned integer and returned as Result. Result Type must be OpTypeInt, whose Signedness operand is 0. Behaviour is undefined if Result Type is not wide enough to hold the converted value. Result is the <id> of the operation’s result, which is an arbitrary precision integer. Ma is a 32-bit unsigned integer that defines the mantissa width of the floating point value in A. Note that the exponent value (Ea) is inferred from the width of the OpTypeInt. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
|||||
6 |
5843 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
RoundingMode Rounding |
OpArbitraryFloatConvertToSIntINTEL An OpTypeInt representing an arbitrary precision floating point number is passed in as A. It is type converted into a signed integer and returned as Result. Result Type must be OpTypeInt. Behaviour is undefined if Result Type is not wide enough to hold the converted value. Result is the <id> of the operation’s result, which is an arbitrary precision integer. Ma is a 32-bit unsigned integer that defines the mantissa width of the floating point value in A. Note that the exponent value (Ea) is inferred from the width of the OpTypeInt. Rounding is a RoundingMode chosen from Table 3.16 that controls the rounding mode for the result. |
Capability: ArbitraryPrecisionFloatingPointINTEL |
|||||
6 |
5839 |
<id> Result Type |
Result <id> |
A <id> |
Literal Ma |
RoundingMode Rounding |
Validation Rules
-
Any
M*
literal argument to any instruction added in this extension can’t exceed the width of its corresponding OpTypeInt argument minus 1
Issues
None.
Revision History
Rev | Date | Author | Changes |
---|---|---|---|
1 |
2023-03-29 |
Ajaykumar Kannan |
Initial Public Release |