Lines Matching +full:32 +full:- +full:bits

1 //===- SPIRVSymbolicOperands.td ----------------------------*- tablegen -*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // This file defines symbolic/named operands for various SPIR-V instructions.
11 //===----------------------------------------------------------------------===//
15 //===----------------------------------------------------------------------===//
17 // - Category (Extension/Capability/BuiltIn/etc.)
18 // - Value (32-bit representation for binary emission)
19 // - Mnemonic (String representation for textual emission)
20 // - MinVersion
21 // - MaxVersion
22 //===----------------------------------------------------------------------===//
24 // Forward-declare classes used in SymbolicOperand
27 …ass SymbolicOperand<OperandCategory category, bits<32> value, string mnemonic, bits<32> minVersion…
29 bits<32> Value = value;
31 bits<32> MinVersion = minVersion;
32 bits<32> MaxVersion = maxVersion;
56 //===----------------------------------------------------------------------===//
57 // Lookup table for matching symbolic operands (category + 32-bit value) to
58 // a SPIR-V extension.
59 //===----------------------------------------------------------------------===//
61 // Forward-declare classes used in ExtensionEntry
64 class ExtensionEntry<OperandCategory category, bits<32> value, Extension reqExtension> {
66 bits<32> Value = value;
86 //===----------------------------------------------------------------------===//
87 // Lookup table for matching symbolic operands (category + 32-bit value) to
88 // SPIR-V capabilities. If an operand requires more than one capability, there
90 //===----------------------------------------------------------------------===//
92 // Forward-declare classes used in ExtensionEntry
95 class CapabilityEntry<OperandCategory category, bits<32> value, Capability reqCabaility> {
97 bits<32> Value = value;
112 //===----------------------------------------------------------------------===//
115 //===----------------------------------------------------------------------===//
117 …andWithRequirements<OperandCategory category, bits<32> value, string mnemonic, bits<32> minVersion…
131 //===----------------------------------------------------------------------===//
133 //===----------------------------------------------------------------------===//
174 //===----------------------------------------------------------------------===//
177 //===----------------------------------------------------------------------===//
186 class Extension<string name, bits<32> value> {
188 bits<32> Value = value;
191 multiclass ExtensionOperand<bits<32> value> {
227 defm SPV_EXT_descriptor_indexing : ExtensionOperand<32>;
307 //===----------------------------------------------------------------------===//
311 //===----------------------------------------------------------------------===//
320 class Capability<string name, bits<32> value> {
322 bits<32> Value = value;
325 multiclass CapabilityOperand<bits<32> value, bits<32> minVersion, bits<32> maxVersion, list<Extensi…
358 defm ClipDistance : CapabilityOperand<32, 0, 0, [], [Shader]>;
484 //===----------------------------------------------------------------------===//
487 //===----------------------------------------------------------------------===//
496 class SourceLanguage<string name, bits<32> value> {
498 bits<32> Value = value;
501 multiclass SourceLanguageOperand<bits<32> value> {
513 //===----------------------------------------------------------------------===//
516 //===----------------------------------------------------------------------===//
525 class AddressingModel<string name, bits<32> value> {
527 bits<32> Value = value;
530 multiclass AddressingModelOperand<bits<32> value, list<Capability> reqCapabilities> {
540 //===----------------------------------------------------------------------===//
543 //===----------------------------------------------------------------------===//
552 class ExecutionModel<string name, bits<32> value> {
554 bits<32> Value = value;
557 multiclass ExecutionModelOperand<bits<32> value, list<Capability> reqCapabilities> {
578 //===----------------------------------------------------------------------===//
581 //===----------------------------------------------------------------------===//
590 class MemoryModel<string name, bits<32> value> {
592 bits<32> Value = value;
595 multiclass MemoryModelOperand<bits<32> value, list<Capability> reqCapabilities> {
605 //===----------------------------------------------------------------------===//
608 //===----------------------------------------------------------------------===//
617 class ExecutionMode<string name, bits<32> value> {
619 bits<32> Value = value;
622 multiclass ExecutionModeOperand<bits<32> value, list<Capability> reqCapabilities> {
677 //===----------------------------------------------------------------------===//
680 //===----------------------------------------------------------------------===//
689 class StorageClass<string name, bits<32> value> {
691 bits<32> Value = value;
694 multiclass StorageClassOperand<bits<32> value, list<Extension> reqExtensions, list<Capability> reqC…
723 //===----------------------------------------------------------------------===//
726 //===----------------------------------------------------------------------===//
735 class Dim<string name, bits<32> value> {
737 bits<32> Value = value;
740 multiclass DimOperand<bits<32> value, string mnemonic, list<Capability> reqCapabilities> {
753 //===----------------------------------------------------------------------===//
756 //===----------------------------------------------------------------------===//
765 class SamplerAddressingMode<string name, bits<32> value> {
767 bits<32> Value = value;
770 multiclass SamplerAddressingModeOperand<bits<32> value, list<Capability> reqCapabilities> {
781 //===----------------------------------------------------------------------===//
784 //===----------------------------------------------------------------------===//
793 class SamplerFilterMode<string name, bits<32> value> {
795 bits<32> Value = value;
798 multiclass SamplerFilterModeOperand<bits<32> value, list<Capability> reqCapabilities> {
806 //===----------------------------------------------------------------------===//
809 //===----------------------------------------------------------------------===//
818 class ImageFormat<string name, bits<32> value> {
820 bits<32> Value = value;
823 multiclass ImageFormatOperand<bits<32> value, list<Capability> reqCapabilities> {
860 defm Rgba8ui : ImageFormatOperand<32, [Shader]>;
869 //===----------------------------------------------------------------------===//
872 //===----------------------------------------------------------------------===//
881 class ImageChannelOrder<string name, bits<32> value> {
883 bits<32> Value = value;
886 multiclass ImageChannelOrderOperand<bits<32> value, list<Capability> reqCapabilities> {
912 //===----------------------------------------------------------------------===//
915 //===----------------------------------------------------------------------===//
924 class ImageChannelDataType<string name, bits<32> value> {
926 bits<32> Value = value;
929 multiclass ImageChannelDataTypeOperand<bits<32> value, list<Capability> reqCapabilities> {
952 //===----------------------------------------------------------------------===//
955 //===----------------------------------------------------------------------===//
964 class ImageOperand<string name, bits<32> value> {
966 bits<32> Value = value;
969 multiclass ImageOperandOperand<bits<32> value, list<Capability> reqCapabilities> {
990 //===----------------------------------------------------------------------===//
993 //===----------------------------------------------------------------------===//
1002 class FPFastMathMode<string name, bits<32> value> {
1004 bits<32> Value = value;
1007 multiclass FPFastMathModeOperand<bits<32> value, list<Capability> reqCapabilities> {
1019 //===----------------------------------------------------------------------===//
1022 //===----------------------------------------------------------------------===//
1031 class FPRoundingMode<string name, bits<32> value> {
1033 bits<32> Value = value;
1036 multiclass FPRoundingModeOperand<bits<32> value> {
1046 //===----------------------------------------------------------------------===//
1049 //===----------------------------------------------------------------------===//
1058 class LinkageType<string name, bits<32> value> {
1060 bits<32> Value = value;
1063 multiclass LinkageTypeOperand<bits<32> value, list<Capability> reqCapabilities> {
1072 //===----------------------------------------------------------------------===//
1075 //===----------------------------------------------------------------------===//
1084 class AccessQualifier<string name, bits<32> value> {
1086 bits<32> Value = value;
1089 multiclass AccessQualifierOperand<bits<32> value, list<Capability> reqCapabilities> {
1098 //===----------------------------------------------------------------------===//
1101 //===----------------------------------------------------------------------===//
1110 class FunctionParameterAttribute<string name, bits<32> value> {
1112 bits<32> Value = value;
1115 multiclass FunctionParameterAttributeOperand<bits<32> value, list<Capability> reqCapabilities> {
1129 //===----------------------------------------------------------------------===//
1133 //===----------------------------------------------------------------------===//
1142 class Decoration<string name, bits<32> value> {
1144 bits<32> Value = value;
1147 multiclass DecorationOperand<bits<32> value, bits<32> minVersion, bits<32> maxVersion, list<Extensi…
1183 defm Index : DecorationOperand<32, 0, 0, [], [Shader]>;
1224 //===----------------------------------------------------------------------===//
1228 //===----------------------------------------------------------------------===//
1237 class BuiltIn<string name, bits<32> value> {
1239 bits<32> Value = value;
1242 multiclass BuiltInOperand<bits<32> value, bits<32> minVersion, bits<32> maxVersion, list<Extension>…
1277 defm EnqueuedWorkgroupSize : BuiltInOperand<32, 0, 0, [], [Kernel]>;
1339 //===----------------------------------------------------------------------===//
1342 //===----------------------------------------------------------------------===//
1351 class SelectionControl<string name, bits<32> value> {
1353 bits<32> Value = value;
1356 multiclass SelectionControlOperand<bits<32> value> {
1365 //===----------------------------------------------------------------------===//
1368 //===----------------------------------------------------------------------===//
1377 class LoopControl<string name, bits<32> value> {
1379 bits<32> Value = value;
1382 multiclass LoopControlOperand<bits<32> value> {
1398 //===----------------------------------------------------------------------===//
1401 //===----------------------------------------------------------------------===//
1410 class FunctionControl<string name, bits<32> value> {
1412 bits<32> Value = value;
1415 multiclass FunctionControlOperand<bits<32> value> {
1426 //===----------------------------------------------------------------------===//
1430 //===----------------------------------------------------------------------===//
1439 class MemorySemantics<string name, bits<32> value> {
1441 bits<32> Value = value;
1444 multiclass MemorySemanticsOperand<bits<32> value, bits<32> minVersion, bits<32> maxVersion, list<Ex…
1464 //===----------------------------------------------------------------------===//
1468 //===----------------------------------------------------------------------===//
1477 class MemoryOperand<string name, bits<32> value> {
1479 bits<32> Value = value;
1482 multiclass MemoryOperandOperand<bits<32> value, bits<32> minVersion, bits<32> maxVersion, list<Exte…
1495 //===----------------------------------------------------------------------===//
1499 //===----------------------------------------------------------------------===//
1508 class Scope<string name, bits<32> value> {
1510 bits<32> Value = value;
1513 multiclass ScopeOperand<bits<32> value, bits<32> minVersion, bits<32> maxVersion, list<Extension> r…
1525 //===----------------------------------------------------------------------===//
1529 //===----------------------------------------------------------------------===//
1538 class GroupOperation<string name, bits<32> value> {
1540 bits<32> Value = value;
1543 multiclass GroupOperationOperand<bits<32> value, bits<32> minVersion, bits<32> maxVersion, list<Ext…
1556 //===----------------------------------------------------------------------===//
1560 //===----------------------------------------------------------------------===//
1569 class KernelEnqueueFlags<string name, bits<32> value> {
1571 bits<32> Value = value;
1574 multiclass KernelEnqueueFlagsOperand<bits<32> value, bits<32> minVersion, bits<32> maxVersion, list…
1583 //===----------------------------------------------------------------------===//
1587 //===----------------------------------------------------------------------===//
1596 class KernelProfilingInfo<string name, bits<32> value> {
1598 bits<32> Value = value;
1601 multiclass KernelProfilingInfoOperand<bits<32> value, bits<32> minVersion, bits<32> maxVersion, lis…
1609 //===----------------------------------------------------------------------===//
1612 //===----------------------------------------------------------------------===//
1621 class Opcode<string name, bits<32> value> {
1623 bits<32> Value = value;
1626 multiclass OpcodeOperand<bits<32> value> {