aboutsummaryrefslogtreecommitdiff
path: root/include/spirv
diff options
context:
space:
mode:
authorRaun Krisch <raun.krisch@gmail.com>2021-06-09 09:31:41 -0700
committerGitHub <noreply@github.com>2021-06-09 09:31:41 -0700
commit7bfb1b532960c92b4d542c10d4e623c0766b787a (patch)
tree4e5c74005ae4f023560c687e0b13d58607f5c451 /include/spirv
parentf836486eb164603f3c8cc7c272f4d3b953d6aa25 (diff)
parent8ea6700d31a55b669cbdc8c8774b0b05a685bcb3 (diff)
downloadSPIRV-Headers-7bfb1b532960c92b4d542c10d4e623c0766b787a.tar.gz
Merge pull request #177 from MrSidims/private/MrSidims/AP
Upstream ac_fixed and hls_float Intel extensions
Diffstat (limited to 'include/spirv')
-rw-r--r--include/spirv/unified1/spirv.core.grammar.json992
-rw-r--r--include/spirv/unified1/spirv.cs98
-rw-r--r--include/spirv/unified1/spirv.h150
-rw-r--r--include/spirv/unified1/spirv.hpp150
-rw-r--r--include/spirv/unified1/spirv.hpp11150
-rw-r--r--include/spirv/unified1/spirv.json116
-rw-r--r--include/spirv/unified1/spirv.lua92
-rw-r--r--include/spirv/unified1/spirv.py92
-rw-r--r--include/spirv/unified1/spv.d98
9 files changed, 1840 insertions, 98 deletions
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index 3d471d5..86d2b9d 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -6840,6 +6840,728 @@
"version" : "None"
},
{
+ "opname" : "OpArbitraryFloatSinCosPiINTEL",
+ "class" : "@exclude",
+ "opcode" : 5840,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'FromSign'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatCastINTEL",
+ "class" : "@exclude",
+ "opcode" : 5841,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatCastFromIntINTEL",
+ "class" : "@exclude",
+ "opcode" : 5842,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'FromSign'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatCastToIntINTEL",
+ "class" : "@exclude",
+ "opcode" : 5843,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatAddINTEL",
+ "class" : "@exclude",
+ "opcode" : 5846,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatSubINTEL",
+ "class" : "@exclude",
+ "opcode" : 5847,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatMulINTEL",
+ "class" : "@exclude",
+ "opcode" : 5848,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatDivINTEL",
+ "class" : "@exclude",
+ "opcode" : 5849,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatGTINTEL",
+ "class" : "@exclude",
+ "opcode" : 5850,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatGEINTEL",
+ "class" : "@exclude",
+ "opcode" : 5851,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatLTINTEL",
+ "class" : "@exclude",
+ "opcode" : 5852,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatLEINTEL",
+ "class" : "@exclude",
+ "opcode" : 5853,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatEQINTEL",
+ "class" : "@exclude",
+ "opcode" : 5854,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatRecipINTEL",
+ "class" : "@exclude",
+ "opcode" : 5855,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatRSqrtINTEL",
+ "class" : "@exclude",
+ "opcode" : 5856,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatCbrtINTEL",
+ "class" : "@exclude",
+ "opcode" : 5857,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatHypotINTEL",
+ "class" : "@exclude",
+ "opcode" : 5858,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatSqrtINTEL",
+ "class" : "@exclude",
+ "opcode" : 5859,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatLogINTEL",
+ "class" : "@exclude",
+ "opcode" : 5860,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatLog2INTEL",
+ "class" : "@exclude",
+ "opcode" : 5861,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatLog10INTEL",
+ "class" : "@exclude",
+ "opcode" : 5862,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatLog1pINTEL",
+ "class" : "@exclude",
+ "opcode" : 5863,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatExpINTEL",
+ "class" : "@exclude",
+ "opcode" : 5864,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatExp2INTEL",
+ "class" : "@exclude",
+ "opcode" : 5865,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatExp10INTEL",
+ "class" : "@exclude",
+ "opcode" : 5866,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatExpm1INTEL",
+ "class" : "@exclude",
+ "opcode" : 5867,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatSinINTEL",
+ "class" : "@exclude",
+ "opcode" : 5868,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatCosINTEL",
+ "class" : "@exclude",
+ "opcode" : 5869,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatSinCosINTEL",
+ "class" : "@exclude",
+ "opcode" : 5870,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatSinPiINTEL",
+ "class" : "@exclude",
+ "opcode" : 5871,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatCosPiINTEL",
+ "class" : "@exclude",
+ "opcode" : 5872,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatASinINTEL",
+ "class" : "@exclude",
+ "opcode" : 5873,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatASinPiINTEL",
+ "class" : "@exclude",
+ "opcode" : 5874,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatACosINTEL",
+ "class" : "@exclude",
+ "opcode" : 5875,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatACosPiINTEL",
+ "class" : "@exclude",
+ "opcode" : 5876,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatATanINTEL",
+ "class" : "@exclude",
+ "opcode" : 5877,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatATanPiINTEL",
+ "class" : "@exclude",
+ "opcode" : 5878,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatATan2INTEL",
+ "class" : "@exclude",
+ "opcode" : 5879,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatPowINTEL",
+ "class" : "@exclude",
+ "opcode" : 5880,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatPowRINTEL",
+ "class" : "@exclude",
+ "opcode" : 5881,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'M2'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatPowNINTEL",
+ "class" : "@exclude",
+ "opcode" : 5882,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpArbitraryFloatPowNINTEL",
+ "class" : "@exclude",
+ "opcode" : 5882,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "LiteralInteger", "name" : "'M1'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "LiteralInteger", "name" : "'Mout'" },
+ { "kind" : "LiteralInteger", "name" : "'EnableSubnormals'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingMode'" },
+ { "kind" : "LiteralInteger", "name" : "'RoundingAccuracy'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFloatingPointINTEL" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpLoopControlINTEL",
"class" : "Reserved",
"opcode" : 5887,
@@ -6875,6 +7597,204 @@
"version" : "None"
},
{
+ "opname" : "OpFixedSqrtINTEL",
+ "class" : "@exclude",
+ "opcode" : 5923,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Input Type'" },
+ { "kind" : "IdRef", "name" : "'Input'" },
+ { "kind" : "LiteralInteger", "name" : "'S'" },
+ { "kind" : "LiteralInteger", "name" : "'I'" },
+ { "kind" : "LiteralInteger", "name" : "'rI'" },
+ { "kind" : "LiteralInteger", "name" : "'Q'" },
+ { "kind" : "LiteralInteger", "name" : "'O'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFixedRecipINTEL",
+ "class" : "@exclude",
+ "opcode" : 5924,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Input Type'" },
+ { "kind" : "IdRef", "name" : "'Input'" },
+ { "kind" : "LiteralInteger", "name" : "'S'" },
+ { "kind" : "LiteralInteger", "name" : "'I'" },
+ { "kind" : "LiteralInteger", "name" : "'rI'" },
+ { "kind" : "LiteralInteger", "name" : "'Q'" },
+ { "kind" : "LiteralInteger", "name" : "'O'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFixedRsqrtINTEL",
+ "class" : "@exclude",
+ "opcode" : 5925,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Input Type'" },
+ { "kind" : "IdRef", "name" : "'Input'" },
+ { "kind" : "LiteralInteger", "name" : "'S'" },
+ { "kind" : "LiteralInteger", "name" : "'I'" },
+ { "kind" : "LiteralInteger", "name" : "'rI'" },
+ { "kind" : "LiteralInteger", "name" : "'Q'" },
+ { "kind" : "LiteralInteger", "name" : "'O'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFixedSinINTEL",
+ "class" : "@exclude",
+ "opcode" : 5926,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Input Type'" },
+ { "kind" : "IdRef", "name" : "'Input'" },
+ { "kind" : "LiteralInteger", "name" : "'S'" },
+ { "kind" : "LiteralInteger", "name" : "'I'" },
+ { "kind" : "LiteralInteger", "name" : "'rI'" },
+ { "kind" : "LiteralInteger", "name" : "'Q'" },
+ { "kind" : "LiteralInteger", "name" : "'O'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFixedCosINTEL",
+ "class" : "@exclude",
+ "opcode" : 5927,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Input Type'" },
+ { "kind" : "IdRef", "name" : "'Input'" },
+ { "kind" : "LiteralInteger", "name" : "'S'" },
+ { "kind" : "LiteralInteger", "name" : "'I'" },
+ { "kind" : "LiteralInteger", "name" : "'rI'" },
+ { "kind" : "LiteralInteger", "name" : "'Q'" },
+ { "kind" : "LiteralInteger", "name" : "'O'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFixedSinCosINTEL",
+ "class" : "@exclude",
+ "opcode" : 5928,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Input Type'" },
+ { "kind" : "IdRef", "name" : "'Input'" },
+ { "kind" : "LiteralInteger", "name" : "'S'" },
+ { "kind" : "LiteralInteger", "name" : "'I'" },
+ { "kind" : "LiteralInteger", "name" : "'rI'" },
+ { "kind" : "LiteralInteger", "name" : "'Q'" },
+ { "kind" : "LiteralInteger", "name" : "'O'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFixedSinPiINTEL",
+ "class" : "@exclude",
+ "opcode" : 5929,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Input Type'" },
+ { "kind" : "IdRef", "name" : "'Input'" },
+ { "kind" : "LiteralInteger", "name" : "'S'" },
+ { "kind" : "LiteralInteger", "name" : "'I'" },
+ { "kind" : "LiteralInteger", "name" : "'rI'" },
+ { "kind" : "LiteralInteger", "name" : "'Q'" },
+ { "kind" : "LiteralInteger", "name" : "'O'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFixedCosPiINTEL",
+ "class" : "@exclude",
+ "opcode" : 5930,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Input Type'" },
+ { "kind" : "IdRef", "name" : "'Input'" },
+ { "kind" : "LiteralInteger", "name" : "'S'" },
+ { "kind" : "LiteralInteger", "name" : "'I'" },
+ { "kind" : "LiteralInteger", "name" : "'rI'" },
+ { "kind" : "LiteralInteger", "name" : "'Q'" },
+ { "kind" : "LiteralInteger", "name" : "'O'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFixedSinCosPiINTEL",
+ "class" : "@exclude",
+ "opcode" : 5931,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Input Type'" },
+ { "kind" : "IdRef", "name" : "'Input'" },
+ { "kind" : "LiteralInteger", "name" : "'S'" },
+ { "kind" : "LiteralInteger", "name" : "'I'" },
+ { "kind" : "LiteralInteger", "name" : "'rI'" },
+ { "kind" : "LiteralInteger", "name" : "'Q'" },
+ { "kind" : "LiteralInteger", "name" : "'O'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFixedLogINTEL",
+ "class" : "@exclude",
+ "opcode" : 5932,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Input Type'" },
+ { "kind" : "IdRef", "name" : "'Input'" },
+ { "kind" : "LiteralInteger", "name" : "'S'" },
+ { "kind" : "LiteralInteger", "name" : "'I'" },
+ { "kind" : "LiteralInteger", "name" : "'rI'" },
+ { "kind" : "LiteralInteger", "name" : "'Q'" },
+ { "kind" : "LiteralInteger", "name" : "'O'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFixedExpINTEL",
+ "class" : "@exclude",
+ "opcode" : 5933,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Input Type'" },
+ { "kind" : "IdRef", "name" : "'Input'" },
+ { "kind" : "LiteralInteger", "name" : "'S'" },
+ { "kind" : "LiteralInteger", "name" : "'I'" },
+ { "kind" : "LiteralInteger", "name" : "'rI'" },
+ { "kind" : "LiteralInteger", "name" : "'Q'" },
+ { "kind" : "LiteralInteger", "name" : "'O'" }
+ ],
+ "capabilities" : [ "ArbitraryPrecisionFixedPointINTEL" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpReadPipeBlockingINTEL",
"class" : "Pipe",
"opcode" : 5946,
@@ -9406,6 +10326,44 @@
"value" : 1,
"capabilities" : [ "FunctionFloatControlINTEL" ],
"version" : "None"
+ }
+ ]
+ },
+ {
+ "category" : "ValueEnum",
+ "kind" : "QuantizationModes",
+ "enumerants" : [
+ {
+ "enumerant" : "TRN",
+ "value" : 0
+ },
+ {
+ "enumerant" : "TRN_ZERO",
+ "value" : 1
+ },
+ {
+ "enumerant" : "RND",
+ "value" : 2
+ },
+ {
+ "enumerant" : "RND_ZERO",
+ "value" : 3
+ },
+ {
+ "enumerant" : "RND_INF",
+ "value" : 4
+ },
+ {
+ "enumerant" : "RND_MIN_INF",
+ "value" : 5
+ },
+ {
+ "enumerant" : "RND_CONV",
+ "value" : 6
+ },
+ {
+ "enumerant" : "RND_CONV_ODD",
+ "value" : 7
}
]
},
@@ -9429,6 +10387,28 @@
},
{
"category" : "ValueEnum",
+ "kind" : "OverflowModes",
+ "enumerants" : [
+ {
+ "enumerant" : "WRAP",
+ "value" : 0
+ },
+ {
+ "enumerant" : "SAT",
+ "value" : 1
+ },
+ {
+ "enumerant" : "SAT_ZERO",
+ "value" : 2
+ },
+ {
+ "enumerant" : "SAT_SYM",
+ "value" : 3
+ }
+ ]
+ },
+ {
+ "category" : "ValueEnum",
"kind" : "LinkageType",
"enumerants" : [
{
@@ -12215,6 +13195,12 @@
"version" : "None"
},
{
+ "enumerant" : "ArbitraryPrecisionFloatingPointINTEL",
+ "value" : 5845,
+ "extensions" : [ "SPV_INTEL_arbitrary_precision_floating_point" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "UnstructuredLoopControlsINTEL",
"value" : 5886,
"extensions" : [ "SPV_INTEL_unstructured_loop_controls" ],
@@ -12275,6 +13261,12 @@
"version" : "None"
},
{
+ "enumerant" : "ArbitraryPrecisionFixedPointINTEL",
+ "value" : 5922,
+ "extensions" : [ "SPV_INTEL_arbitrary_precision_fixed_point" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "BlockingPipesINTEL",
"value" : 5945,
"extensions" : [ "SPV_INTEL_blocking_pipes" ],
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index a90996c..469ad95 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -403,6 +403,38 @@ namespace Spv
RTN = 3,
}
+ public enum FPDenormMode
+ {
+ Preserve = 0,
+ FlushToZero = 1,
+ }
+
+ public enum FPOperationMode
+ {
+ IEEE = 0,
+ ALT = 1,
+ }
+
+ public enum QuantizationModes
+ {
+ TRN = 0,
+ TRN_ZERO = 1,
+ RND = 2,
+ RND_ZERO = 3,
+ RND_INF = 4,
+ RND_MIN_INF = 5,
+ RND_CONV = 6,
+ RND_CONV_ODD = 7,
+ }
+
+ public enum OverflowModes
+ {
+ WRAP = 0,
+ SAT = 1,
+ SAT_ZERO = 2,
+ SAT_SYM = 3,
+ }
+
public enum LinkageType
{
Export = 0,
@@ -1029,6 +1061,7 @@ namespace Spv
FPGAMemoryAttributesINTEL = 5824,
FPFastMathModeINTEL = 5837,
ArbitraryPrecisionIntegersINTEL = 5844,
+ ArbitraryPrecisionFloatingPointINTEL = 5845,
UnstructuredLoopControlsINTEL = 5886,
FPGALoopControlsINTEL = 5888,
KernelAttributesINTEL = 5892,
@@ -1037,6 +1070,7 @@ namespace Spv
FPGAClusterAttributesINTEL = 5904,
LoopFuseINTEL = 5906,
FPGABufferLocationINTEL = 5920,
+ ArbitraryPrecisionFixedPointINTEL = 5922,
USMStorageClassesINTEL = 5935,
IOPipesINTEL = 5943,
BlockingPipesINTEL = 5945,
@@ -1111,18 +1145,6 @@ namespace Spv
Horizontal4Pixels = 0x00000008,
}
- public enum FPDenormMode
- {
- Preserve = 0,
- FlushToZero = 1,
- }
-
- public enum FPOperationMode
- {
- IEEE = 0,
- ALT = 1,
- }
-
public enum Op
{
OpNop = 0,
@@ -1677,7 +1699,59 @@ namespace Spv
OpVariableLengthArrayINTEL = 5818,
OpSaveMemoryINTEL = 5819,
OpRestoreMemoryINTEL = 5820,
+ OpArbitraryFloatSinCosPiINTEL = 5840,
+ OpArbitraryFloatCastINTEL = 5841,
+ OpArbitraryFloatCastFromIntINTEL = 5842,
+ OpArbitraryFloatCastToIntINTEL = 5843,
+ OpArbitraryFloatAddINTEL = 5846,
+ OpArbitraryFloatSubINTEL = 5847,
+ OpArbitraryFloatMulINTEL = 5848,
+ OpArbitraryFloatDivINTEL = 5849,
+ OpArbitraryFloatGTINTEL = 5850,
+ OpArbitraryFloatGEINTEL = 5851,
+ OpArbitraryFloatLTINTEL = 5852,
+ OpArbitraryFloatLEINTEL = 5853,
+ OpArbitraryFloatEQINTEL = 5854,
+ OpArbitraryFloatRecipINTEL = 5855,
+ OpArbitraryFloatRSqrtINTEL = 5856,
+ OpArbitraryFloatCbrtINTEL = 5857,
+ OpArbitraryFloatHypotINTEL = 5858,
+ OpArbitraryFloatSqrtINTEL = 5859,
+ OpArbitraryFloatLogINTEL = 5860,
+ OpArbitraryFloatLog2INTEL = 5861,
+ OpArbitraryFloatLog10INTEL = 5862,
+ OpArbitraryFloatLog1pINTEL = 5863,
+ OpArbitraryFloatExpINTEL = 5864,
+ OpArbitraryFloatExp2INTEL = 5865,
+ OpArbitraryFloatExp10INTEL = 5866,
+ OpArbitraryFloatExpm1INTEL = 5867,
+ OpArbitraryFloatSinINTEL = 5868,
+ OpArbitraryFloatCosINTEL = 5869,
+ OpArbitraryFloatSinCosINTEL = 5870,
+ OpArbitraryFloatSinPiINTEL = 5871,
+ OpArbitraryFloatCosPiINTEL = 5872,
+ OpArbitraryFloatASinINTEL = 5873,
+ OpArbitraryFloatASinPiINTEL = 5874,
+ OpArbitraryFloatACosINTEL = 5875,
+ OpArbitraryFloatACosPiINTEL = 5876,
+ OpArbitraryFloatATanINTEL = 5877,
+ OpArbitraryFloatATanPiINTEL = 5878,
+ OpArbitraryFloatATan2INTEL = 5879,
+ OpArbitraryFloatPowINTEL = 5880,
+ OpArbitraryFloatPowRINTEL = 5881,
+ OpArbitraryFloatPowNINTEL = 5882,
OpLoopControlINTEL = 5887,
+ OpFixedSqrtINTEL = 5923,
+ OpFixedRecipINTEL = 5924,
+ OpFixedRsqrtINTEL = 5925,
+ OpFixedSinINTEL = 5926,
+ OpFixedCosINTEL = 5927,
+ OpFixedSinCosINTEL = 5928,
+ OpFixedSinPiINTEL = 5929,
+ OpFixedCosPiINTEL = 5930,
+ OpFixedSinCosPiINTEL = 5931,
+ OpFixedLogINTEL = 5932,
+ OpFixedExpINTEL = 5933,
OpPtrCastToCrossWorkgroupINTEL = 5934,
OpCrossWorkgroupCastToPtrINTEL = 5938,
OpReadPipeBlockingINTEL = 5946,
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index 1bab0aa..dec3b8c 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -410,6 +410,38 @@ typedef enum SpvFPRoundingMode_ {
SpvFPRoundingModeMax = 0x7fffffff,
} SpvFPRoundingMode;
+typedef enum SpvFPDenormMode_ {
+ SpvFPDenormModePreserve = 0,
+ SpvFPDenormModeFlushToZero = 1,
+ SpvFPDenormModeMax = 0x7fffffff,
+} SpvFPDenormMode;
+
+typedef enum SpvFPOperationMode_ {
+ SpvFPOperationModeIEEE = 0,
+ SpvFPOperationModeALT = 1,
+ SpvFPOperationModeMax = 0x7fffffff,
+} SpvFPOperationMode;
+
+typedef enum SpvQuantizationModes_ {
+ SpvQuantizationModesTRN = 0,
+ SpvQuantizationModesTRN_ZERO = 1,
+ SpvQuantizationModesRND = 2,
+ SpvQuantizationModesRND_ZERO = 3,
+ SpvQuantizationModesRND_INF = 4,
+ SpvQuantizationModesRND_MIN_INF = 5,
+ SpvQuantizationModesRND_CONV = 6,
+ SpvQuantizationModesRND_CONV_ODD = 7,
+ SpvQuantizationModesMax = 0x7fffffff,
+} SpvQuantizationModes;
+
+typedef enum SpvOverflowModes_ {
+ SpvOverflowModesWRAP = 0,
+ SpvOverflowModesSAT = 1,
+ SpvOverflowModesSAT_ZERO = 2,
+ SpvOverflowModesSAT_SYM = 3,
+ SpvOverflowModesMax = 0x7fffffff,
+} SpvOverflowModes;
+
typedef enum SpvLinkageType_ {
SpvLinkageTypeExport = 0,
SpvLinkageTypeImport = 1,
@@ -1029,6 +1061,7 @@ typedef enum SpvCapability_ {
SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
SpvCapabilityFPFastMathModeINTEL = 5837,
SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,
+ SpvCapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
SpvCapabilityFPGALoopControlsINTEL = 5888,
SpvCapabilityKernelAttributesINTEL = 5892,
@@ -1037,6 +1070,7 @@ typedef enum SpvCapability_ {
SpvCapabilityFPGAClusterAttributesINTEL = 5904,
SpvCapabilityLoopFuseINTEL = 5906,
SpvCapabilityFPGABufferLocationINTEL = 5920,
+ SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
SpvCapabilityUSMStorageClassesINTEL = 5935,
SpvCapabilityIOPipesINTEL = 5943,
SpvCapabilityBlockingPipesINTEL = 5945,
@@ -1110,18 +1144,6 @@ typedef enum SpvFragmentShadingRateMask_ {
SpvFragmentShadingRateHorizontal4PixelsMask = 0x00000008,
} SpvFragmentShadingRateMask;
-typedef enum SpvFPDenormMode_ {
- SpvFPDenormModePreserve = 0,
- SpvFPDenormModeFlushToZero = 1,
- SpvFPDenormModeMax = 0x7fffffff,
-} SpvFPDenormMode;
-
-typedef enum SpvFPOperationMode_ {
- SpvFPOperationModeIEEE = 0,
- SpvFPOperationModeALT = 1,
- SpvFPOperationModeMax = 0x7fffffff,
-} SpvFPOperationMode;
-
typedef enum SpvOp_ {
SpvOpNop = 0,
SpvOpUndef = 1,
@@ -1675,7 +1697,59 @@ typedef enum SpvOp_ {
SpvOpVariableLengthArrayINTEL = 5818,
SpvOpSaveMemoryINTEL = 5819,
SpvOpRestoreMemoryINTEL = 5820,
+ SpvOpArbitraryFloatSinCosPiINTEL = 5840,
+ SpvOpArbitraryFloatCastINTEL = 5841,
+ SpvOpArbitraryFloatCastFromIntINTEL = 5842,
+ SpvOpArbitraryFloatCastToIntINTEL = 5843,
+ SpvOpArbitraryFloatAddINTEL = 5846,
+ SpvOpArbitraryFloatSubINTEL = 5847,
+ SpvOpArbitraryFloatMulINTEL = 5848,
+ SpvOpArbitraryFloatDivINTEL = 5849,
+ SpvOpArbitraryFloatGTINTEL = 5850,
+ SpvOpArbitraryFloatGEINTEL = 5851,
+ SpvOpArbitraryFloatLTINTEL = 5852,
+ SpvOpArbitraryFloatLEINTEL = 5853,
+ SpvOpArbitraryFloatEQINTEL = 5854,
+ SpvOpArbitraryFloatRecipINTEL = 5855,
+ SpvOpArbitraryFloatRSqrtINTEL = 5856,
+ SpvOpArbitraryFloatCbrtINTEL = 5857,
+ SpvOpArbitraryFloatHypotINTEL = 5858,
+ SpvOpArbitraryFloatSqrtINTEL = 5859,
+ SpvOpArbitraryFloatLogINTEL = 5860,
+ SpvOpArbitraryFloatLog2INTEL = 5861,
+ SpvOpArbitraryFloatLog10INTEL = 5862,
+ SpvOpArbitraryFloatLog1pINTEL = 5863,
+ SpvOpArbitraryFloatExpINTEL = 5864,
+ SpvOpArbitraryFloatExp2INTEL = 5865,
+ SpvOpArbitraryFloatExp10INTEL = 5866,
+ SpvOpArbitraryFloatExpm1INTEL = 5867,
+ SpvOpArbitraryFloatSinINTEL = 5868,
+ SpvOpArbitraryFloatCosINTEL = 5869,
+ SpvOpArbitraryFloatSinCosINTEL = 5870,
+ SpvOpArbitraryFloatSinPiINTEL = 5871,
+ SpvOpArbitraryFloatCosPiINTEL = 5872,
+ SpvOpArbitraryFloatASinINTEL = 5873,
+ SpvOpArbitraryFloatASinPiINTEL = 5874,
+ SpvOpArbitraryFloatACosINTEL = 5875,
+ SpvOpArbitraryFloatACosPiINTEL = 5876,
+ SpvOpArbitraryFloatATanINTEL = 5877,
+ SpvOpArbitraryFloatATanPiINTEL = 5878,
+ SpvOpArbitraryFloatATan2INTEL = 5879,
+ SpvOpArbitraryFloatPowINTEL = 5880,
+ SpvOpArbitraryFloatPowRINTEL = 5881,
+ SpvOpArbitraryFloatPowNINTEL = 5882,
SpvOpLoopControlINTEL = 5887,
+ SpvOpFixedSqrtINTEL = 5923,
+ SpvOpFixedRecipINTEL = 5924,
+ SpvOpFixedRsqrtINTEL = 5925,
+ SpvOpFixedSinINTEL = 5926,
+ SpvOpFixedCosINTEL = 5927,
+ SpvOpFixedSinCosINTEL = 5928,
+ SpvOpFixedSinPiINTEL = 5929,
+ SpvOpFixedCosPiINTEL = 5930,
+ SpvOpFixedSinCosPiINTEL = 5931,
+ SpvOpFixedLogINTEL = 5932,
+ SpvOpFixedExpINTEL = 5933,
SpvOpPtrCastToCrossWorkgroupINTEL = 5934,
SpvOpCrossWorkgroupCastToPtrINTEL = 5938,
SpvOpReadPipeBlockingINTEL = 5946,
@@ -2259,9 +2333,61 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
+ case SpvOpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index 5df8e47..737581d 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -406,6 +406,38 @@ enum FPRoundingMode {
FPRoundingModeMax = 0x7fffffff,
};
+enum FPDenormMode {
+ FPDenormModePreserve = 0,
+ FPDenormModeFlushToZero = 1,
+ FPDenormModeMax = 0x7fffffff,
+};
+
+enum FPOperationMode {
+ FPOperationModeIEEE = 0,
+ FPOperationModeALT = 1,
+ FPOperationModeMax = 0x7fffffff,
+};
+
+enum QuantizationModes {
+ QuantizationModesTRN = 0,
+ QuantizationModesTRN_ZERO = 1,
+ QuantizationModesRND = 2,
+ QuantizationModesRND_ZERO = 3,
+ QuantizationModesRND_INF = 4,
+ QuantizationModesRND_MIN_INF = 5,
+ QuantizationModesRND_CONV = 6,
+ QuantizationModesRND_CONV_ODD = 7,
+ QuantizationModesMax = 0x7fffffff,
+};
+
+enum OverflowModes {
+ OverflowModesWRAP = 0,
+ OverflowModesSAT = 1,
+ OverflowModesSAT_ZERO = 2,
+ OverflowModesSAT_SYM = 3,
+ OverflowModesMax = 0x7fffffff,
+};
+
enum LinkageType {
LinkageTypeExport = 0,
LinkageTypeImport = 1,
@@ -1025,6 +1057,7 @@ enum Capability {
CapabilityFPGAMemoryAttributesINTEL = 5824,
CapabilityFPFastMathModeINTEL = 5837,
CapabilityArbitraryPrecisionIntegersINTEL = 5844,
+ CapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
CapabilityUnstructuredLoopControlsINTEL = 5886,
CapabilityFPGALoopControlsINTEL = 5888,
CapabilityKernelAttributesINTEL = 5892,
@@ -1033,6 +1066,7 @@ enum Capability {
CapabilityFPGAClusterAttributesINTEL = 5904,
CapabilityLoopFuseINTEL = 5906,
CapabilityFPGABufferLocationINTEL = 5920,
+ CapabilityArbitraryPrecisionFixedPointINTEL = 5922,
CapabilityUSMStorageClassesINTEL = 5935,
CapabilityIOPipesINTEL = 5943,
CapabilityBlockingPipesINTEL = 5945,
@@ -1106,18 +1140,6 @@ enum FragmentShadingRateMask {
FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
};
-enum FPDenormMode {
- FPDenormModePreserve = 0,
- FPDenormModeFlushToZero = 1,
- FPDenormModeMax = 0x7fffffff,
-};
-
-enum FPOperationMode {
- FPOperationModeIEEE = 0,
- FPOperationModeALT = 1,
- FPOperationModeMax = 0x7fffffff,
-};
-
enum Op {
OpNop = 0,
OpUndef = 1,
@@ -1671,7 +1693,59 @@ enum Op {
OpVariableLengthArrayINTEL = 5818,
OpSaveMemoryINTEL = 5819,
OpRestoreMemoryINTEL = 5820,
+ OpArbitraryFloatSinCosPiINTEL = 5840,
+ OpArbitraryFloatCastINTEL = 5841,
+ OpArbitraryFloatCastFromIntINTEL = 5842,
+ OpArbitraryFloatCastToIntINTEL = 5843,
+ OpArbitraryFloatAddINTEL = 5846,
+ OpArbitraryFloatSubINTEL = 5847,
+ OpArbitraryFloatMulINTEL = 5848,
+ OpArbitraryFloatDivINTEL = 5849,
+ OpArbitraryFloatGTINTEL = 5850,
+ OpArbitraryFloatGEINTEL = 5851,
+ OpArbitraryFloatLTINTEL = 5852,
+ OpArbitraryFloatLEINTEL = 5853,
+ OpArbitraryFloatEQINTEL = 5854,
+ OpArbitraryFloatRecipINTEL = 5855,
+ OpArbitraryFloatRSqrtINTEL = 5856,
+ OpArbitraryFloatCbrtINTEL = 5857,
+ OpArbitraryFloatHypotINTEL = 5858,
+ OpArbitraryFloatSqrtINTEL = 5859,
+ OpArbitraryFloatLogINTEL = 5860,
+ OpArbitraryFloatLog2INTEL = 5861,
+ OpArbitraryFloatLog10INTEL = 5862,
+ OpArbitraryFloatLog1pINTEL = 5863,
+ OpArbitraryFloatExpINTEL = 5864,
+ OpArbitraryFloatExp2INTEL = 5865,
+ OpArbitraryFloatExp10INTEL = 5866,
+ OpArbitraryFloatExpm1INTEL = 5867,
+ OpArbitraryFloatSinINTEL = 5868,
+ OpArbitraryFloatCosINTEL = 5869,
+ OpArbitraryFloatSinCosINTEL = 5870,
+ OpArbitraryFloatSinPiINTEL = 5871,
+ OpArbitraryFloatCosPiINTEL = 5872,
+ OpArbitraryFloatASinINTEL = 5873,
+ OpArbitraryFloatASinPiINTEL = 5874,
+ OpArbitraryFloatACosINTEL = 5875,
+ OpArbitraryFloatACosPiINTEL = 5876,
+ OpArbitraryFloatATanINTEL = 5877,
+ OpArbitraryFloatATanPiINTEL = 5878,
+ OpArbitraryFloatATan2INTEL = 5879,
+ OpArbitraryFloatPowINTEL = 5880,
+ OpArbitraryFloatPowRINTEL = 5881,
+ OpArbitraryFloatPowNINTEL = 5882,
OpLoopControlINTEL = 5887,
+ OpFixedSqrtINTEL = 5923,
+ OpFixedRecipINTEL = 5924,
+ OpFixedRsqrtINTEL = 5925,
+ OpFixedSinINTEL = 5926,
+ OpFixedCosINTEL = 5927,
+ OpFixedSinCosINTEL = 5928,
+ OpFixedSinPiINTEL = 5929,
+ OpFixedCosPiINTEL = 5930,
+ OpFixedSinCosPiINTEL = 5931,
+ OpFixedLogINTEL = 5932,
+ OpFixedExpINTEL = 5933,
OpPtrCastToCrossWorkgroupINTEL = 5934,
OpCrossWorkgroupCastToPtrINTEL = 5938,
OpReadPipeBlockingINTEL = 5946,
@@ -2255,9 +2329,61 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 539ddd6..b2a0d60 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -406,6 +406,38 @@ enum class FPRoundingMode : unsigned {
Max = 0x7fffffff,
};
+enum class FPDenormMode : unsigned {
+ Preserve = 0,
+ FlushToZero = 1,
+ Max = 0x7fffffff,
+};
+
+enum class FPOperationMode : unsigned {
+ IEEE = 0,
+ ALT = 1,
+ Max = 0x7fffffff,
+};
+
+enum class QuantizationModes : unsigned {
+ TRN = 0,
+ TRN_ZERO = 1,
+ RND = 2,
+ RND_ZERO = 3,
+ RND_INF = 4,
+ RND_MIN_INF = 5,
+ RND_CONV = 6,
+ RND_CONV_ODD = 7,
+ Max = 0x7fffffff,
+};
+
+enum class OverflowModes : unsigned {
+ WRAP = 0,
+ SAT = 1,
+ SAT_ZERO = 2,
+ SAT_SYM = 3,
+ Max = 0x7fffffff,
+};
+
enum class LinkageType : unsigned {
Export = 0,
Import = 1,
@@ -1025,6 +1057,7 @@ enum class Capability : unsigned {
FPGAMemoryAttributesINTEL = 5824,
FPFastMathModeINTEL = 5837,
ArbitraryPrecisionIntegersINTEL = 5844,
+ ArbitraryPrecisionFloatingPointINTEL = 5845,
UnstructuredLoopControlsINTEL = 5886,
FPGALoopControlsINTEL = 5888,
KernelAttributesINTEL = 5892,
@@ -1033,6 +1066,7 @@ enum class Capability : unsigned {
FPGAClusterAttributesINTEL = 5904,
LoopFuseINTEL = 5906,
FPGABufferLocationINTEL = 5920,
+ ArbitraryPrecisionFixedPointINTEL = 5922,
USMStorageClassesINTEL = 5935,
IOPipesINTEL = 5943,
BlockingPipesINTEL = 5945,
@@ -1106,18 +1140,6 @@ enum class FragmentShadingRateMask : unsigned {
Horizontal4Pixels = 0x00000008,
};
-enum class FPDenormMode : unsigned {
- Preserve = 0,
- FlushToZero = 1,
- Max = 0x7fffffff,
-};
-
-enum class FPOperationMode : unsigned {
- IEEE = 0,
- ALT = 1,
- Max = 0x7fffffff,
-};
-
enum class Op : unsigned {
OpNop = 0,
OpUndef = 1,
@@ -1671,7 +1693,59 @@ enum class Op : unsigned {
OpVariableLengthArrayINTEL = 5818,
OpSaveMemoryINTEL = 5819,
OpRestoreMemoryINTEL = 5820,
+ OpArbitraryFloatSinCosPiINTEL = 5840,
+ OpArbitraryFloatCastINTEL = 5841,
+ OpArbitraryFloatCastFromIntINTEL = 5842,
+ OpArbitraryFloatCastToIntINTEL = 5843,
+ OpArbitraryFloatAddINTEL = 5846,
+ OpArbitraryFloatSubINTEL = 5847,
+ OpArbitraryFloatMulINTEL = 5848,
+ OpArbitraryFloatDivINTEL = 5849,
+ OpArbitraryFloatGTINTEL = 5850,
+ OpArbitraryFloatGEINTEL = 5851,
+ OpArbitraryFloatLTINTEL = 5852,
+ OpArbitraryFloatLEINTEL = 5853,
+ OpArbitraryFloatEQINTEL = 5854,
+ OpArbitraryFloatRecipINTEL = 5855,
+ OpArbitraryFloatRSqrtINTEL = 5856,
+ OpArbitraryFloatCbrtINTEL = 5857,
+ OpArbitraryFloatHypotINTEL = 5858,
+ OpArbitraryFloatSqrtINTEL = 5859,
+ OpArbitraryFloatLogINTEL = 5860,
+ OpArbitraryFloatLog2INTEL = 5861,
+ OpArbitraryFloatLog10INTEL = 5862,
+ OpArbitraryFloatLog1pINTEL = 5863,
+ OpArbitraryFloatExpINTEL = 5864,
+ OpArbitraryFloatExp2INTEL = 5865,
+ OpArbitraryFloatExp10INTEL = 5866,
+ OpArbitraryFloatExpm1INTEL = 5867,
+ OpArbitraryFloatSinINTEL = 5868,
+ OpArbitraryFloatCosINTEL = 5869,
+ OpArbitraryFloatSinCosINTEL = 5870,
+ OpArbitraryFloatSinPiINTEL = 5871,
+ OpArbitraryFloatCosPiINTEL = 5872,
+ OpArbitraryFloatASinINTEL = 5873,
+ OpArbitraryFloatASinPiINTEL = 5874,
+ OpArbitraryFloatACosINTEL = 5875,
+ OpArbitraryFloatACosPiINTEL = 5876,
+ OpArbitraryFloatATanINTEL = 5877,
+ OpArbitraryFloatATanPiINTEL = 5878,
+ OpArbitraryFloatATan2INTEL = 5879,
+ OpArbitraryFloatPowINTEL = 5880,
+ OpArbitraryFloatPowRINTEL = 5881,
+ OpArbitraryFloatPowNINTEL = 5882,
OpLoopControlINTEL = 5887,
+ OpFixedSqrtINTEL = 5923,
+ OpFixedRecipINTEL = 5924,
+ OpFixedRsqrtINTEL = 5925,
+ OpFixedSinINTEL = 5926,
+ OpFixedCosINTEL = 5927,
+ OpFixedSinCosINTEL = 5928,
+ OpFixedSinPiINTEL = 5929,
+ OpFixedCosPiINTEL = 5930,
+ OpFixedSinCosPiINTEL = 5931,
+ OpFixedLogINTEL = 5932,
+ OpFixedExpINTEL = 5933,
OpPtrCastToCrossWorkgroupINTEL = 5934,
OpCrossWorkgroupCastToPtrINTEL = 5938,
OpReadPipeBlockingINTEL = 5946,
@@ -2255,9 +2329,61 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
+ case Op::OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
case Op::OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index a03be06..ace7806 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -422,6 +422,50 @@
}
},
{
+ "Name": "FPDenormMode",
+ "Type": "Value",
+ "Values":
+ {
+ "Preserve": 0,
+ "FlushToZero": 1
+ }
+ },
+ {
+ "Name": "FPOperationMode",
+ "Type": "Value",
+ "Values":
+ {
+ "IEEE": 0,
+ "ALT": 1
+ }
+ },
+ {
+ "Name": "QuantizationModes",
+ "Type": "Value",
+ "Values":
+ {
+ "TRN": 0,
+ "TRN_ZERO": 1,
+ "RND": 2,
+ "RND_ZERO": 3,
+ "RND_INF": 4,
+ "RND_MIN_INF": 5,
+ "RND_CONV": 6,
+ "RND_CONV_ODD": 7
+ }
+ },
+ {
+ "Name": "OverflowModes",
+ "Type": "Value",
+ "Values":
+ {
+ "WRAP": 0,
+ "SAT": 1,
+ "SAT_ZERO": 2,
+ "SAT_SYM": 3
+ }
+ },
+ {
"Name": "LinkageType",
"Type": "Value",
"Values":
@@ -1012,6 +1056,7 @@
"FPGAMemoryAttributesINTEL": 5824,
"FPFastMathModeINTEL": 5837,
"ArbitraryPrecisionIntegersINTEL": 5844,
+ "ArbitraryPrecisionFloatingPointINTEL": 5845,
"UnstructuredLoopControlsINTEL": 5886,
"FPGALoopControlsINTEL": 5888,
"KernelAttributesINTEL": 5892,
@@ -1020,6 +1065,7 @@
"FPGAClusterAttributesINTEL": 5904,
"LoopFuseINTEL": 5906,
"FPGABufferLocationINTEL": 5920,
+ "ArbitraryPrecisionFixedPointINTEL": 5922,
"USMStorageClassesINTEL": 5935,
"IOPipesINTEL": 5943,
"BlockingPipesINTEL": 5945,
@@ -1086,24 +1132,6 @@
}
},
{
- "Name": "FPDenormMode",
- "Type": "Value",
- "Values":
- {
- "Preserve": 0,
- "FlushToZero": 1
- }
- },
- {
- "Name": "FPOperationMode",
- "Type": "Value",
- "Values":
- {
- "IEEE": 0,
- "ALT": 1
- }
- },
- {
"Name": "Op",
"Type": "Value",
"Values":
@@ -1660,7 +1688,59 @@
"OpVariableLengthArrayINTEL": 5818,
"OpSaveMemoryINTEL": 5819,
"OpRestoreMemoryINTEL": 5820,
+ "OpArbitraryFloatSinCosPiINTEL": 5840,
+ "OpArbitraryFloatCastINTEL": 5841,
+ "OpArbitraryFloatCastFromIntINTEL": 5842,
+ "OpArbitraryFloatCastToIntINTEL": 5843,
+ "OpArbitraryFloatAddINTEL": 5846,
+ "OpArbitraryFloatSubINTEL": 5847,
+ "OpArbitraryFloatMulINTEL": 5848,
+ "OpArbitraryFloatDivINTEL": 5849,
+ "OpArbitraryFloatGTINTEL": 5850,
+ "OpArbitraryFloatGEINTEL": 5851,
+ "OpArbitraryFloatLTINTEL": 5852,
+ "OpArbitraryFloatLEINTEL": 5853,
+ "OpArbitraryFloatEQINTEL": 5854,
+ "OpArbitraryFloatRecipINTEL": 5855,
+ "OpArbitraryFloatRSqrtINTEL": 5856,
+ "OpArbitraryFloatCbrtINTEL": 5857,
+ "OpArbitraryFloatHypotINTEL": 5858,
+ "OpArbitraryFloatSqrtINTEL": 5859,
+ "OpArbitraryFloatLogINTEL": 5860,
+ "OpArbitraryFloatLog2INTEL": 5861,
+ "OpArbitraryFloatLog10INTEL": 5862,
+ "OpArbitraryFloatLog1pINTEL": 5863,
+ "OpArbitraryFloatExpINTEL": 5864,
+ "OpArbitraryFloatExp2INTEL": 5865,
+ "OpArbitraryFloatExp10INTEL": 5866,
+ "OpArbitraryFloatExpm1INTEL": 5867,
+ "OpArbitraryFloatSinINTEL": 5868,
+ "OpArbitraryFloatCosINTEL": 5869,
+ "OpArbitraryFloatSinCosINTEL": 5870,
+ "OpArbitraryFloatSinPiINTEL": 5871,
+ "OpArbitraryFloatCosPiINTEL": 5872,
+ "OpArbitraryFloatASinINTEL": 5873,
+ "OpArbitraryFloatASinPiINTEL": 5874,
+ "OpArbitraryFloatACosINTEL": 5875,
+ "OpArbitraryFloatACosPiINTEL": 5876,
+ "OpArbitraryFloatATanINTEL": 5877,
+ "OpArbitraryFloatATanPiINTEL": 5878,
+ "OpArbitraryFloatATan2INTEL": 5879,
+ "OpArbitraryFloatPowINTEL": 5880,
+ "OpArbitraryFloatPowRINTEL": 5881,
+ "OpArbitraryFloatPowNINTEL": 5882,
"OpLoopControlINTEL": 5887,
+ "OpFixedSqrtINTEL": 5923,
+ "OpFixedRecipINTEL": 5924,
+ "OpFixedRsqrtINTEL": 5925,
+ "OpFixedSinINTEL": 5926,
+ "OpFixedCosINTEL": 5927,
+ "OpFixedSinCosINTEL": 5928,
+ "OpFixedSinPiINTEL": 5929,
+ "OpFixedCosPiINTEL": 5930,
+ "OpFixedSinCosPiINTEL": 5931,
+ "OpFixedLogINTEL": 5932,
+ "OpFixedExpINTEL": 5933,
"OpPtrCastToCrossWorkgroupINTEL": 5934,
"OpCrossWorkgroupCastToPtrINTEL": 5938,
"OpReadPipeBlockingINTEL": 5946,
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index ed0549b..26f1b69 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -382,6 +382,34 @@ spv = {
RTN = 3,
},
+ FPDenormMode = {
+ Preserve = 0,
+ FlushToZero = 1,
+ },
+
+ FPOperationMode = {
+ IEEE = 0,
+ ALT = 1,
+ },
+
+ QuantizationModes = {
+ TRN = 0,
+ TRN_ZERO = 1,
+ RND = 2,
+ RND_ZERO = 3,
+ RND_INF = 4,
+ RND_MIN_INF = 5,
+ RND_CONV = 6,
+ RND_CONV_ODD = 7,
+ },
+
+ OverflowModes = {
+ WRAP = 0,
+ SAT = 1,
+ SAT_ZERO = 2,
+ SAT_SYM = 3,
+ },
+
LinkageType = {
Export = 0,
Import = 1,
@@ -987,6 +1015,7 @@ spv = {
FPGAMemoryAttributesINTEL = 5824,
FPFastMathModeINTEL = 5837,
ArbitraryPrecisionIntegersINTEL = 5844,
+ ArbitraryPrecisionFloatingPointINTEL = 5845,
UnstructuredLoopControlsINTEL = 5886,
FPGALoopControlsINTEL = 5888,
KernelAttributesINTEL = 5892,
@@ -995,6 +1024,7 @@ spv = {
FPGAClusterAttributesINTEL = 5904,
LoopFuseINTEL = 5906,
FPGABufferLocationINTEL = 5920,
+ ArbitraryPrecisionFixedPointINTEL = 5922,
USMStorageClassesINTEL = 5935,
IOPipesINTEL = 5943,
BlockingPipesINTEL = 5945,
@@ -1062,16 +1092,6 @@ spv = {
Horizontal4Pixels = 0x00000008,
},
- FPDenormMode = {
- Preserve = 0,
- FlushToZero = 1,
- },
-
- FPOperationMode = {
- IEEE = 0,
- ALT = 1,
- },
-
Op = {
OpNop = 0,
OpUndef = 1,
@@ -1625,7 +1645,59 @@ spv = {
OpVariableLengthArrayINTEL = 5818,
OpSaveMemoryINTEL = 5819,
OpRestoreMemoryINTEL = 5820,
+ OpArbitraryFloatSinCosPiINTEL = 5840,
+ OpArbitraryFloatCastINTEL = 5841,
+ OpArbitraryFloatCastFromIntINTEL = 5842,
+ OpArbitraryFloatCastToIntINTEL = 5843,
+ OpArbitraryFloatAddINTEL = 5846,
+ OpArbitraryFloatSubINTEL = 5847,
+ OpArbitraryFloatMulINTEL = 5848,
+ OpArbitraryFloatDivINTEL = 5849,
+ OpArbitraryFloatGTINTEL = 5850,
+ OpArbitraryFloatGEINTEL = 5851,
+ OpArbitraryFloatLTINTEL = 5852,
+ OpArbitraryFloatLEINTEL = 5853,
+ OpArbitraryFloatEQINTEL = 5854,
+ OpArbitraryFloatRecipINTEL = 5855,
+ OpArbitraryFloatRSqrtINTEL = 5856,
+ OpArbitraryFloatCbrtINTEL = 5857,
+ OpArbitraryFloatHypotINTEL = 5858,
+ OpArbitraryFloatSqrtINTEL = 5859,
+ OpArbitraryFloatLogINTEL = 5860,
+ OpArbitraryFloatLog2INTEL = 5861,
+ OpArbitraryFloatLog10INTEL = 5862,
+ OpArbitraryFloatLog1pINTEL = 5863,
+ OpArbitraryFloatExpINTEL = 5864,
+ OpArbitraryFloatExp2INTEL = 5865,
+ OpArbitraryFloatExp10INTEL = 5866,
+ OpArbitraryFloatExpm1INTEL = 5867,
+ OpArbitraryFloatSinINTEL = 5868,
+ OpArbitraryFloatCosINTEL = 5869,
+ OpArbitraryFloatSinCosINTEL = 5870,
+ OpArbitraryFloatSinPiINTEL = 5871,
+ OpArbitraryFloatCosPiINTEL = 5872,
+ OpArbitraryFloatASinINTEL = 5873,
+ OpArbitraryFloatASinPiINTEL = 5874,
+ OpArbitraryFloatACosINTEL = 5875,
+ OpArbitraryFloatACosPiINTEL = 5876,
+ OpArbitraryFloatATanINTEL = 5877,
+ OpArbitraryFloatATanPiINTEL = 5878,
+ OpArbitraryFloatATan2INTEL = 5879,
+ OpArbitraryFloatPowINTEL = 5880,
+ OpArbitraryFloatPowRINTEL = 5881,
+ OpArbitraryFloatPowNINTEL = 5882,
OpLoopControlINTEL = 5887,
+ OpFixedSqrtINTEL = 5923,
+ OpFixedRecipINTEL = 5924,
+ OpFixedRsqrtINTEL = 5925,
+ OpFixedSinINTEL = 5926,
+ OpFixedCosINTEL = 5927,
+ OpFixedSinCosINTEL = 5928,
+ OpFixedSinPiINTEL = 5929,
+ OpFixedCosPiINTEL = 5930,
+ OpFixedSinCosPiINTEL = 5931,
+ OpFixedLogINTEL = 5932,
+ OpFixedExpINTEL = 5933,
OpPtrCastToCrossWorkgroupINTEL = 5934,
OpCrossWorkgroupCastToPtrINTEL = 5938,
OpReadPipeBlockingINTEL = 5946,
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index 90e71c4..ccfc786 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -382,6 +382,34 @@ spv = {
'RTN' : 3,
},
+ 'FPDenormMode' : {
+ 'Preserve' : 0,
+ 'FlushToZero' : 1,
+ },
+
+ 'FPOperationMode' : {
+ 'IEEE' : 0,
+ 'ALT' : 1,
+ },
+
+ 'QuantizationModes' : {
+ 'TRN' : 0,
+ 'TRN_ZERO' : 1,
+ 'RND' : 2,
+ 'RND_ZERO' : 3,
+ 'RND_INF' : 4,
+ 'RND_MIN_INF' : 5,
+ 'RND_CONV' : 6,
+ 'RND_CONV_ODD' : 7,
+ },
+
+ 'OverflowModes' : {
+ 'WRAP' : 0,
+ 'SAT' : 1,
+ 'SAT_ZERO' : 2,
+ 'SAT_SYM' : 3,
+ },
+
'LinkageType' : {
'Export' : 0,
'Import' : 1,
@@ -987,6 +1015,7 @@ spv = {
'FPGAMemoryAttributesINTEL' : 5824,
'FPFastMathModeINTEL' : 5837,
'ArbitraryPrecisionIntegersINTEL' : 5844,
+ 'ArbitraryPrecisionFloatingPointINTEL' : 5845,
'UnstructuredLoopControlsINTEL' : 5886,
'FPGALoopControlsINTEL' : 5888,
'KernelAttributesINTEL' : 5892,
@@ -995,6 +1024,7 @@ spv = {
'FPGAClusterAttributesINTEL' : 5904,
'LoopFuseINTEL' : 5906,
'FPGABufferLocationINTEL' : 5920,
+ 'ArbitraryPrecisionFixedPointINTEL' : 5922,
'USMStorageClassesINTEL' : 5935,
'IOPipesINTEL' : 5943,
'BlockingPipesINTEL' : 5945,
@@ -1062,16 +1092,6 @@ spv = {
'Horizontal4Pixels' : 0x00000008,
},
- 'FPDenormMode' : {
- 'Preserve' : 0,
- 'FlushToZero' : 1,
- },
-
- 'FPOperationMode' : {
- 'IEEE' : 0,
- 'ALT' : 1,
- },
-
'Op' : {
'OpNop' : 0,
'OpUndef' : 1,
@@ -1625,7 +1645,59 @@ spv = {
'OpVariableLengthArrayINTEL' : 5818,
'OpSaveMemoryINTEL' : 5819,
'OpRestoreMemoryINTEL' : 5820,
+ 'OpArbitraryFloatSinCosPiINTEL' : 5840,
+ 'OpArbitraryFloatCastINTEL' : 5841,
+ 'OpArbitraryFloatCastFromIntINTEL' : 5842,
+ 'OpArbitraryFloatCastToIntINTEL' : 5843,
+ 'OpArbitraryFloatAddINTEL' : 5846,
+ 'OpArbitraryFloatSubINTEL' : 5847,
+ 'OpArbitraryFloatMulINTEL' : 5848,
+ 'OpArbitraryFloatDivINTEL' : 5849,
+ 'OpArbitraryFloatGTINTEL' : 5850,
+ 'OpArbitraryFloatGEINTEL' : 5851,
+ 'OpArbitraryFloatLTINTEL' : 5852,
+ 'OpArbitraryFloatLEINTEL' : 5853,
+ 'OpArbitraryFloatEQINTEL' : 5854,
+ 'OpArbitraryFloatRecipINTEL' : 5855,
+ 'OpArbitraryFloatRSqrtINTEL' : 5856,
+ 'OpArbitraryFloatCbrtINTEL' : 5857,
+ 'OpArbitraryFloatHypotINTEL' : 5858,
+ 'OpArbitraryFloatSqrtINTEL' : 5859,
+ 'OpArbitraryFloatLogINTEL' : 5860,
+ 'OpArbitraryFloatLog2INTEL' : 5861,
+ 'OpArbitraryFloatLog10INTEL' : 5862,
+ 'OpArbitraryFloatLog1pINTEL' : 5863,
+ 'OpArbitraryFloatExpINTEL' : 5864,
+ 'OpArbitraryFloatExp2INTEL' : 5865,
+ 'OpArbitraryFloatExp10INTEL' : 5866,
+ 'OpArbitraryFloatExpm1INTEL' : 5867,
+ 'OpArbitraryFloatSinINTEL' : 5868,
+ 'OpArbitraryFloatCosINTEL' : 5869,
+ 'OpArbitraryFloatSinCosINTEL' : 5870,
+ 'OpArbitraryFloatSinPiINTEL' : 5871,
+ 'OpArbitraryFloatCosPiINTEL' : 5872,
+ 'OpArbitraryFloatASinINTEL' : 5873,
+ 'OpArbitraryFloatASinPiINTEL' : 5874,
+ 'OpArbitraryFloatACosINTEL' : 5875,
+ 'OpArbitraryFloatACosPiINTEL' : 5876,
+ 'OpArbitraryFloatATanINTEL' : 5877,
+ 'OpArbitraryFloatATanPiINTEL' : 5878,
+ 'OpArbitraryFloatATan2INTEL' : 5879,
+ 'OpArbitraryFloatPowINTEL' : 5880,
+ 'OpArbitraryFloatPowRINTEL' : 5881,
+ 'OpArbitraryFloatPowNINTEL' : 5882,
'OpLoopControlINTEL' : 5887,
+ 'OpFixedSqrtINTEL' : 5923,
+ 'OpFixedRecipINTEL' : 5924,
+ 'OpFixedRsqrtINTEL' : 5925,
+ 'OpFixedSinINTEL' : 5926,
+ 'OpFixedCosINTEL' : 5927,
+ 'OpFixedSinCosINTEL' : 5928,
+ 'OpFixedSinPiINTEL' : 5929,
+ 'OpFixedCosPiINTEL' : 5930,
+ 'OpFixedSinCosPiINTEL' : 5931,
+ 'OpFixedLogINTEL' : 5932,
+ 'OpFixedExpINTEL' : 5933,
'OpPtrCastToCrossWorkgroupINTEL' : 5934,
'OpCrossWorkgroupCastToPtrINTEL' : 5938,
'OpReadPipeBlockingINTEL' : 5946,
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index 95c61c0..513eca1 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -406,6 +406,38 @@ enum FPRoundingMode : uint
RTN = 3,
}
+enum FPDenormMode : uint
+{
+ Preserve = 0,
+ FlushToZero = 1,
+}
+
+enum FPOperationMode : uint
+{
+ IEEE = 0,
+ ALT = 1,
+}
+
+enum QuantizationModes : uint
+{
+ TRN = 0,
+ TRN_ZERO = 1,
+ RND = 2,
+ RND_ZERO = 3,
+ RND_INF = 4,
+ RND_MIN_INF = 5,
+ RND_CONV = 6,
+ RND_CONV_ODD = 7,
+}
+
+enum OverflowModes : uint
+{
+ WRAP = 0,
+ SAT = 1,
+ SAT_ZERO = 2,
+ SAT_SYM = 3,
+}
+
enum LinkageType : uint
{
Export = 0,
@@ -1032,6 +1064,7 @@ enum Capability : uint
FPGAMemoryAttributesINTEL = 5824,
FPFastMathModeINTEL = 5837,
ArbitraryPrecisionIntegersINTEL = 5844,
+ ArbitraryPrecisionFloatingPointINTEL = 5845,
UnstructuredLoopControlsINTEL = 5886,
FPGALoopControlsINTEL = 5888,
KernelAttributesINTEL = 5892,
@@ -1040,6 +1073,7 @@ enum Capability : uint
FPGAClusterAttributesINTEL = 5904,
LoopFuseINTEL = 5906,
FPGABufferLocationINTEL = 5920,
+ ArbitraryPrecisionFixedPointINTEL = 5922,
USMStorageClassesINTEL = 5935,
IOPipesINTEL = 5943,
BlockingPipesINTEL = 5945,
@@ -1114,18 +1148,6 @@ enum FragmentShadingRateMask : uint
Horizontal4Pixels = 0x00000008,
}
-enum FPDenormMode : uint
-{
- Preserve = 0,
- FlushToZero = 1,
-}
-
-enum FPOperationMode : uint
-{
- IEEE = 0,
- ALT = 1,
-}
-
enum Op : uint
{
OpNop = 0,
@@ -1680,7 +1702,59 @@ enum Op : uint
OpVariableLengthArrayINTEL = 5818,
OpSaveMemoryINTEL = 5819,
OpRestoreMemoryINTEL = 5820,
+ OpArbitraryFloatSinCosPiINTEL = 5840,
+ OpArbitraryFloatCastINTEL = 5841,
+ OpArbitraryFloatCastFromIntINTEL = 5842,
+ OpArbitraryFloatCastToIntINTEL = 5843,
+ OpArbitraryFloatAddINTEL = 5846,
+ OpArbitraryFloatSubINTEL = 5847,
+ OpArbitraryFloatMulINTEL = 5848,
+ OpArbitraryFloatDivINTEL = 5849,
+ OpArbitraryFloatGTINTEL = 5850,
+ OpArbitraryFloatGEINTEL = 5851,
+ OpArbitraryFloatLTINTEL = 5852,
+ OpArbitraryFloatLEINTEL = 5853,
+ OpArbitraryFloatEQINTEL = 5854,
+ OpArbitraryFloatRecipINTEL = 5855,
+ OpArbitraryFloatRSqrtINTEL = 5856,
+ OpArbitraryFloatCbrtINTEL = 5857,
+ OpArbitraryFloatHypotINTEL = 5858,
+ OpArbitraryFloatSqrtINTEL = 5859,
+ OpArbitraryFloatLogINTEL = 5860,
+ OpArbitraryFloatLog2INTEL = 5861,
+ OpArbitraryFloatLog10INTEL = 5862,
+ OpArbitraryFloatLog1pINTEL = 5863,
+ OpArbitraryFloatExpINTEL = 5864,
+ OpArbitraryFloatExp2INTEL = 5865,
+ OpArbitraryFloatExp10INTEL = 5866,
+ OpArbitraryFloatExpm1INTEL = 5867,
+ OpArbitraryFloatSinINTEL = 5868,
+ OpArbitraryFloatCosINTEL = 5869,
+ OpArbitraryFloatSinCosINTEL = 5870,
+ OpArbitraryFloatSinPiINTEL = 5871,
+ OpArbitraryFloatCosPiINTEL = 5872,
+ OpArbitraryFloatASinINTEL = 5873,
+ OpArbitraryFloatASinPiINTEL = 5874,
+ OpArbitraryFloatACosINTEL = 5875,
+ OpArbitraryFloatACosPiINTEL = 5876,
+ OpArbitraryFloatATanINTEL = 5877,
+ OpArbitraryFloatATanPiINTEL = 5878,
+ OpArbitraryFloatATan2INTEL = 5879,
+ OpArbitraryFloatPowINTEL = 5880,
+ OpArbitraryFloatPowRINTEL = 5881,
+ OpArbitraryFloatPowNINTEL = 5882,
OpLoopControlINTEL = 5887,
+ OpFixedSqrtINTEL = 5923,
+ OpFixedRecipINTEL = 5924,
+ OpFixedRsqrtINTEL = 5925,
+ OpFixedSinINTEL = 5926,
+ OpFixedCosINTEL = 5927,
+ OpFixedSinCosINTEL = 5928,
+ OpFixedSinPiINTEL = 5929,
+ OpFixedCosPiINTEL = 5930,
+ OpFixedSinCosPiINTEL = 5931,
+ OpFixedLogINTEL = 5932,
+ OpFixedExpINTEL = 5933,
OpPtrCastToCrossWorkgroupINTEL = 5934,
OpCrossWorkgroupCastToPtrINTEL = 5938,
OpReadPipeBlockingINTEL = 5946,