Skip to content

Commit 647dec7

Browse files
authored
Merge pull request KhronosGroup#322 from bashbaug/SPV_INTEL_bfloat16_conversion
headers support for SPV_INTEL_bfloat16_conversion
2 parents 295cf5f + e65c5d1 commit 647dec7

File tree

10 files changed

+63
-0
lines changed

10 files changed

+63
-0
lines changed

include/spirv/unified1/spirv.bf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1147,6 +1147,7 @@ namespace Spv
11471147
OptNoneINTEL = 6094,
11481148
AtomicFloat16AddEXT = 6095,
11491149
DebugInfoModuleINTEL = 6114,
1150+
BFloat16ConversionINTEL = 6115,
11501151
SplitBarrierINTEL = 6141,
11511152
FPGAKernelAttributesv2INTEL = 6161,
11521153
FPGAArgumentInterfacesINTEL = 6174,
@@ -1953,6 +1954,8 @@ namespace Spv
19531954
OpTypeStructContinuedINTEL = 6090,
19541955
OpConstantCompositeContinuedINTEL = 6091,
19551956
OpSpecConstantCompositeContinuedINTEL = 6092,
1957+
OpConvertFToBF16INTEL = 6116,
1958+
OpConvertBF16ToFINTEL = 6117,
19561959
OpControlBarrierArriveINTEL = 6142,
19571960
OpControlBarrierWaitINTEL = 6143,
19581961
OpGroupIMulKHR = 6401,

include/spirv/unified1/spirv.core.grammar.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9043,6 +9043,30 @@
90439043
"capabilities" : [ "LongConstantCompositeINTEL" ],
90449044
"version" : "None"
90459045
},
9046+
{
9047+
"opname" : "OpConvertFToBF16INTEL",
9048+
"class" : "Conversion",
9049+
"opcode" : 6116,
9050+
"operands" : [
9051+
{ "kind" : "IdResultType" },
9052+
{ "kind" : "IdResult" },
9053+
{ "kind" : "IdRef", "name" : "'Float Value'" }
9054+
],
9055+
"capabilities" : [ "BFloat16ConversionINTEL" ],
9056+
"version" : "None"
9057+
},
9058+
{
9059+
"opname" : "OpConvertBF16ToFINTEL",
9060+
"class" : "Conversion",
9061+
"opcode" : 6117,
9062+
"operands" : [
9063+
{ "kind" : "IdResultType" },
9064+
{ "kind" : "IdResult" },
9065+
{ "kind" : "IdRef", "name" : "'BFloat16 Value'" }
9066+
],
9067+
"capabilities" : [ "BFloat16ConversionINTEL" ],
9068+
"version" : "None"
9069+
},
90469070
{
90479071
"opname" : "OpControlBarrierArriveINTEL",
90489072
"class" : "Barrier",
@@ -14896,6 +14920,12 @@
1489614920
"extensions" : [ "SPV_INTEL_debug_module" ],
1489714921
"version" : "None"
1489814922
},
14923+
{
14924+
"enumerant" : "BFloat16ConversionINTEL",
14925+
"value" : 6115,
14926+
"extensions" : [ "SPV_INTEL_bfloat16_conversion" ],
14927+
"version" : "None"
14928+
},
1489914929
{
1490014930
"enumerant" : "SplitBarrierINTEL",
1490114931
"value" : 6141,

include/spirv/unified1/spirv.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1146,6 +1146,7 @@ public enum Capability
11461146
OptNoneINTEL = 6094,
11471147
AtomicFloat16AddEXT = 6095,
11481148
DebugInfoModuleINTEL = 6114,
1149+
BFloat16ConversionINTEL = 6115,
11491150
SplitBarrierINTEL = 6141,
11501151
FPGAKernelAttributesv2INTEL = 6161,
11511152
FPGAArgumentInterfacesINTEL = 6174,
@@ -1952,6 +1953,8 @@ public enum Op
19521953
OpTypeStructContinuedINTEL = 6090,
19531954
OpConstantCompositeContinuedINTEL = 6091,
19541955
OpSpecConstantCompositeContinuedINTEL = 6092,
1956+
OpConvertFToBF16INTEL = 6116,
1957+
OpConvertBF16ToFINTEL = 6117,
19551958
OpControlBarrierArriveINTEL = 6142,
19561959
OpControlBarrierWaitINTEL = 6143,
19571960
OpGroupIMulKHR = 6401,

include/spirv/unified1/spirv.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1146,6 +1146,7 @@ typedef enum SpvCapability_ {
11461146
SpvCapabilityOptNoneINTEL = 6094,
11471147
SpvCapabilityAtomicFloat16AddEXT = 6095,
11481148
SpvCapabilityDebugInfoModuleINTEL = 6114,
1149+
SpvCapabilityBFloat16ConversionINTEL = 6115,
11491150
SpvCapabilitySplitBarrierINTEL = 6141,
11501151
SpvCapabilityFPGAKernelAttributesv2INTEL = 6161,
11511152
SpvCapabilityFPGAArgumentInterfacesINTEL = 6174,
@@ -1950,6 +1951,8 @@ typedef enum SpvOp_ {
19501951
SpvOpTypeStructContinuedINTEL = 6090,
19511952
SpvOpConstantCompositeContinuedINTEL = 6091,
19521953
SpvOpSpecConstantCompositeContinuedINTEL = 6092,
1954+
SpvOpConvertFToBF16INTEL = 6116,
1955+
SpvOpConvertBF16ToFINTEL = 6117,
19531956
SpvOpControlBarrierArriveINTEL = 6142,
19541957
SpvOpControlBarrierWaitINTEL = 6143,
19551958
SpvOpGroupIMulKHR = 6401,
@@ -2653,6 +2656,8 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
26532656
case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
26542657
case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
26552658
case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2659+
case SpvOpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
2660+
case SpvOpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
26562661
case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
26572662
case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
26582663
case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;

include/spirv/unified1/spirv.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1142,6 +1142,7 @@ enum Capability {
11421142
CapabilityOptNoneINTEL = 6094,
11431143
CapabilityAtomicFloat16AddEXT = 6095,
11441144
CapabilityDebugInfoModuleINTEL = 6114,
1145+
CapabilityBFloat16ConversionINTEL = 6115,
11451146
CapabilitySplitBarrierINTEL = 6141,
11461147
CapabilityFPGAKernelAttributesv2INTEL = 6161,
11471148
CapabilityFPGAArgumentInterfacesINTEL = 6174,
@@ -1946,6 +1947,8 @@ enum Op {
19461947
OpTypeStructContinuedINTEL = 6090,
19471948
OpConstantCompositeContinuedINTEL = 6091,
19481949
OpSpecConstantCompositeContinuedINTEL = 6092,
1950+
OpConvertFToBF16INTEL = 6116,
1951+
OpConvertBF16ToFINTEL = 6117,
19491952
OpControlBarrierArriveINTEL = 6142,
19501953
OpControlBarrierWaitINTEL = 6143,
19511954
OpGroupIMulKHR = 6401,
@@ -2649,6 +2652,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
26492652
case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
26502653
case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
26512654
case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2655+
case OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
2656+
case OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
26522657
case OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
26532658
case OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
26542659
case OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;

include/spirv/unified1/spirv.hpp11

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1142,6 +1142,7 @@ enum class Capability : unsigned {
11421142
OptNoneINTEL = 6094,
11431143
AtomicFloat16AddEXT = 6095,
11441144
DebugInfoModuleINTEL = 6114,
1145+
BFloat16ConversionINTEL = 6115,
11451146
SplitBarrierINTEL = 6141,
11461147
FPGAKernelAttributesv2INTEL = 6161,
11471148
FPGAArgumentInterfacesINTEL = 6174,
@@ -1946,6 +1947,8 @@ enum class Op : unsigned {
19461947
OpTypeStructContinuedINTEL = 6090,
19471948
OpConstantCompositeContinuedINTEL = 6091,
19481949
OpSpecConstantCompositeContinuedINTEL = 6092,
1950+
OpConvertFToBF16INTEL = 6116,
1951+
OpConvertBF16ToFINTEL = 6117,
19491952
OpControlBarrierArriveINTEL = 6142,
19501953
OpControlBarrierWaitINTEL = 6143,
19511954
OpGroupIMulKHR = 6401,
@@ -2649,6 +2652,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
26492652
case Op::OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
26502653
case Op::OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
26512654
case Op::OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2655+
case Op::OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
2656+
case Op::OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
26522657
case Op::OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
26532658
case Op::OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
26542659
case Op::OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;

include/spirv/unified1/spirv.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1122,6 +1122,7 @@
11221122
"OptNoneINTEL": 6094,
11231123
"AtomicFloat16AddEXT": 6095,
11241124
"DebugInfoModuleINTEL": 6114,
1125+
"BFloat16ConversionINTEL": 6115,
11251126
"SplitBarrierINTEL": 6141,
11261127
"FPGAKernelAttributesv2INTEL": 6161,
11271128
"FPGAArgumentInterfacesINTEL": 6174,
@@ -1936,6 +1937,8 @@
19361937
"OpTypeStructContinuedINTEL": 6090,
19371938
"OpConstantCompositeContinuedINTEL": 6091,
19381939
"OpSpecConstantCompositeContinuedINTEL": 6092,
1940+
"OpConvertFToBF16INTEL": 6116,
1941+
"OpConvertBF16ToFINTEL": 6117,
19391942
"OpControlBarrierArriveINTEL": 6142,
19401943
"OpControlBarrierWaitINTEL": 6143,
19411944
"OpGroupIMulKHR": 6401,

include/spirv/unified1/spirv.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1104,6 +1104,7 @@ spv = {
11041104
OptNoneINTEL = 6094,
11051105
AtomicFloat16AddEXT = 6095,
11061106
DebugInfoModuleINTEL = 6114,
1107+
BFloat16ConversionINTEL = 6115,
11071108
SplitBarrierINTEL = 6141,
11081109
FPGAKernelAttributesv2INTEL = 6161,
11091110
FPGAArgumentInterfacesINTEL = 6174,
@@ -1897,6 +1898,8 @@ spv = {
18971898
OpTypeStructContinuedINTEL = 6090,
18981899
OpConstantCompositeContinuedINTEL = 6091,
18991900
OpSpecConstantCompositeContinuedINTEL = 6092,
1901+
OpConvertFToBF16INTEL = 6116,
1902+
OpConvertBF16ToFINTEL = 6117,
19001903
OpControlBarrierArriveINTEL = 6142,
19011904
OpControlBarrierWaitINTEL = 6143,
19021905
OpGroupIMulKHR = 6401,

include/spirv/unified1/spirv.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1104,6 +1104,7 @@
11041104
'OptNoneINTEL' : 6094,
11051105
'AtomicFloat16AddEXT' : 6095,
11061106
'DebugInfoModuleINTEL' : 6114,
1107+
'BFloat16ConversionINTEL' : 6115,
11071108
'SplitBarrierINTEL' : 6141,
11081109
'FPGAKernelAttributesv2INTEL' : 6161,
11091110
'FPGAArgumentInterfacesINTEL' : 6174,
@@ -1897,6 +1898,8 @@
18971898
'OpTypeStructContinuedINTEL' : 6090,
18981899
'OpConstantCompositeContinuedINTEL' : 6091,
18991900
'OpSpecConstantCompositeContinuedINTEL' : 6092,
1901+
'OpConvertFToBF16INTEL' : 6116,
1902+
'OpConvertBF16ToFINTEL' : 6117,
19001903
'OpControlBarrierArriveINTEL' : 6142,
19011904
'OpControlBarrierWaitINTEL' : 6143,
19021905
'OpGroupIMulKHR' : 6401,

include/spirv/unified1/spv.d

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,6 +1149,7 @@ enum Capability : uint
11491149
OptNoneINTEL = 6094,
11501150
AtomicFloat16AddEXT = 6095,
11511151
DebugInfoModuleINTEL = 6114,
1152+
BFloat16ConversionINTEL = 6115,
11521153
SplitBarrierINTEL = 6141,
11531154
FPGAKernelAttributesv2INTEL = 6161,
11541155
FPGAArgumentInterfacesINTEL = 6174,
@@ -1955,6 +1956,8 @@ enum Op : uint
19551956
OpTypeStructContinuedINTEL = 6090,
19561957
OpConstantCompositeContinuedINTEL = 6091,
19571958
OpSpecConstantCompositeContinuedINTEL = 6092,
1959+
OpConvertFToBF16INTEL = 6116,
1960+
OpConvertBF16ToFINTEL = 6117,
19581961
OpControlBarrierArriveINTEL = 6142,
19591962
OpControlBarrierWaitINTEL = 6143,
19601963
OpGroupIMulKHR = 6401,

0 commit comments

Comments
 (0)