Lines Matching full:opcode
31 // Combines word_count and opcode enumerant in single word.
32 uint32_t spvOpcodeMake(uint16_t word_count, SpvOp opcode);
34 // Splits word into into two constituent parts: word_count and opcode.
36 uint16_t* opcode);
38 // Finds the named opcode in the given opcode table. On success, returns
44 // Finds the opcode by enumerant in the given opcode table. On success, returns
48 const SpvOp opcode,
52 // source instruction's stream/opcode/endianness is in the words/opcode/endian
55 void spvInstructionCopy(const uint32_t* words, const SpvOp opcode,
60 const char* spvOpcodeString(const SpvOp opcode);
62 // Determine if the given opcode is a scalar type. Returns zero if false,
64 int32_t spvOpcodeIsScalarType(const SpvOp opcode);
66 // Determines if the given opcode is a specialization constant. Returns zero if
68 int32_t spvOpcodeIsSpecConstant(const SpvOp opcode);
70 // Determines if the given opcode is a constant. Returns zero if false, non-zero
72 int32_t spvOpcodeIsConstant(const SpvOp opcode);
74 // Returns true if the given opcode is a constant or undef.
75 bool spvOpcodeIsConstantOrUndef(const SpvOp opcode);
77 // Returns true if the given opcode is a scalar specialization constant.
78 bool spvOpcodeIsScalarSpecConstant(const SpvOp opcode);
80 // Determines if the given opcode is a composite type. Returns zero if false,
82 int32_t spvOpcodeIsComposite(const SpvOp opcode);
84 // Determines if the given opcode results in a pointer when using the logical
86 int32_t spvOpcodeReturnsLogicalPointer(const SpvOp opcode);
88 // Returns whether the given opcode could result in a pointer or a variable
90 bool spvOpcodeReturnsLogicalVariablePointer(const SpvOp opcode);
92 // Determines if the given opcode generates a type. Returns zero if false,
94 int32_t spvOpcodeGeneratesType(SpvOp opcode);
96 // Returns true if the opcode adds a decoration to an id.
97 bool spvOpcodeIsDecoration(const SpvOp opcode);
99 // Returns true if the opcode is a load from memory into a result id. This
101 bool spvOpcodeIsLoad(const SpvOp opcode);
103 // Returns true if the opcode is an atomic operation that uses the original
105 bool spvOpcodeIsAtomicWithLoad(const SpvOp opcode);
107 // Returns true if the opcode is an atomic operation.
108 bool spvOpcodeIsAtomicOp(const SpvOp opcode);
110 // Returns true if the given opcode is a branch instruction.
111 bool spvOpcodeIsBranch(SpvOp opcode);
113 // Returns true if the given opcode is a return instruction.
114 bool spvOpcodeIsReturn(SpvOp opcode);
116 // Returns true if the given opcode is a return instruction or it aborts
118 bool spvOpcodeIsReturnOrAbort(SpvOp opcode);
120 // Returns true if the given opcode is a basic block terminator.
121 bool spvOpcodeIsBlockTerminator(SpvOp opcode);
123 // Returns true if the given opcode always defines an opaque type.
124 bool spvOpcodeIsBaseOpaqueType(SpvOp opcode);
126 // Returns true if the given opcode is a non-uniform group operation.
127 bool spvOpcodeIsNonUniformGroupOperation(SpvOp opcode);
129 // Returns true if the opcode with vector inputs could be divided into a series
131 bool spvOpcodeIsScalarizable(SpvOp opcode);
133 // Returns true if the given opcode is a debug instruction.
134 bool spvOpcodeIsDebug(SpvOp opcode);