|
23 | 23 |
|
24 | 24 | #ifdef __SYCL_DEVICE_ONLY__ |
25 | 25 | template <typename T, std::size_t R, std::size_t C, |
| 26 | + __spv::MatrixUse U = __spv::MatrixUse::Unnecessary, |
26 | 27 | __spv::MatrixLayout L = __spv::MatrixLayout::RowMajor, |
27 | 28 | __spv::Scope::Flag S = __spv::Scope::Flag::Subgroup> |
28 | | -extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T, R, C, L, S> * |
| 29 | +extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T, R, C, L, S, U> * |
29 | 30 | __spirv_JointMatrixLoadINTEL(T *Ptr, std::size_t Stride, |
30 | 31 | __spv::MatrixLayout Layout = L, |
31 | 32 | __spv::Scope::Flag Sc = S, int MemOperand = 0); |
32 | 33 |
|
33 | 34 | template <typename T, std::size_t R, std::size_t C, |
| 35 | + __spv::MatrixUse U = __spv::MatrixUse::Unnecessary, |
34 | 36 | __spv::MatrixLayout L = __spv::MatrixLayout::RowMajor, |
35 | 37 | __spv::Scope::Flag S = __spv::Scope::Flag::Subgroup> |
36 | 38 | extern SYCL_EXTERNAL void __spirv_JointMatrixStoreINTEL( |
37 | | - T *Ptr, __spv::__spirv_JointMatrixINTEL<T, R, C, L, S> *Object, |
| 39 | + T *Ptr, __spv::__spirv_JointMatrixINTEL<T, R, C, L, S, U> *Object, |
38 | 40 | std::size_t Stride, __spv::MatrixLayout Layout = L, |
39 | 41 | __spv::Scope::Flag Sc = S, int MemOperand = 0); |
40 | 42 |
|
41 | 43 | template <typename T1, typename T2, std::size_t M, std::size_t K, std::size_t N, |
| 44 | + __spv::MatrixUse UA = __spv::MatrixUse::Unnecessary, |
| 45 | + __spv::MatrixUse UB = __spv::MatrixUse::Unnecessary, |
| 46 | + __spv::MatrixUse UC = __spv::MatrixUse::Unnecessary, |
42 | 47 | __spv::MatrixLayout LA = __spv::MatrixLayout::RowMajor, |
43 | 48 | __spv::MatrixLayout LB = __spv::MatrixLayout::RowMajor, |
44 | 49 | __spv::MatrixLayout LC = __spv::MatrixLayout::RowMajor, |
45 | 50 | __spv::Scope::Flag S = __spv::Scope::Flag::Subgroup> |
46 | | -extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T2, M, N, LC, S> * |
| 51 | +extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T2, M, N, LC, S, UC> * |
47 | 52 | __spirv_JointMatrixMadINTEL( |
48 | | - __spv::__spirv_JointMatrixINTEL<T1, M, K, LA, S> *A, |
49 | | - __spv::__spirv_JointMatrixINTEL<T1, K, N, LB, S> *B, |
50 | | - __spv::__spirv_JointMatrixINTEL<T2, M, N, LC, S> *C, |
| 53 | + __spv::__spirv_JointMatrixINTEL<T1, M, K, LA, S, UA> *A, |
| 54 | + __spv::__spirv_JointMatrixINTEL<T1, K, N, LB, S, UB> *B, |
| 55 | + __spv::__spirv_JointMatrixINTEL<T2, M, N, LC, S, UC> *C, |
51 | 56 | __spv::Scope::Flag Sc = __spv::Scope::Flag::Subgroup); |
52 | 57 |
|
53 | 58 | template <typename T1, typename T2, typename T3, std::size_t M, std::size_t K, |
54 | | - std::size_t N, __spv::MatrixLayout LA = __spv::MatrixLayout::RowMajor, |
| 59 | + std::size_t N, __spv::MatrixUse UA = __spv::MatrixUse::Unnecessary, |
| 60 | + __spv::MatrixUse UB = __spv::MatrixUse::Unnecessary, |
| 61 | + __spv::MatrixUse UC = __spv::MatrixUse::Unnecessary, |
| 62 | + __spv::MatrixLayout LA = __spv::MatrixLayout::RowMajor, |
55 | 63 | __spv::MatrixLayout LB = __spv::MatrixLayout::RowMajor, |
56 | 64 | __spv::MatrixLayout LC = __spv::MatrixLayout::RowMajor, |
57 | 65 | __spv::Scope::Flag S = __spv::Scope::Flag::Subgroup> |
58 | | -extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T3, M, N, LC, S> * |
| 66 | +extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T3, M, N, LC, S, UC> * |
59 | 67 | __spirv_JointMatrixUUMadINTEL( |
60 | | - __spv::__spirv_JointMatrixINTEL<T1, M, K, LA, S> *A, |
61 | | - __spv::__spirv_JointMatrixINTEL<T2, K, N, LB, S> *B, |
62 | | - __spv::__spirv_JointMatrixINTEL<T3, M, N, LC, S> *C, |
| 68 | + __spv::__spirv_JointMatrixINTEL<T1, M, K, LA, S, UA> *A, |
| 69 | + __spv::__spirv_JointMatrixINTEL<T2, K, N, LB, S, UB> *B, |
| 70 | + __spv::__spirv_JointMatrixINTEL<T3, M, N, LC, S, UC> *C, |
63 | 71 | __spv::Scope::Flag Sc = __spv::Scope::Flag::Subgroup); |
64 | 72 |
|
65 | 73 | template <typename T1, typename T2, typename T3, std::size_t M, std::size_t K, |
66 | | - std::size_t N, __spv::MatrixLayout LA = __spv::MatrixLayout::RowMajor, |
| 74 | + std::size_t N, __spv::MatrixUse UA = __spv::MatrixUse::Unnecessary, |
| 75 | + __spv::MatrixUse UB = __spv::MatrixUse::Unnecessary, |
| 76 | + __spv::MatrixUse UC = __spv::MatrixUse::Unnecessary, |
| 77 | + __spv::MatrixLayout LA = __spv::MatrixLayout::RowMajor, |
67 | 78 | __spv::MatrixLayout LB = __spv::MatrixLayout::RowMajor, |
68 | 79 | __spv::MatrixLayout LC = __spv::MatrixLayout::RowMajor, |
69 | 80 | __spv::Scope::Flag S = __spv::Scope::Flag::Subgroup> |
70 | | -extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T3, M, N, LC, S> * |
| 81 | +extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T3, M, N, LC, S, UC> * |
71 | 82 | __spirv_JointMatrixUSMadINTEL( |
72 | | - __spv::__spirv_JointMatrixINTEL<T1, M, K, LA, S> *A, |
73 | | - __spv::__spirv_JointMatrixINTEL<T2, K, N, LB, S> *B, |
74 | | - __spv::__spirv_JointMatrixINTEL<T3, M, N, LC, S> *C, |
| 83 | + __spv::__spirv_JointMatrixINTEL<T1, M, K, LA, S, UA> *A, |
| 84 | + __spv::__spirv_JointMatrixINTEL<T2, K, N, LB, S, UB> *B, |
| 85 | + __spv::__spirv_JointMatrixINTEL<T3, M, N, LC, S, UC> *C, |
75 | 86 | __spv::Scope::Flag Sc = __spv::Scope::Flag::Subgroup); |
76 | 87 |
|
77 | 88 | template <typename T1, typename T2, typename T3, std::size_t M, std::size_t K, |
78 | | - std::size_t N, __spv::MatrixLayout LA = __spv::MatrixLayout::RowMajor, |
| 89 | + std::size_t N, __spv::MatrixUse UA = __spv::MatrixUse::Unnecessary, |
| 90 | + __spv::MatrixUse UB = __spv::MatrixUse::Unnecessary, |
| 91 | + __spv::MatrixUse UC = __spv::MatrixUse::Unnecessary, |
| 92 | + __spv::MatrixLayout LA = __spv::MatrixLayout::RowMajor, |
79 | 93 | __spv::MatrixLayout LB = __spv::MatrixLayout::RowMajor, |
80 | 94 | __spv::MatrixLayout LC = __spv::MatrixLayout::RowMajor, |
81 | 95 | __spv::Scope::Flag S = __spv::Scope::Flag::Subgroup> |
82 | | -extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T3, M, N, LC, S> * |
| 96 | +extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T3, M, N, LC, S, UC> * |
83 | 97 | __spirv_JointMatrixSUMadINTEL( |
84 | | - __spv::__spirv_JointMatrixINTEL<T1, M, K, LA, S> *A, |
85 | | - __spv::__spirv_JointMatrixINTEL<T2, K, N, LB, S> *B, |
86 | | - __spv::__spirv_JointMatrixINTEL<T3, M, N, LC, S> *C, |
| 98 | + __spv::__spirv_JointMatrixINTEL<T1, M, K, LA, S, UA> *A, |
| 99 | + __spv::__spirv_JointMatrixINTEL<T2, K, N, LB, S, UB> *B, |
| 100 | + __spv::__spirv_JointMatrixINTEL<T3, M, N, LC, S, UC> *C, |
87 | 101 | __spv::Scope::Flag Sc = __spv::Scope::Flag::Subgroup); |
88 | 102 |
|
89 | 103 | template <typename T, std::size_t R, std::size_t C, |
| 104 | + __spv::MatrixUse U = __spv::MatrixUse::Unnecessary, |
90 | 105 | __spv::MatrixLayout L = __spv::MatrixLayout::RowMajor, |
91 | 106 | __spv::Scope::Flag S = __spv::Scope::Flag::Subgroup> |
92 | | -extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T, R, C, L, S> * |
| 107 | +extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T, R, C, L, S, U> * |
93 | 108 | __spirv_CompositeConstruct(const T v); |
94 | 109 |
|
95 | | -template <typename T, std::size_t R, std::size_t C, __spv::MatrixLayout U, |
| 110 | +template <typename T, std::size_t R, std::size_t C, __spv::MatrixUse U, |
| 111 | + __spv::MatrixLayout L, |
96 | 112 | __spv::Scope::Flag S = __spv::Scope::Flag::Subgroup> |
97 | 113 | extern SYCL_EXTERNAL size_t __spirv_JointMatrixWorkItemLengthINTEL( |
98 | | - __spv::__spirv_JointMatrixINTEL<T, R, C, U, S> *); |
| 114 | + __spv::__spirv_JointMatrixINTEL<T, R, C, L, S, U> *); |
99 | 115 |
|
100 | | -template <typename T, std::size_t R, std::size_t C, __spv::MatrixLayout U, |
| 116 | +template <typename T, std::size_t R, std::size_t C, __spv::MatrixUse U, |
| 117 | + __spv::MatrixLayout L, |
101 | 118 | __spv::Scope::Flag S = __spv::Scope::Flag::Subgroup> |
102 | 119 | extern SYCL_EXTERNAL T __spirv_VectorExtractDynamic( |
103 | | - __spv::__spirv_JointMatrixINTEL<T, R, C, U, S> *, size_t i); |
| 120 | + __spv::__spirv_JointMatrixINTEL<T, R, C, L, S, U> *, size_t i); |
104 | 121 |
|
105 | | -template <typename T, std::size_t R, std::size_t C, __spv::MatrixLayout U, |
| 122 | +template <typename T, std::size_t R, std::size_t C, __spv::MatrixUse U, |
| 123 | + __spv::MatrixLayout L, |
106 | 124 | __spv::Scope::Flag S = __spv::Scope::Flag::Subgroup> |
107 | | -extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T, R, C, U, S> * |
108 | | -__spirv_VectorInsertDynamic(__spv::__spirv_JointMatrixINTEL<T, R, C, U, S> *, |
| 125 | +extern SYCL_EXTERNAL __spv::__spirv_JointMatrixINTEL<T, R, C, L, S, U> * |
| 126 | +__spirv_VectorInsertDynamic(__spv::__spirv_JointMatrixINTEL<T, R, C, L, S, U> *, |
109 | 127 | T val, size_t i); |
110 | 128 |
|
111 | 129 | #ifndef __SPIRV_BUILTIN_DECLARATIONS__ |
|
0 commit comments