Skip to content

Commit 8c88e0c

Browse files
authored
header updates for SPV_INTEL_ternary_bitwise_function (#504)
1 parent 7266457 commit 8c88e0c

File tree

10 files changed

+48
-0
lines changed

10 files changed

+48
-0
lines changed

include/spirv/unified1/spirv.bf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1305,6 +1305,7 @@ namespace Spv
13051305
Subgroup2DBlockTransformINTEL = 6229,
13061306
Subgroup2DBlockTransposeINTEL = 6230,
13071307
SubgroupMatrixMultiplyAccumulateINTEL = 6236,
1308+
TernaryBitwiseFunctionINTEL = 6241,
13081309
GroupUniformArithmeticKHR = 6400,
13091310
TensorFloat32RoundingINTEL = 6425,
13101311
MaskedGatherScatterINTEL = 6427,
@@ -2430,6 +2431,7 @@ namespace Spv
24302431
OpSubgroup2DBlockPrefetchINTEL = 6234,
24312432
OpSubgroup2DBlockStoreINTEL = 6235,
24322433
OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
2434+
OpBitwiseFunctionINTEL = 6242,
24332435
OpGroupIMulKHR = 6401,
24342436
OpGroupFMulKHR = 6402,
24352437
OpGroupBitwiseAndKHR = 6403,

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10638,6 +10638,21 @@
1063810638
"capabilities" : [ "SubgroupMatrixMultiplyAccumulateINTEL" ],
1063910639
"version" : "None"
1064010640
},
10641+
{
10642+
"opname" : "OpBitwiseFunctionINTEL",
10643+
"class" : "Bit",
10644+
"opcode" : 6242,
10645+
"operands" : [
10646+
{ "kind" : "IdResultType" },
10647+
{ "kind" : "IdResult" },
10648+
{ "kind" : "IdRef", "name" : "'A'" },
10649+
{ "kind" : "IdRef", "name" : "'B'" },
10650+
{ "kind" : "IdRef", "name" : "'C'" },
10651+
{ "kind" : "IdRef", "name" : "'LUTIndex'" }
10652+
],
10653+
"capabilities" : [ "TernaryBitwiseFunctionINTEL" ],
10654+
"version" : "None"
10655+
},
1064110656
{
1064210657
"opname" : "OpGroupIMulKHR",
1064310658
"class" : "Group",
@@ -17245,6 +17260,12 @@
1724517260
"extensions": [ "SPV_INTEL_subgroup_matrix_multiply_accumulate" ],
1724617261
"version" : "None"
1724717262
},
17263+
{
17264+
"enumerant" : "TernaryBitwiseFunctionINTEL",
17265+
"value" : 6241,
17266+
"extensions" : [ "SPV_INTEL_ternary_bitwise_function"],
17267+
"version" : "None"
17268+
},
1724817269
{
1724917270
"enumerant" : "GroupUniformArithmeticKHR",
1725017271
"value" : 6400,

include/spirv/unified1/spirv.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1304,6 +1304,7 @@ public enum Capability
13041304
Subgroup2DBlockTransformINTEL = 6229,
13051305
Subgroup2DBlockTransposeINTEL = 6230,
13061306
SubgroupMatrixMultiplyAccumulateINTEL = 6236,
1307+
TernaryBitwiseFunctionINTEL = 6241,
13071308
GroupUniformArithmeticKHR = 6400,
13081309
TensorFloat32RoundingINTEL = 6425,
13091310
MaskedGatherScatterINTEL = 6427,
@@ -2429,6 +2430,7 @@ public enum Op
24292430
OpSubgroup2DBlockPrefetchINTEL = 6234,
24302431
OpSubgroup2DBlockStoreINTEL = 6235,
24312432
OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
2433+
OpBitwiseFunctionINTEL = 6242,
24322434
OpGroupIMulKHR = 6401,
24332435
OpGroupFMulKHR = 6402,
24342436
OpGroupBitwiseAndKHR = 6403,

include/spirv/unified1/spirv.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1275,6 +1275,7 @@ typedef enum SpvCapability_ {
12751275
SpvCapabilitySubgroup2DBlockTransformINTEL = 6229,
12761276
SpvCapabilitySubgroup2DBlockTransposeINTEL = 6230,
12771277
SpvCapabilitySubgroupMatrixMultiplyAccumulateINTEL = 6236,
1278+
SpvCapabilityTernaryBitwiseFunctionINTEL = 6241,
12781279
SpvCapabilityGroupUniformArithmeticKHR = 6400,
12791280
SpvCapabilityTensorFloat32RoundingINTEL = 6425,
12801281
SpvCapabilityMaskedGatherScatterINTEL = 6427,
@@ -2366,6 +2367,7 @@ typedef enum SpvOp_ {
23662367
SpvOpSubgroup2DBlockPrefetchINTEL = 6234,
23672368
SpvOpSubgroup2DBlockStoreINTEL = 6235,
23682369
SpvOpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
2370+
SpvOpBitwiseFunctionINTEL = 6242,
23692371
SpvOpGroupIMulKHR = 6401,
23702372
SpvOpGroupFMulKHR = 6402,
23712373
SpvOpGroupBitwiseAndKHR = 6403,
@@ -3170,6 +3172,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
31703172
case SpvOpSubgroup2DBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break;
31713173
case SpvOpSubgroup2DBlockStoreINTEL: *hasResult = false; *hasResultType = false; break;
31723174
case SpvOpSubgroupMatrixMultiplyAccumulateINTEL: *hasResult = true; *hasResultType = true; break;
3175+
case SpvOpBitwiseFunctionINTEL: *hasResult = true; *hasResultType = true; break;
31733176
case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
31743177
case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
31753178
case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
@@ -4123,6 +4126,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
41234126
case SpvCapabilitySubgroup2DBlockTransformINTEL: return "Subgroup2DBlockTransformINTEL";
41244127
case SpvCapabilitySubgroup2DBlockTransposeINTEL: return "Subgroup2DBlockTransposeINTEL";
41254128
case SpvCapabilitySubgroupMatrixMultiplyAccumulateINTEL: return "SubgroupMatrixMultiplyAccumulateINTEL";
4129+
case SpvCapabilityTernaryBitwiseFunctionINTEL: return "TernaryBitwiseFunctionINTEL";
41264130
case SpvCapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
41274131
case SpvCapabilityTensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL";
41284132
case SpvCapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
@@ -5102,6 +5106,7 @@ inline const char* SpvOpToString(SpvOp value) {
51025106
case SpvOpSubgroup2DBlockPrefetchINTEL: return "OpSubgroup2DBlockPrefetchINTEL";
51035107
case SpvOpSubgroup2DBlockStoreINTEL: return "OpSubgroup2DBlockStoreINTEL";
51045108
case SpvOpSubgroupMatrixMultiplyAccumulateINTEL: return "OpSubgroupMatrixMultiplyAccumulateINTEL";
5109+
case SpvOpBitwiseFunctionINTEL: return "OpBitwiseFunctionINTEL";
51055110
case SpvOpGroupIMulKHR: return "OpGroupIMulKHR";
51065111
case SpvOpGroupFMulKHR: return "OpGroupFMulKHR";
51075112
case SpvOpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";

include/spirv/unified1/spirv.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1271,6 +1271,7 @@ enum Capability {
12711271
CapabilitySubgroup2DBlockTransformINTEL = 6229,
12721272
CapabilitySubgroup2DBlockTransposeINTEL = 6230,
12731273
CapabilitySubgroupMatrixMultiplyAccumulateINTEL = 6236,
1274+
CapabilityTernaryBitwiseFunctionINTEL = 6241,
12741275
CapabilityGroupUniformArithmeticKHR = 6400,
12751276
CapabilityTensorFloat32RoundingINTEL = 6425,
12761277
CapabilityMaskedGatherScatterINTEL = 6427,
@@ -2362,6 +2363,7 @@ enum Op {
23622363
OpSubgroup2DBlockPrefetchINTEL = 6234,
23632364
OpSubgroup2DBlockStoreINTEL = 6235,
23642365
OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
2366+
OpBitwiseFunctionINTEL = 6242,
23652367
OpGroupIMulKHR = 6401,
23662368
OpGroupFMulKHR = 6402,
23672369
OpGroupBitwiseAndKHR = 6403,
@@ -3166,6 +3168,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
31663168
case OpSubgroup2DBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break;
31673169
case OpSubgroup2DBlockStoreINTEL: *hasResult = false; *hasResultType = false; break;
31683170
case OpSubgroupMatrixMultiplyAccumulateINTEL: *hasResult = true; *hasResultType = true; break;
3171+
case OpBitwiseFunctionINTEL: *hasResult = true; *hasResultType = true; break;
31693172
case OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
31703173
case OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
31713174
case OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
@@ -4119,6 +4122,7 @@ inline const char* CapabilityToString(Capability value) {
41194122
case CapabilitySubgroup2DBlockTransformINTEL: return "Subgroup2DBlockTransformINTEL";
41204123
case CapabilitySubgroup2DBlockTransposeINTEL: return "Subgroup2DBlockTransposeINTEL";
41214124
case CapabilitySubgroupMatrixMultiplyAccumulateINTEL: return "SubgroupMatrixMultiplyAccumulateINTEL";
4125+
case CapabilityTernaryBitwiseFunctionINTEL: return "TernaryBitwiseFunctionINTEL";
41224126
case CapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
41234127
case CapabilityTensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL";
41244128
case CapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
@@ -5098,6 +5102,7 @@ inline const char* OpToString(Op value) {
50985102
case OpSubgroup2DBlockPrefetchINTEL: return "OpSubgroup2DBlockPrefetchINTEL";
50995103
case OpSubgroup2DBlockStoreINTEL: return "OpSubgroup2DBlockStoreINTEL";
51005104
case OpSubgroupMatrixMultiplyAccumulateINTEL: return "OpSubgroupMatrixMultiplyAccumulateINTEL";
5105+
case OpBitwiseFunctionINTEL: return "OpBitwiseFunctionINTEL";
51015106
case OpGroupIMulKHR: return "OpGroupIMulKHR";
51025107
case OpGroupFMulKHR: return "OpGroupFMulKHR";
51035108
case OpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";

include/spirv/unified1/spirv.hpp11

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1271,6 +1271,7 @@ enum class Capability : unsigned {
12711271
Subgroup2DBlockTransformINTEL = 6229,
12721272
Subgroup2DBlockTransposeINTEL = 6230,
12731273
SubgroupMatrixMultiplyAccumulateINTEL = 6236,
1274+
TernaryBitwiseFunctionINTEL = 6241,
12741275
GroupUniformArithmeticKHR = 6400,
12751276
TensorFloat32RoundingINTEL = 6425,
12761277
MaskedGatherScatterINTEL = 6427,
@@ -2362,6 +2363,7 @@ enum class Op : unsigned {
23622363
OpSubgroup2DBlockPrefetchINTEL = 6234,
23632364
OpSubgroup2DBlockStoreINTEL = 6235,
23642365
OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
2366+
OpBitwiseFunctionINTEL = 6242,
23652367
OpGroupIMulKHR = 6401,
23662368
OpGroupFMulKHR = 6402,
23672369
OpGroupBitwiseAndKHR = 6403,
@@ -3166,6 +3168,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
31663168
case Op::OpSubgroup2DBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break;
31673169
case Op::OpSubgroup2DBlockStoreINTEL: *hasResult = false; *hasResultType = false; break;
31683170
case Op::OpSubgroupMatrixMultiplyAccumulateINTEL: *hasResult = true; *hasResultType = true; break;
3171+
case Op::OpBitwiseFunctionINTEL: *hasResult = true; *hasResultType = true; break;
31693172
case Op::OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
31703173
case Op::OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
31713174
case Op::OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
@@ -4119,6 +4122,7 @@ inline const char* CapabilityToString(Capability value) {
41194122
case Capability::Subgroup2DBlockTransformINTEL: return "Subgroup2DBlockTransformINTEL";
41204123
case Capability::Subgroup2DBlockTransposeINTEL: return "Subgroup2DBlockTransposeINTEL";
41214124
case Capability::SubgroupMatrixMultiplyAccumulateINTEL: return "SubgroupMatrixMultiplyAccumulateINTEL";
4125+
case Capability::TernaryBitwiseFunctionINTEL: return "TernaryBitwiseFunctionINTEL";
41224126
case Capability::GroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
41234127
case Capability::TensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL";
41244128
case Capability::MaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
@@ -5098,6 +5102,7 @@ inline const char* OpToString(Op value) {
50985102
case Op::OpSubgroup2DBlockPrefetchINTEL: return "OpSubgroup2DBlockPrefetchINTEL";
50995103
case Op::OpSubgroup2DBlockStoreINTEL: return "OpSubgroup2DBlockStoreINTEL";
51005104
case Op::OpSubgroupMatrixMultiplyAccumulateINTEL: return "OpSubgroupMatrixMultiplyAccumulateINTEL";
5105+
case Op::OpBitwiseFunctionINTEL: return "OpBitwiseFunctionINTEL";
51015106
case Op::OpGroupIMulKHR: return "OpGroupIMulKHR";
51025107
case Op::OpGroupFMulKHR: return "OpGroupFMulKHR";
51035108
case Op::OpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";

include/spirv/unified1/spirv.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,6 +1247,7 @@
12471247
"Subgroup2DBlockTransformINTEL": 6229,
12481248
"Subgroup2DBlockTransposeINTEL": 6230,
12491249
"SubgroupMatrixMultiplyAccumulateINTEL": 6236,
1250+
"TernaryBitwiseFunctionINTEL": 6241,
12501251
"GroupUniformArithmeticKHR": 6400,
12511252
"TensorFloat32RoundingINTEL": 6425,
12521253
"MaskedGatherScatterINTEL": 6427,
@@ -2349,6 +2350,7 @@
23492350
"OpSubgroup2DBlockPrefetchINTEL": 6234,
23502351
"OpSubgroup2DBlockStoreINTEL": 6235,
23512352
"OpSubgroupMatrixMultiplyAccumulateINTEL": 6237,
2353+
"OpBitwiseFunctionINTEL": 6242,
23522354
"OpGroupIMulKHR": 6401,
23532355
"OpGroupFMulKHR": 6402,
23542356
"OpGroupBitwiseAndKHR": 6403,

include/spirv/unified1/spirv.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1262,6 +1262,7 @@ spv = {
12621262
Subgroup2DBlockTransformINTEL = 6229,
12631263
Subgroup2DBlockTransposeINTEL = 6230,
12641264
SubgroupMatrixMultiplyAccumulateINTEL = 6236,
1265+
TernaryBitwiseFunctionINTEL = 6241,
12651266
GroupUniformArithmeticKHR = 6400,
12661267
TensorFloat32RoundingINTEL = 6425,
12671268
MaskedGatherScatterINTEL = 6427,
@@ -2353,6 +2354,7 @@ spv = {
23532354
OpSubgroup2DBlockPrefetchINTEL = 6234,
23542355
OpSubgroup2DBlockStoreINTEL = 6235,
23552356
OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
2357+
OpBitwiseFunctionINTEL = 6242,
23562358
OpGroupIMulKHR = 6401,
23572359
OpGroupFMulKHR = 6402,
23582360
OpGroupBitwiseAndKHR = 6403,

include/spirv/unified1/spirv.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1233,6 +1233,7 @@
12331233
'Subgroup2DBlockTransformINTEL' : 6229,
12341234
'Subgroup2DBlockTransposeINTEL' : 6230,
12351235
'SubgroupMatrixMultiplyAccumulateINTEL' : 6236,
1236+
'TernaryBitwiseFunctionINTEL' : 6241,
12361237
'GroupUniformArithmeticKHR' : 6400,
12371238
'TensorFloat32RoundingINTEL' : 6425,
12381239
'MaskedGatherScatterINTEL' : 6427,
@@ -2297,6 +2298,7 @@
22972298
'OpSubgroup2DBlockPrefetchINTEL' : 6234,
22982299
'OpSubgroup2DBlockStoreINTEL' : 6235,
22992300
'OpSubgroupMatrixMultiplyAccumulateINTEL' : 6237,
2301+
'OpBitwiseFunctionINTEL' : 6242,
23002302
'OpGroupIMulKHR' : 6401,
23012303
'OpGroupFMulKHR' : 6402,
23022304
'OpGroupBitwiseAndKHR' : 6403,

include/spirv/unified1/spv.d

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1307,6 +1307,7 @@ enum Capability : uint
13071307
Subgroup2DBlockTransformINTEL = 6229,
13081308
Subgroup2DBlockTransposeINTEL = 6230,
13091309
SubgroupMatrixMultiplyAccumulateINTEL = 6236,
1310+
TernaryBitwiseFunctionINTEL = 6241,
13101311
GroupUniformArithmeticKHR = 6400,
13111312
TensorFloat32RoundingINTEL = 6425,
13121313
MaskedGatherScatterINTEL = 6427,
@@ -2432,6 +2433,7 @@ enum Op : uint
24322433
OpSubgroup2DBlockPrefetchINTEL = 6234,
24332434
OpSubgroup2DBlockStoreINTEL = 6235,
24342435
OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
2436+
OpBitwiseFunctionINTEL = 6242,
24352437
OpGroupIMulKHR = 6401,
24362438
OpGroupFMulKHR = 6402,
24372439
OpGroupBitwiseAndKHR = 6403,

0 commit comments

Comments
 (0)