@@ -125,7 +125,9 @@ enum class inner_blk_t {
125125 _4b32a4b,
126126 _4b64a4b,
127127 _2b8a4b,
128+ _8b8a2b,
128129 _8b16a2b,
130+ _8b24a2b,
129131 _8b32a2b,
130132 _8b64a2b,
131133 _8b16c2b,
@@ -190,19 +192,20 @@ constexpr int AB_or_BC_blk_off(int x0, int x1) {
190192 ib::_16b2c, ib::_16b4c, ib::_2c8b4c, ib::_8a16b2a,
191193 ib::_4b64a4b, ib::_4b32a4b, ib::_4b24a4b, ib::_4b16a4b,
192194 ib::_4b8a4b, ib::_2b8a4b, ib::_8b64a2b, ib::_8b32a2b,
193- ib::_8b16a2b, ib::_8b16c2b, ib::_4c16b4c, ib::_8c16b2c,
194- ib::_2b4c2b, ib::_2c4b2c, ib::_4b8c2b, ib::_4c8b2c,
195- ib::_16a32b, ib::_16a48b, ib::_16a64b, ib::_16a16b2a,
196- ib::_16a32b2a, ib::_16a48b2a, ib::_16a64b2a, ib::_16a16b4a,
197- ib::_16a32b4a, ib::_16a48b4a, ib::_16a64b4a, ib::_16b16a2b,
198- ib::_16b16a4b, ib::_16b16c2b, ib::_16c16b2c, ib::_16c16b4c,
199- ib::_2a8b8a2b, ib::_2b8c8b2c, ib::_4a8b8a4b, ib::_4b8c8b4c,
200- ib::_16b32a2b, ib::_16b48a2b, ib::_16b64a2b, ib::_16b32a4b,
201- ib::_16b48a4b, ib::_16b64a4b, ib::_16c32b2c, ib::_16c48b2c,
202- ib::_16c64b2c, ib::_16c32b4c, ib::_16c48b4c, ib::_16c64b4c,
203- ib::_16b32c, ib::_16b48c, ib::_16b64c, ib::_16b32c2b,
204- ib::_16b48c2b, ib::_16b64c2b, ib::_16b16c4b, ib::_16b32c4b,
205- ib::_16b48c4b, ib::_16b64c4b, ib::_24a2b, ib::_24b2c),
195+ ib::_8b24a2b, ib::_8b16a2b, ib::_8b8a2b, ib::_8b16c2b,
196+ ib::_4c16b4c, ib::_8c16b2c, ib::_2b4c2b, ib::_2c4b2c,
197+ ib::_4b8c2b, ib::_4c8b2c, ib::_16a32b, ib::_16a48b,
198+ ib::_16a64b, ib::_16a16b2a, ib::_16a32b2a, ib::_16a48b2a,
199+ ib::_16a64b2a, ib::_16a16b4a, ib::_16a32b4a, ib::_16a48b4a,
200+ ib::_16a64b4a, ib::_16b16a2b, ib::_16b16a4b, ib::_16b16c2b,
201+ ib::_16c16b2c, ib::_16c16b4c, ib::_2a8b8a2b, ib::_2b8c8b2c,
202+ ib::_4a8b8a4b, ib::_4b8c8b4c, ib::_16b32a2b, ib::_16b48a2b,
203+ ib::_16b64a2b, ib::_16b32a4b, ib::_16b48a4b, ib::_16b64a4b,
204+ ib::_16c32b2c, ib::_16c48b2c, ib::_16c64b2c, ib::_16c32b4c,
205+ ib::_16c48b4c, ib::_16c64b4c, ib::_16b32c, ib::_16b48c,
206+ ib::_16b64c, ib::_16b32c2b, ib::_16b48c2b, ib::_16b64c2b,
207+ ib::_16b16c4b, ib::_16b32c4b, ib::_16b48c4b, ib::_16b64c4b,
208+ ib::_24a2b, ib::_24b2c),
206209 " unexpected inner_blk format" );
207210
208211 // clang-format off
@@ -237,7 +240,9 @@ constexpr int AB_or_BC_blk_off(int x0, int x1) {
237240 : (f == ib::_2b8a4b || f == ib::_2c8b4c) ? (x1 / 4 ) * 32 + x0 * 4 + x1 % 4
238241 : (f == ib::_16b16a2b || f == ib::_16c16b2c) ? (x1 / 2 ) * 32 + x0 * 2 + x1 % 2
239242 : (f == ib::_16b16a4b || f == ib::_16c16b4c) ? (x1 / 4 ) * 64 + x0 * 4 + x1 % 4
243+ : (f == ib::_8b8a2b) ? (x1 / 2 ) * 16 + x0 * 2 + x1 % 2
240244 : (f == ib::_8b16a2b || f == ib::_8c16b2c) ? (x1 / 2 ) * 32 + x0 * 2 + x1 % 2
245+ : (f == ib::_8b24a2b) ? (x1 / 2 ) * 48 + x0 * 2 + x1 % 2
241246 : (f == ib::_8b32a2b) ? (x1 / 2 ) * 64 + x0 * 2 + x1 % 2
242247 : (f == ib::_8b64a2b) ? (x1 / 2 ) * 128 + x0 * 2 + x1 % 2
243248 : (f == ib::_2b4c2b || f == ib::_2c4b2c) ? (x0 / 2 ) * 8 + x1 * 2 + x0 % 2
@@ -790,6 +795,15 @@ DECL_TRAITS(ABc8b16a, _AB, _8b16a, 3);
790795DECL_TRAITS (ABcd8b16a, _AB, _8b16a, 4 );
791796DECL_TRAITS (ABcde8b16a, _AB, _8b16a, 5 );
792797DECL_TRAITS (AB8b8a, _AB, _8b8a, 2 );
798+
799+ DECL_TRAITS (AB8b8a2b, _AB, _8b8a2b, 2 );
800+ DECL_TRAITS (ABc8b8a2b, _AB, _8b8a2b, 3 );
801+ DECL_TRAITS (ABcd8b8a2b, _AB, _8b8a2b, 4 );
802+ DECL_TRAITS (ABcde8b8a2b, _AB, _8b8a2b, 5 );
803+ DECL_TRAITS (AB8b24a2b, _AB, _8b24a2b, 2 );
804+ DECL_TRAITS (ABc8b24a2b, _AB, _8b24a2b, 3 );
805+ DECL_TRAITS (ABcd8b24a2b, _AB, _8b24a2b, 4 );
806+ DECL_TRAITS (ABcde8b24a2b, _AB, _8b24a2b, 5 );
793807} // namespace impl
794808} // namespace dnnl
795809
0 commit comments