@@ -3496,6 +3496,38 @@ _SPIRV_OP(JointMatrixUUMad, true, 7)
34963496_SPIRV_OP(JointMatrixWorkItemLength, true , 4 )
34973497#undef _SPIRV_OP
34983498
3499+ class SPIRVJointMatrixINTELWorkItemInst : public SPIRVJointMatrixINTELInstBase {
3500+ protected:
3501+ SPIRVCapVec getRequiredCapability () const override {
3502+ return getVec (internal::CapabilityJointMatrixWIInstructionsINTEL);
3503+ }
3504+ };
3505+
3506+ #define _SPIRV_OP (x, ...) \
3507+ typedef SPIRVInstTemplate<SPIRVJointMatrixINTELWorkItemInst, \
3508+ internal::Op##x##INTEL, __VA_ARGS__> \
3509+ SPIRV##x##INTEL;
3510+ _SPIRV_OP (JointMatrixGetElementCoord, true , 5 )
3511+ #undef _SPIRV_OP
3512+
3513+ class SPIRVCooperativeMatrixPrefetchINTELInstBase
3514+ : public SPIRVInstTemplateBase {
3515+ protected:
3516+ std::optional<ExtensionID> getRequiredExtension () const override {
3517+ return ExtensionID::SPV_INTEL_joint_matrix;
3518+ }
3519+ SPIRVCapVec getRequiredCapability () const override {
3520+ return getVec (internal::CapabilityCooperativeMatrixPrefetchINTEL);
3521+ }
3522+ };
3523+
3524+ #define _SPIRV_OP (x, ...) \
3525+ typedef SPIRVInstTemplate<SPIRVCooperativeMatrixPrefetchINTELInstBase, \
3526+ internal::Op##x##INTEL, __VA_ARGS__> \
3527+ SPIRV##x##INTEL;
3528+ _SPIRV_OP (CooperativeMatrixPrefetch, false , 6 , true , 3 )
3529+ #undef _SPIRV_OP
3530+
34993531class SPIRVCooperativeMatrixCheckedInstructionsINTELInstBase
35003532 : public SPIRVInstTemplateBase {
35013533protected:
0 commit comments