-
Notifications
You must be signed in to change notification settings - Fork 970
/
c_types_map.hpp
2108 lines (2031 loc) · 93.6 KB
/
c_types_map.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/*******************************************************************************
* Copyright 2016-2024 Intel Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*******************************************************************************/
#ifndef COMMON_C_TYPES_MAP_HPP
#define COMMON_C_TYPES_MAP_HPP
#include "oneapi/dnnl/dnnl_types.h"
// These aliases should be in the global namespace as they are intended
// to give names that better reflects the meaning of the entities
using primitive_iface_t = dnnl_primitive;
using primitive_desc_iface_t = dnnl_primitive_desc;
namespace dnnl {
namespace impl {
// TODO: autogenerate this
using dim_t = dnnl_dim_t;
using dims_t = dnnl_dims_t;
using stride_t = dnnl_dim_t;
using strides_t = dnnl_dims_t;
#ifdef DNNL_STATUS_NODISCARD
// nodiscard is not allowed in type aliases
using status_t __attribute__((warn_unused_result)) = dnnl_status_t;
#else
using status_t = dnnl_status_t;
#endif
namespace status {
const status_t success = dnnl_success;
const status_t out_of_memory = dnnl_out_of_memory;
const status_t invalid_arguments = dnnl_invalid_arguments;
const status_t unimplemented = dnnl_unimplemented;
const status_t last_impl_reached = dnnl_last_impl_reached;
const status_t runtime_error = dnnl_runtime_error;
const status_t not_required = dnnl_not_required;
} // namespace status
using prop_kind_t = dnnl_prop_kind_t;
namespace prop_kind {
const prop_kind_t undef = dnnl_prop_kind_undef;
const prop_kind_t forward_training = dnnl_forward_training;
const prop_kind_t forward_inference = dnnl_forward_inference;
const prop_kind_t forward = dnnl_forward;
const prop_kind_t backward = dnnl_backward;
const prop_kind_t backward_data = dnnl_backward_data;
const prop_kind_t backward_weights = dnnl_backward_weights;
const prop_kind_t backward_bias = dnnl_backward_bias;
} // namespace prop_kind
using alg_kind_t = dnnl_alg_kind_t;
namespace alg_kind {
const alg_kind_t undef = dnnl_alg_kind_undef;
const alg_kind_t convolution_auto = dnnl_convolution_auto;
const alg_kind_t convolution_direct = dnnl_convolution_direct;
const alg_kind_t convolution_winograd = dnnl_convolution_winograd;
const alg_kind_t deconvolution_direct = dnnl_deconvolution_direct;
const alg_kind_t deconvolution_winograd = dnnl_deconvolution_winograd;
const alg_kind_t eltwise_relu = dnnl_eltwise_relu;
const alg_kind_t eltwise_tanh = dnnl_eltwise_tanh;
const alg_kind_t eltwise_elu = dnnl_eltwise_elu;
const alg_kind_t eltwise_square = dnnl_eltwise_square;
const alg_kind_t eltwise_abs = dnnl_eltwise_abs;
const alg_kind_t eltwise_sqrt = dnnl_eltwise_sqrt;
const alg_kind_t eltwise_swish = dnnl_eltwise_swish;
const alg_kind_t eltwise_linear = dnnl_eltwise_linear;
const alg_kind_t eltwise_soft_relu = dnnl_eltwise_soft_relu;
const alg_kind_t eltwise_logistic = dnnl_eltwise_logistic;
const alg_kind_t eltwise_mish = dnnl_eltwise_mish;
const alg_kind_t eltwise_exp = dnnl_eltwise_exp;
const alg_kind_t eltwise_log = dnnl_eltwise_log;
const alg_kind_t eltwise_clip = dnnl_eltwise_clip;
const alg_kind_t eltwise_clip_v2 = dnnl_eltwise_clip_v2;
const alg_kind_t eltwise_pow = dnnl_eltwise_pow;
const alg_kind_t eltwise_gelu_tanh = dnnl_eltwise_gelu_tanh;
const alg_kind_t eltwise_gelu_erf = dnnl_eltwise_gelu_erf;
const alg_kind_t eltwise_hardswish = dnnl_eltwise_hardswish;
const alg_kind_t eltwise_hardsigmoid = dnnl_eltwise_hardsigmoid;
const alg_kind_t eltwise_relu_use_dst_for_bwd
= dnnl_eltwise_relu_use_dst_for_bwd;
const alg_kind_t eltwise_tanh_use_dst_for_bwd
= dnnl_eltwise_tanh_use_dst_for_bwd;
const alg_kind_t eltwise_elu_use_dst_for_bwd = dnnl_eltwise_elu_use_dst_for_bwd;
const alg_kind_t eltwise_sqrt_use_dst_for_bwd
= dnnl_eltwise_sqrt_use_dst_for_bwd;
const alg_kind_t eltwise_logistic_use_dst_for_bwd
= dnnl_eltwise_logistic_use_dst_for_bwd;
const alg_kind_t eltwise_exp_use_dst_for_bwd = dnnl_eltwise_exp_use_dst_for_bwd;
const alg_kind_t eltwise_clip_v2_use_dst_for_bwd
= dnnl_eltwise_clip_v2_use_dst_for_bwd;
const alg_kind_t eltwise_round = dnnl_eltwise_round;
const alg_kind_t pooling_max = dnnl_pooling_max;
const alg_kind_t pooling_avg_include_padding = dnnl_pooling_avg_include_padding;
const alg_kind_t pooling_avg_exclude_padding = dnnl_pooling_avg_exclude_padding;
const alg_kind_t lrn_across_channels = dnnl_lrn_across_channels;
const alg_kind_t lrn_within_channel = dnnl_lrn_within_channel;
const alg_kind_t vanilla_rnn = dnnl_vanilla_rnn;
const alg_kind_t vanilla_lstm = dnnl_vanilla_lstm;
const alg_kind_t vanilla_gru = dnnl_vanilla_gru;
const alg_kind_t lbr_gru = dnnl_lbr_gru;
const alg_kind_t vanilla_augru = dnnl_vanilla_augru;
const alg_kind_t lbr_augru = dnnl_lbr_augru;
const alg_kind_t binary_add = dnnl_binary_add;
const alg_kind_t binary_mul = dnnl_binary_mul;
const alg_kind_t binary_max = dnnl_binary_max;
const alg_kind_t binary_min = dnnl_binary_min;
const alg_kind_t binary_div = dnnl_binary_div;
const alg_kind_t binary_sub = dnnl_binary_sub;
const alg_kind_t binary_ge = dnnl_binary_ge;
const alg_kind_t binary_gt = dnnl_binary_gt;
const alg_kind_t binary_le = dnnl_binary_le;
const alg_kind_t binary_lt = dnnl_binary_lt;
const alg_kind_t binary_eq = dnnl_binary_eq;
const alg_kind_t binary_ne = dnnl_binary_ne;
const alg_kind_t resampling_nearest = dnnl_resampling_nearest;
const alg_kind_t resampling_linear = dnnl_resampling_linear;
const alg_kind_t reduction_max = dnnl_reduction_max;
const alg_kind_t reduction_min = dnnl_reduction_min;
const alg_kind_t reduction_sum = dnnl_reduction_sum;
const alg_kind_t reduction_mul = dnnl_reduction_mul;
const alg_kind_t reduction_mean = dnnl_reduction_mean;
const alg_kind_t reduction_norm_lp_max = dnnl_reduction_norm_lp_max;
const alg_kind_t reduction_norm_lp_sum = dnnl_reduction_norm_lp_sum;
const alg_kind_t reduction_norm_lp_power_p_max
= dnnl_reduction_norm_lp_power_p_max;
const alg_kind_t reduction_norm_lp_power_p_sum
= dnnl_reduction_norm_lp_power_p_sum;
const alg_kind_t softmax_accurate = dnnl_softmax_accurate;
const alg_kind_t softmax_log = dnnl_softmax_log;
} // namespace alg_kind
using data_type_t = dnnl_data_type_t;
namespace data_type {
const data_type_t undef = dnnl_data_type_undef;
const data_type_t f8_e5m2 = dnnl_f8_e5m2;
const data_type_t f8_e4m3 = dnnl_f8_e4m3;
const data_type_t f16 = dnnl_f16;
const data_type_t bf16 = dnnl_bf16;
const data_type_t f32 = dnnl_f32;
const data_type_t f64 = dnnl_f64;
const data_type_t s32 = dnnl_s32;
const data_type_t s8 = dnnl_s8;
const data_type_t u8 = dnnl_u8;
const data_type_t s4 = dnnl_s4;
const data_type_t u4 = dnnl_u4;
const data_type_t boolean = dnnl_boolean;
const data_type_t data_type_max = dnnl_data_type_max;
// Not exposed through API as all current uses are internal only
const data_type_t tf32 = static_cast<data_type_t>(1 << 8);
} // namespace data_type
using fpmath_mode_t = dnnl_fpmath_mode_t;
namespace fpmath_mode {
const fpmath_mode_t strict = dnnl_fpmath_mode_strict;
const fpmath_mode_t bf16 = dnnl_fpmath_mode_bf16;
const fpmath_mode_t f16 = dnnl_fpmath_mode_f16;
const fpmath_mode_t tf32 = dnnl_fpmath_mode_tf32;
const fpmath_mode_t any = dnnl_fpmath_mode_any;
} // namespace fpmath_mode
using accumulation_mode_t = dnnl_accumulation_mode_t;
namespace accumulation_mode {
const accumulation_mode_t strict = dnnl_accumulation_mode_strict;
const accumulation_mode_t relaxed = dnnl_accumulation_mode_relaxed;
const accumulation_mode_t any = dnnl_accumulation_mode_any;
const accumulation_mode_t f32 = dnnl_accumulation_mode_f32;
const accumulation_mode_t s32 = dnnl_accumulation_mode_s32;
const accumulation_mode_t f16 = dnnl_accumulation_mode_f16;
} // namespace accumulation_mode
using scratchpad_mode_t = dnnl_scratchpad_mode_t;
namespace scratchpad_mode {
const scratchpad_mode_t library = dnnl_scratchpad_mode_library;
const scratchpad_mode_t user = dnnl_scratchpad_mode_user;
} // namespace scratchpad_mode
#ifdef DNNL_EXPERIMENTAL_SPARSE
using sparse_encoding_t = dnnl_sparse_encoding_t;
namespace sparse_encoding {
const sparse_encoding_t undef = dnnl_sparse_encoding_undef;
const sparse_encoding_t csr = dnnl_csr;
const sparse_encoding_t packed = dnnl_packed;
} // namespace sparse_encoding
#else
// Declare dummy values to avoid guarding internal implementation.
using sparse_encoding_t = int;
namespace sparse_encoding {
const sparse_encoding_t undef = 0;
const sparse_encoding_t csr = 1;
const sparse_encoding_t packed = 2;
} // namespace sparse_encoding
#endif
using format_kind_t = dnnl_format_kind_t;
namespace format_kind {
const format_kind_t undef = dnnl_format_kind_undef;
const format_kind_t any = dnnl_format_kind_any;
const format_kind_t blocked = dnnl_blocked;
const format_kind_t opaque = dnnl_format_kind_opaque;
#ifdef DNNL_EXPERIMENTAL_SPARSE
const format_kind_t sparse = dnnl_format_kind_sparse;
#else
const format_kind_t sparse = static_cast<format_kind_t>(4);
#endif
// Internal only format kinds.
const format_kind_t internal_only_start = (format_kind_t)(1 << 8);
const format_kind_t wino = internal_only_start;
const format_kind_t rnn_packed = (format_kind_t)(internal_only_start + 1);
} // namespace format_kind
#ifdef DNNL_EXPERIMENTAL_PROFILING
using profiling_data_kind_t = dnnl_profiling_data_kind_t;
namespace profiling_data_kind {
const profiling_data_kind_t undef = dnnl_profiling_data_kind_undef;
const profiling_data_kind_t time = dnnl_profiling_data_kind_time;
#else
using profiling_data_kind_t = int;
namespace profiling_data_kind {
const profiling_data_kind_t undef = 0;
const profiling_data_kind_t time = 1;
#endif
// Internal only data kinds.
const profiling_data_kind_t internal_only_start
= (profiling_data_kind_t)(1 << 8);
const profiling_data_kind_t cycles
= (profiling_data_kind_t)(internal_only_start + 1);
} // namespace profiling_data_kind
using format_tag_t = dnnl_format_tag_t;
namespace format_tag {
const format_tag_t undef = dnnl_format_tag_undef;
const format_tag_t any = dnnl_format_tag_any;
const format_tag_t a = dnnl_a;
const format_tag_t ab = dnnl_ab;
const format_tag_t abc = dnnl_abc;
const format_tag_t abcd = dnnl_abcd;
const format_tag_t abcde = dnnl_abcde;
const format_tag_t abcdef = dnnl_abcdef;
const format_tag_t abcdefg = dnnl_abcdefg;
const format_tag_t abcdefgh = dnnl_abcdefgh;
const format_tag_t abcdefghi = dnnl_abcdefghi;
const format_tag_t abcdefghij = dnnl_abcdefghij;
const format_tag_t abcdefghijk = dnnl_abcdefghijk;
const format_tag_t abcdefghijkl = dnnl_abcdefghijkl;
const format_tag_t abcdefghijlk = dnnl_abcdefghijlk;
const format_tag_t abcdefghikj = dnnl_abcdefghikj;
const format_tag_t abcdefghji = dnnl_abcdefghji;
const format_tag_t abcdefgih = dnnl_abcdefgih;
const format_tag_t abcdefhg = dnnl_abcdefhg;
const format_tag_t abcdegf = dnnl_abcdegf;
const format_tag_t abcdfe = dnnl_abcdfe;
const format_tag_t abced = dnnl_abced;
const format_tag_t abdc = dnnl_abdc;
const format_tag_t acbd = dnnl_acbd;
const format_tag_t abdec = dnnl_abdec;
const format_tag_t abdfce = dnnl_abdfce;
const format_tag_t acb = dnnl_acb;
const format_tag_t acbde = dnnl_acbde;
const format_tag_t acbdef = dnnl_acbdef;
const format_tag_t abdefc = dnnl_abdefc;
const format_tag_t acdb = dnnl_acdb;
const format_tag_t acdeb = dnnl_acdeb;
const format_tag_t adbc = dnnl_adbc;
const format_tag_t ba = dnnl_ba;
const format_tag_t bac = dnnl_bac;
const format_tag_t bacd = dnnl_bacd;
const format_tag_t bca = dnnl_bca;
const format_tag_t bcad = dnnl_bcad;
const format_tag_t bcda = dnnl_bcda;
const format_tag_t bcdea = dnnl_bcdea;
const format_tag_t bacde = dnnl_bacde;
const format_tag_t cab = dnnl_cab;
const format_tag_t cba = dnnl_cba;
const format_tag_t cabd = dnnl_cabd;
const format_tag_t cdab = dnnl_cdab;
const format_tag_t cdba = dnnl_cdba;
const format_tag_t dabc = dnnl_dabc;
const format_tag_t dcab = dnnl_dcab;
const format_tag_t cdeab = dnnl_cdeab;
const format_tag_t cdeba = dnnl_cdeba;
const format_tag_t decab = dnnl_decab;
const format_tag_t defcab = dnnl_defcab;
const format_tag_t AB16b16a = dnnl_AB16b16a;
const format_tag_t AB16b32a = dnnl_AB16b32a;
const format_tag_t AB16b48a = dnnl_AB16b48a;
const format_tag_t AB16b64a = dnnl_AB16b64a;
const format_tag_t AB8b16a2b = dnnl_AB8b16a2b;
const format_tag_t AB8b32a2b = dnnl_AB8b32a2b;
const format_tag_t AB8b64a2b = dnnl_AB8b64a2b;
const format_tag_t AB4b8a4b = dnnl_AB4b8a4b;
const format_tag_t AB4b16a4b = dnnl_AB4b16a4b;
const format_tag_t AB4b24a4b = dnnl_AB4b24a4b;
const format_tag_t AB4b32a4b = dnnl_AB4b32a4b;
const format_tag_t AB4b64a4b = dnnl_AB4b64a4b;
const format_tag_t AB32a16b = dnnl_AB32a16b;
const format_tag_t AB32a32b = dnnl_AB32a32b;
const format_tag_t AB48a16b = dnnl_AB48a16b;
const format_tag_t AB48a32b = dnnl_AB48a32b;
const format_tag_t BA4b8a8b2a = dnnl_BA4b8a8b2a;
const format_tag_t BA4b8a8b4a = dnnl_BA4b8a8b4a;
const format_tag_t BA4b8a16b2a = dnnl_BA4b8a16b2a;
const format_tag_t BA4b8a16b4a = dnnl_BA4b8a16b4a;
const format_tag_t aBC32b16c = dnnl_aBC32b16c;
const format_tag_t aBC32b32c = dnnl_aBC32b32c;
const format_tag_t aBC48b16c = dnnl_aBC48b16c;
const format_tag_t aBC48b32c = dnnl_aBC48b32c;
const format_tag_t aCB4c8b8c2b = dnnl_aCB4c8b8c2b;
const format_tag_t aCB4c8b8c4b = dnnl_aCB4c8b8c4b;
const format_tag_t aCB4c8b16c2b = dnnl_aCB4c8b16c2b;
const format_tag_t aCB4c8b16c4b = dnnl_aCB4c8b16c4b;
const format_tag_t AB16b16a4b = dnnl_AB16b16a4b;
const format_tag_t AB16b32a4b = dnnl_AB16b32a4b;
const format_tag_t AB16b48a4b = dnnl_AB16b48a4b;
const format_tag_t AB16b64a4b = dnnl_AB16b64a4b;
const format_tag_t AB16b16a2b = dnnl_AB16b16a2b;
const format_tag_t AB16b32a2b = dnnl_AB16b32a2b;
const format_tag_t AB16b48a2b = dnnl_AB16b48a2b;
const format_tag_t AB16b64a2b = dnnl_AB16b64a2b;
const format_tag_t BA4b4a = dnnl_BA4b4a;
const format_tag_t BA8b4a = dnnl_BA8b4a;
const format_tag_t BA16a16b = dnnl_BA16a16b;
const format_tag_t BA16a32b = dnnl_BA16a32b;
const format_tag_t BA16a48b = dnnl_BA16a48b;
const format_tag_t BA16a64b = dnnl_BA16a64b;
const format_tag_t BA16a16b2a = dnnl_BA16a16b2a;
const format_tag_t BA16a32b2a = dnnl_BA16a32b2a;
const format_tag_t BA16a48b2a = dnnl_BA16a48b2a;
const format_tag_t BA16a64b2a = dnnl_BA16a64b2a;
const format_tag_t BA16a16b4a = dnnl_BA16a16b4a;
const format_tag_t BA16a32b4a = dnnl_BA16a32b4a;
const format_tag_t BA16a48b4a = dnnl_BA16a48b4a;
const format_tag_t BA16a64b4a = dnnl_BA16a64b4a;
const format_tag_t aCB16b16c = dnnl_aCB16b16c;
const format_tag_t aCB16b32c = dnnl_aCB16b32c;
const format_tag_t aCB16b48c = dnnl_aCB16b48c;
const format_tag_t aCB16b64c = dnnl_aCB16b64c;
const format_tag_t aCB16b16c2b = dnnl_aCB16b16c2b;
const format_tag_t aCB16b32c2b = dnnl_aCB16b32c2b;
const format_tag_t aCB16b48c2b = dnnl_aCB16b48c2b;
const format_tag_t aCB16b64c2b = dnnl_aCB16b64c2b;
const format_tag_t aCB16b16c4b = dnnl_aCB16b16c4b;
const format_tag_t aCB16b32c4b = dnnl_aCB16b32c4b;
const format_tag_t aCB16b48c4b = dnnl_aCB16b48c4b;
const format_tag_t aCB16b64c4b = dnnl_aCB16b64c4b;
const format_tag_t Ab4a = dnnl_Ab4a;
const format_tag_t Ab8a = dnnl_Ab8a;
const format_tag_t Abc16a = dnnl_Abc16a;
const format_tag_t ABc16a16b = dnnl_ABc16a16b;
const format_tag_t ABc4a2b = dnnl_ABc4a2b;
const format_tag_t ABc4a4b = dnnl_ABc4a4b;
const format_tag_t aBc16b = dnnl_aBc16b;
const format_tag_t aBc32b = dnnl_aBc32b;
const format_tag_t ABc16b16a = dnnl_ABc16b16a;
const format_tag_t AcB16b16a = dnnl_AcB16b16a;
const format_tag_t ABc16b32a = dnnl_ABc16b32a;
const format_tag_t AcB16b32a = dnnl_AcB16b32a;
const format_tag_t ABc16b48a = dnnl_ABc16b48a;
const format_tag_t AcB16b48a = dnnl_AcB16b48a;
const format_tag_t ABc16b64a = dnnl_ABc16b64a;
const format_tag_t AcB16b64a = dnnl_AcB16b64a;
const format_tag_t Abc4a = dnnl_Abc4a;
const format_tag_t aBc4b = dnnl_aBc4b;
const format_tag_t ABc4b8a4b = dnnl_ABc4b8a4b;
const format_tag_t AcB4b8a4b = dnnl_AcB4b8a4b;
const format_tag_t ABc4b16a4b = dnnl_ABc4b16a4b;
const format_tag_t AcB4b16a4b = dnnl_AcB4b16a4b;
const format_tag_t ABc4b24a4b = dnnl_ABc4b24a4b;
const format_tag_t AcB4b24a4b = dnnl_AcB4b24a4b;
const format_tag_t ABc4b32a4b = dnnl_ABc4b32a4b;
const format_tag_t AcB4b32a4b = dnnl_AcB4b32a4b;
const format_tag_t ABc4b64a4b = dnnl_ABc4b64a4b;
const format_tag_t AcB4b64a4b = dnnl_AcB4b64a4b;
const format_tag_t ABc2b8a4b = dnnl_ABc2b8a4b;
const format_tag_t ABc16b16a4b = dnnl_ABc16b16a4b;
const format_tag_t ABc16b32a4b = dnnl_ABc16b32a4b;
const format_tag_t ABc16b48a4b = dnnl_ABc16b48a4b;
const format_tag_t ABc16b64a4b = dnnl_ABc16b64a4b;
const format_tag_t ABc16b16a2b = dnnl_ABc16b16a2b;
const format_tag_t ABc16b32a2b = dnnl_ABc16b32a2b;
const format_tag_t ABc16b48a2b = dnnl_ABc16b48a2b;
const format_tag_t ABc16b64a2b = dnnl_ABc16b64a2b;
const format_tag_t ABc16a16b2a = dnnl_ABc16a16b2a;
const format_tag_t ABc4b4a = dnnl_ABc4b4a;
const format_tag_t ABc8a16b2a = dnnl_ABc8a16b2a;
const format_tag_t BAc8a16b2a = dnnl_BAc8a16b2a;
const format_tag_t ABc8a8b = dnnl_ABc8a8b;
const format_tag_t ABc8a2b = dnnl_ABc8a2b;
const format_tag_t ABc8a4b = dnnl_ABc8a4b;
const format_tag_t aBc8b = dnnl_aBc8b;
const format_tag_t ABc8b16a2b = dnnl_ABc8b16a2b;
const format_tag_t AcB8b16a2b = dnnl_AcB8b16a2b;
const format_tag_t ABc8b32a2b = dnnl_ABc8b32a2b;
const format_tag_t AcB8b32a2b = dnnl_AcB8b32a2b;
const format_tag_t ABc8b64a2b = dnnl_ABc8b64a2b;
const format_tag_t AcB8b64a2b = dnnl_AcB8b64a2b;
const format_tag_t ABc8b8a = dnnl_ABc8b8a;
const format_tag_t AcB8b8a = dnnl_AcB8b8a;
const format_tag_t Abcd16a = dnnl_Abcd16a;
const format_tag_t Abcd8a = dnnl_Abcd8a;
const format_tag_t Abcd32a = dnnl_Abcd32a;
const format_tag_t ABcd16a16b = dnnl_ABcd16a16b;
const format_tag_t aBcd16b = dnnl_aBcd16b;
const format_tag_t aBcd32b = dnnl_aBcd32b;
const format_tag_t ABcd16b16a = dnnl_ABcd16b16a;
const format_tag_t AcdB16b16a = dnnl_AcdB16b16a;
const format_tag_t ABcd16b32a = dnnl_ABcd16b32a;
const format_tag_t AcdB16b32a = dnnl_AcdB16b32a;
const format_tag_t ABcd16b48a = dnnl_ABcd16b48a;
const format_tag_t AcdB16b48a = dnnl_AcdB16b48a;
const format_tag_t ABcd16b64a = dnnl_ABcd16b64a;
const format_tag_t AcdB16b64a = dnnl_AcdB16b64a;
const format_tag_t aBCd16b16c = dnnl_aBCd16b16c;
const format_tag_t aBCd16c16b = dnnl_aBCd16c16b;
const format_tag_t Abcd4a = dnnl_Abcd4a;
const format_tag_t aBcd4b = dnnl_aBcd4b;
const format_tag_t ABcd4b8a4b = dnnl_ABcd4b8a4b;
const format_tag_t AcdB4b8a4b = dnnl_AcdB4b8a4b;
const format_tag_t ABcd4b16a4b = dnnl_ABcd4b16a4b;
const format_tag_t AcdB4b16a4b = dnnl_AcdB4b16a4b;
const format_tag_t ABcd4b24a4b = dnnl_ABcd4b24a4b;
const format_tag_t AcdB4b24a4b = dnnl_AcdB4b24a4b;
const format_tag_t ABcd4b32a4b = dnnl_ABcd4b32a4b;
const format_tag_t AcdB4b32a4b = dnnl_AcdB4b32a4b;
const format_tag_t ABcd4b64a4b = dnnl_ABcd4b64a4b;
const format_tag_t AcdB4b64a4b = dnnl_AcdB4b64a4b;
const format_tag_t ABcd16b16a4b = dnnl_ABcd16b16a4b;
const format_tag_t ABcd16b32a4b = dnnl_ABcd16b32a4b;
const format_tag_t ABcd16b48a4b = dnnl_ABcd16b48a4b;
const format_tag_t ABcd16b64a4b = dnnl_ABcd16b64a4b;
const format_tag_t ABcd16b16a2b = dnnl_ABcd16b16a2b;
const format_tag_t ABcd16b32a2b = dnnl_ABcd16b32a2b;
const format_tag_t ABcd16b48a2b = dnnl_ABcd16b48a2b;
const format_tag_t ABcd16b64a2b = dnnl_ABcd16b64a2b;
const format_tag_t ABcd16a16b2a = dnnl_ABcd16a16b2a;
const format_tag_t ABcde16a16b2a = dnnl_ABcde16a16b2a;
const format_tag_t ABcd4b4a = dnnl_ABcd4b4a;
const format_tag_t ABcd4a2b = dnnl_ABcd4a2b;
const format_tag_t ABcd4a4b = dnnl_ABcd4a4b;
const format_tag_t aBCd4c16b4c = dnnl_aBCd4c16b4c;
const format_tag_t aBCd2c8b4c = dnnl_aBCd2c8b4c;
const format_tag_t aBCd16c16b4c = dnnl_aBCd16c16b4c;
const format_tag_t aBCd16c16b2c = dnnl_aBCd16c16b2c;
const format_tag_t aBCd16b16c2b = dnnl_aBCd16b16c2b;
const format_tag_t aBCd4c4b = dnnl_aBCd4c4b;
const format_tag_t aBCd4b4c = dnnl_aBCd4b4c;
const format_tag_t ABcd8a16b2a = dnnl_ABcd8a16b2a;
const format_tag_t BAcd8a16b2a = dnnl_BAcd8a16b2a;
const format_tag_t ABcd8a8b = dnnl_ABcd8a8b;
const format_tag_t ABcd8a4b = dnnl_ABcd8a4b;
const format_tag_t ABcd8a2b = dnnl_ABcd8a2b;
const format_tag_t aBcd8b = dnnl_aBcd8b;
const format_tag_t ABcd8b16a2b = dnnl_ABcd8b16a2b;
const format_tag_t AcdB8b16a2b = dnnl_AcdB8b16a2b;
const format_tag_t ABcd8b32a2b = dnnl_ABcd8b32a2b;
const format_tag_t AcdB8b32a2b = dnnl_AcdB8b32a2b;
const format_tag_t ABcd8b64a2b = dnnl_ABcd8b64a2b;
const format_tag_t AcdB8b64a2b = dnnl_AcdB8b64a2b;
const format_tag_t ABcd2b8a4b = dnnl_ABcd2b8a4b;
const format_tag_t aBCd8b16c2b = dnnl_aBCd8b16c2b;
const format_tag_t aCBd8b16c2b = dnnl_aCBd8b16c2b;
const format_tag_t aBCd2c8b16c2b = dnnl_aBCd2c8b16c2b;
const format_tag_t ABcd8b8a = dnnl_ABcd8b8a;
const format_tag_t AcdB8b8a = dnnl_AcdB8b8a;
const format_tag_t aBCd8b8c = dnnl_aBCd8b8c;
const format_tag_t aBCd8b2c = dnnl_aBCd8b2c;
const format_tag_t aBCd8b4c = dnnl_aBCd8b4c;
const format_tag_t aBCd8c16b2c = dnnl_aBCd8c16b2c;
const format_tag_t aBCd8c8b = dnnl_aBCd8c8b;
const format_tag_t Abcde16a = dnnl_Abcde16a;
const format_tag_t Abcde32a = dnnl_Abcde32a;
const format_tag_t ABcde16a16b = dnnl_ABcde16a16b;
const format_tag_t aBcde16b = dnnl_aBcde16b;
const format_tag_t aBcde32b = dnnl_aBcde32b;
const format_tag_t ABcde16b16a = dnnl_ABcde16b16a;
const format_tag_t AcdeB16b16a = dnnl_AcdeB16b16a;
const format_tag_t ABcde16b32a = dnnl_ABcde16b32a;
const format_tag_t AcdeB16b32a = dnnl_AcdeB16b32a;
const format_tag_t ABcde16b48a = dnnl_ABcde16b48a;
const format_tag_t AcdeB16b48a = dnnl_AcdeB16b48a;
const format_tag_t ABcde16b64a = dnnl_ABcde16b64a;
const format_tag_t AcdeB16b64a = dnnl_AcdeB16b64a;
const format_tag_t aBCde16b16c = dnnl_aBCde16b16c;
const format_tag_t aBCde16c16b = dnnl_aBCde16c16b;
const format_tag_t aBCde2c8b4c = dnnl_aBCde2c8b4c;
const format_tag_t Abcde4a = dnnl_Abcde4a;
const format_tag_t aBcde4b = dnnl_aBcde4b;
const format_tag_t ABcde4b4a = dnnl_ABcde4b4a;
const format_tag_t ABcde4a2b = dnnl_ABcde4a2b;
const format_tag_t ABcde4a4b = dnnl_ABcde4a4b;
const format_tag_t aBCde4b4c = dnnl_aBCde4b4c;
const format_tag_t aBCde4c16b4c = dnnl_aBCde4c16b4c;
const format_tag_t aBCde16c16b4c = dnnl_aBCde16c16b4c;
const format_tag_t aBCde16c16b2c = dnnl_aBCde16c16b2c;
const format_tag_t aBCde16b16c2b = dnnl_aBCde16b16c2b;
const format_tag_t aBCde4c4b = dnnl_aBCde4c4b;
const format_tag_t Abcde8a = dnnl_Abcde8a;
const format_tag_t ABcde8a8b = dnnl_ABcde8a8b;
const format_tag_t ABcde8a2b = dnnl_ABcde8a2b;
const format_tag_t ABcde8a4b = dnnl_ABcde8a4b;
const format_tag_t aBcde8b = dnnl_aBcde8b;
const format_tag_t ABcde8b16a2b = dnnl_ABcde8b16a2b;
const format_tag_t AcdeB8b16a2b = dnnl_AcdeB8b16a2b;
const format_tag_t ABcde8b32a2b = dnnl_ABcde8b32a2b;
const format_tag_t AcdeB8b32a2b = dnnl_AcdeB8b32a2b;
const format_tag_t ABcde8b64a2b = dnnl_ABcde8b64a2b;
const format_tag_t AcdeB8b64a2b = dnnl_AcdeB8b64a2b;
const format_tag_t ABcde8a16b2a = dnnl_ABcde8a16b2a;
const format_tag_t BAcde8a16b2a = dnnl_BAcde8a16b2a;
const format_tag_t ABcde4b8a4b = dnnl_ABcde4b8a4b;
const format_tag_t AcdeB4b8a4b = dnnl_AcdeB4b8a4b;
const format_tag_t ABcde4b16a4b = dnnl_ABcde4b16a4b;
const format_tag_t AcdeB4b16a4b = dnnl_AcdeB4b16a4b;
const format_tag_t ABcde4b24a4b = dnnl_ABcde4b24a4b;
const format_tag_t AcdeB4b24a4b = dnnl_AcdeB4b24a4b;
const format_tag_t ABcde4b32a4b = dnnl_ABcde4b32a4b;
const format_tag_t AcdeB4b32a4b = dnnl_AcdeB4b32a4b;
const format_tag_t ABcde4b64a4b = dnnl_ABcde4b64a4b;
const format_tag_t AcdeB4b64a4b = dnnl_AcdeB4b64a4b;
const format_tag_t ABcde16b16a4b = dnnl_ABcde16b16a4b;
const format_tag_t ABcde16b32a4b = dnnl_ABcde16b32a4b;
const format_tag_t ABcde16b48a4b = dnnl_ABcde16b48a4b;
const format_tag_t ABcde16b64a4b = dnnl_ABcde16b64a4b;
const format_tag_t ABcde2b8a4b = dnnl_ABcde2b8a4b;
const format_tag_t aBCde8b16c2b = dnnl_aBCde8b16c2b;
const format_tag_t aCBde8b16c2b = dnnl_aCBde8b16c2b;
const format_tag_t ABcde8b8a = dnnl_ABcde8b8a;
const format_tag_t AcdeB8b8a = dnnl_AcdeB8b8a;
const format_tag_t aBCde8b8c = dnnl_aBCde8b8c;
const format_tag_t aBCde8b2c = dnnl_aBCde8b2c;
const format_tag_t aBCde8b4c = dnnl_aBCde8b4c;
const format_tag_t ABc4a8b8a4b = dnnl_ABc4a8b8a4b;
const format_tag_t ABcd4a8b8a4b = dnnl_ABcd4a8b8a4b;
const format_tag_t ABcde4a8b8a4b = dnnl_ABcde4a8b8a4b;
const format_tag_t ABcd2a8b8a2b = dnnl_ABcd2a8b8a2b;
const format_tag_t ABcde4a8b8a2b = dnnl_ABcde4a8b8a2b;
const format_tag_t ABcd4a8b8a2b = dnnl_ABcd4a8b8a2b;
const format_tag_t ABc4a8b8a2b = dnnl_ABc4a8b8a2b;
const format_tag_t aBCdef4b8c8b2c = dnnl_aBCdef4b8c8b2c;
const format_tag_t aBCde4b8c8b2c = dnnl_aBCde4b8c8b2c;
const format_tag_t aBCd4b8c8b2c = dnnl_aBCd4b8c8b2c;
const format_tag_t BAcde4b8a8b2a = dnnl_BAcde4b8a8b2a;
const format_tag_t BAcd4b8a8b2a = dnnl_BAcd4b8a8b2a;
const format_tag_t BAc4b8a8b2a = dnnl_BAc4b8a8b2a;
const format_tag_t aCBdef4c8b8c2b = dnnl_aCBdef4c8b8c2b;
const format_tag_t aCBde4c8b8c2b = dnnl_aCBde4c8b8c2b;
const format_tag_t aCBd4c8b8c2b = dnnl_aCBd4c8b8c2b;
const format_tag_t aBCd4b8c8b4c = dnnl_aBCd4b8c8b4c;
const format_tag_t aBCde4b8c8b4c = dnnl_aBCde4b8c8b4c;
const format_tag_t aBCdef4b8c8b4c = dnnl_aBCdef4b8c8b4c;
const format_tag_t BAc4b8a8b4a = dnnl_BAc4b8a8b4a;
const format_tag_t BAcd4b8a8b4a = dnnl_BAcd4b8a8b4a;
const format_tag_t BAcde4b8a8b4a = dnnl_BAcde4b8a8b4a;
const format_tag_t aCBd4c8b8c4b = dnnl_aCBd4c8b8c4b;
const format_tag_t aCBde4c8b8c4b = dnnl_aCBde4c8b8c4b;
const format_tag_t aCBdef4c8b8c4b = dnnl_aCBdef4c8b8c4b;
const format_tag_t aBCde2b8c8b2c = dnnl_aBCde2b8c8b2c;
const format_tag_t aBCde8c16b2c = dnnl_aBCde8c16b2c;
const format_tag_t aBCde8c8b = dnnl_aBCde8c8b;
const format_tag_t aBcdef16b = dnnl_aBcdef16b;
const format_tag_t aBCdef16b16c = dnnl_aBCdef16b16c;
const format_tag_t aBCdef16b16c2b = dnnl_aBCdef16b16c2b;
const format_tag_t aBCdef16c16b = dnnl_aBCdef16c16b;
const format_tag_t aBCdef4c16b4c = dnnl_aBCdef4c16b4c;
const format_tag_t aBCdef2c8b4c = dnnl_aBCdef2c8b4c;
const format_tag_t aBcdef4b = dnnl_aBcdef4b;
const format_tag_t aBCdef4c4b = dnnl_aBCdef4c4b;
const format_tag_t aBCdef4b4c = dnnl_aBCdef4b4c;
const format_tag_t aBCdef8b8c = dnnl_aBCdef8b8c;
const format_tag_t aBCdef8b2c = dnnl_aBCdef8b2c;
const format_tag_t aBCdef8b4c = dnnl_aBCdef8b4c;
const format_tag_t aBCdef8c16b2c = dnnl_aBCdef8c16b2c;
const format_tag_t aBCdef8b16c2b = dnnl_aBCdef8b16c2b;
const format_tag_t aCBdef8b16c2b = dnnl_aCBdef8b16c2b;
const format_tag_t aBCdef8c8b = dnnl_aBCdef8c8b;
const format_tag_t aBdc16b = dnnl_aBdc16b;
const format_tag_t aBdC16b2c = dnnl_aBdC16b2c;
const format_tag_t aBdC16b4c = dnnl_aBdC16b4c;
const format_tag_t aBdc4b = dnnl_aBdc4b;
const format_tag_t aBdc8b = dnnl_aBdc8b;
const format_tag_t aBdC8b2c = dnnl_aBdC8b2c;
const format_tag_t aBdC8b4c = dnnl_aBdC8b4c;
const format_tag_t aBdec16b = dnnl_aBdec16b;
const format_tag_t aBdeC16b2c = dnnl_aBdeC16b2c;
const format_tag_t aBdeC16b4c = dnnl_aBdeC16b4c;
const format_tag_t aBdec4b = dnnl_aBdec4b;
const format_tag_t aBdec8b = dnnl_aBdec8b;
const format_tag_t aBdeC8b2c = dnnl_aBdeC8b2c;
const format_tag_t aBdeC8b4c = dnnl_aBdeC8b4c;
const format_tag_t aBdefc16b = dnnl_aBdefc16b;
const format_tag_t aBdefC16b2c = dnnl_aBdefC16b2c;
const format_tag_t aBdefC16b4c = dnnl_aBdefC16b4c;
const format_tag_t aCBdef16c16b = dnnl_aCBdef16c16b;
const format_tag_t aCBdef16b16c = dnnl_aCBdef16b16c;
const format_tag_t aBdefc4b = dnnl_aBdefc4b;
const format_tag_t aBdefc8b = dnnl_aBdefc8b;
const format_tag_t aBdefC8b2c = dnnl_aBdefC8b2c;
const format_tag_t aBdefC8b4c = dnnl_aBdefC8b4c;
const format_tag_t aBdfec16b = dnnl_aBdfec16b;
const format_tag_t aBedc16b = dnnl_aBedc16b;
const format_tag_t Acb16a = dnnl_Acb16a;
const format_tag_t AcB16a2b = dnnl_AcB16a2b;
const format_tag_t AcB16a4b = dnnl_AcB16a4b;
const format_tag_t Acb4a = dnnl_Acb4a;
const format_tag_t Acb8a = dnnl_Acb8a;
const format_tag_t AcB8a2b = dnnl_AcB8a2b;
const format_tag_t AcB8a4b = dnnl_AcB8a4b;
const format_tag_t aCBd16b16c = dnnl_aCBd16b16c;
const format_tag_t aCBd16c16b = dnnl_aCBd16c16b;
const format_tag_t aCBde16b16c = dnnl_aCBde16b16c;
const format_tag_t aCBde16c16b = dnnl_aCBde16c16b;
const format_tag_t Acdb16a = dnnl_Acdb16a;
const format_tag_t AcdB16a2b = dnnl_AcdB16a2b;
const format_tag_t AcdB16a4b = dnnl_AcdB16a4b;
const format_tag_t Acdb4a = dnnl_Acdb4a;
const format_tag_t Acdb8a = dnnl_Acdb8a;
const format_tag_t AcdB8a2b = dnnl_AcdB8a2b;
const format_tag_t AcdB8a4b = dnnl_AcdB8a4b;
const format_tag_t Acdeb16a = dnnl_Acdeb16a;
const format_tag_t AcdeB16a2b = dnnl_AcdeB16a2b;
const format_tag_t AcdeB16a4b = dnnl_AcdeB16a4b;
const format_tag_t Acdeb4a = dnnl_Acdeb4a;
const format_tag_t Acdeb8a = dnnl_Acdeb8a;
const format_tag_t AcdeB8a2b = dnnl_AcdeB8a2b;
const format_tag_t AcdeB8a4b = dnnl_AcdeB8a4b;
const format_tag_t Acedb16a = dnnl_Acedb16a;
const format_tag_t Adcb16a = dnnl_Adcb16a;
const format_tag_t BAc16a16b = dnnl_BAc16a16b;
const format_tag_t BAcd16a16b = dnnl_BAcd16a16b;
const format_tag_t ABc32a16b = dnnl_ABc32a16b;
const format_tag_t ABcd32a16b = dnnl_ABcd32a16b;
const format_tag_t ABcde32a16b = dnnl_ABcde32a16b;
const format_tag_t ABc40a16b = dnnl_ABc40a16b;
const format_tag_t ABcd40a16b = dnnl_ABcd40a16b;
const format_tag_t ABcde40a16b = dnnl_ABcde40a16b;
const format_tag_t ABc32a32b = dnnl_ABc32a32b;
const format_tag_t BAcde16a16b = dnnl_BAcde16a16b;
const format_tag_t ABcd32a32b = dnnl_ABcd32a32b;
const format_tag_t ABcde32a32b = dnnl_ABcde32a32b;
const format_tag_t ABc40a32b = dnnl_ABc40a32b;
const format_tag_t ABcd40a32b = dnnl_ABcd40a32b;
const format_tag_t ABcde40a32b = dnnl_ABcde40a32b;
const format_tag_t BAcde16b16a = dnnl_BAcde16b16a;
const format_tag_t aBdec32b = dnnl_aBdec32b;
const format_tag_t Abcdef16a = dnnl_Abcdef16a;
const format_tag_t Abcdef32a = dnnl_Abcdef32a;
const format_tag_t Acdb32a = dnnl_Acdb32a;
const format_tag_t BAc16b16a = dnnl_BAc16b16a;
const format_tag_t BAcd16b16a = dnnl_BAcd16b16a;
const format_tag_t aBCd2b4c2b = dnnl_aBCd2b4c2b;
const format_tag_t aBCde2b4c2b = dnnl_aBCde2b4c2b;
const format_tag_t aBCdef2b4c2b = dnnl_aBCdef2b4c2b;
const format_tag_t aBCd2c4b2c = dnnl_aBCd2c4b2c;
const format_tag_t aBCde2c4b2c = dnnl_aBCde2c4b2c;
const format_tag_t aBCdef2c4b2c = dnnl_aBCdef2c4b2c;
const format_tag_t aBCd4b8c2b = dnnl_aBCd4b8c2b;
const format_tag_t aBCde4b8c2b = dnnl_aBCde4b8c2b;
const format_tag_t aBCdef4b8c2b = dnnl_aBCdef4b8c2b;
const format_tag_t aBCd4c8b2c = dnnl_aBCd4c8b2c;
const format_tag_t aBCde4c8b2c = dnnl_aBCde4c8b2c;
const format_tag_t aBCdef4c8b2c = dnnl_aBCdef4c8b2c;
const format_tag_t AB32a32b8a4b = dnnl_AB32a32b8a4b;
const format_tag_t AB8a4b = dnnl_AB8a4b;
const format_tag_t AB32a32b8a2b = dnnl_AB32a32b8a2b;
const format_tag_t AB8a2b = dnnl_AB8a2b;
const format_tag_t abDc16d = dnnl_abDc16d;
const format_tag_t abDc32d = dnnl_abDc32d;
const format_tag_t abDC32d4c = dnnl_abDC32d4c;
const format_tag_t abCd4c = dnnl_abCd4c;
const format_tag_t abCde4c = dnnl_abCde4c;
const format_tag_t abCdef4c = dnnl_abCdef4c;
const format_tag_t abCd32c = dnnl_abCd32c;
const format_tag_t abCde32c = dnnl_abCde32c;
const format_tag_t abCdef32c = dnnl_abCdef32c;
const format_tag_t abdEc16e = dnnl_abdEc16e;
const format_tag_t abdEc32e = dnnl_abdEc32e;
const format_tag_t abdEC32e2c = dnnl_abdEC32e2c;
const format_tag_t abdEC32e4c = dnnl_abdEC32e4c;
const format_tag_t abdEC64e2c = dnnl_abdEC64e2c;
const format_tag_t abdEC64e4c = dnnl_abdEC64e4c;
const format_tag_t abdCe16c = dnnl_abdCe16c;
const format_tag_t abdCe32c = dnnl_abdCe32c;
const format_tag_t abdCE32c2e = dnnl_abdCE32c2e;
const format_tag_t aBCdef16c16b4c = dnnl_aBCdef16c16b4c;
const format_tag_t ABcde16b16a2b = dnnl_ABcde16b16a2b;
const format_tag_t ABcde16b32a2b = dnnl_ABcde16b32a2b;
const format_tag_t ABcde16b48a2b = dnnl_ABcde16b48a2b;
const format_tag_t ABcde16b64a2b = dnnl_ABcde16b64a2b;
const format_tag_t aBCdef16c16b2c = dnnl_aBCdef16c16b2c;
const format_tag_t cBa2b = dnnl_cBa2b;
const format_tag_t cBa4b = dnnl_cBa4b;
const format_tag_t adcb = dnnl_adcb;
const format_tag_t adCb2c = dnnl_adCb2c;
const format_tag_t adCb4c = dnnl_adCb4c;
const format_tag_t cdBa2b = dnnl_cdBa2b;
const format_tag_t cdBa4b = dnnl_cdBa4b;
const format_tag_t adecb = dnnl_adecb;
const format_tag_t adeCb2c = dnnl_adeCb2c;
const format_tag_t adeCb4c = dnnl_adeCb4c;
const format_tag_t cdeBa2b = dnnl_cdeBa2b;
const format_tag_t cdeBa4b = dnnl_cdeBa4b;
const format_tag_t adefcb = dnnl_adefcb;
const format_tag_t adefCb2c = dnnl_adefCb2c;
const format_tag_t adefCb4c = dnnl_adefCb4c;
const format_tag_t Acb32a = dnnl_Acb32a;
const format_tag_t AcB32a2b = dnnl_AcB32a2b;
const format_tag_t AcB32a4b = dnnl_AcB32a4b;
const format_tag_t Acb48a = dnnl_Acb48a;
const format_tag_t AcB48a2b = dnnl_AcB48a2b;
const format_tag_t AcB48a4b = dnnl_AcB48a4b;
const format_tag_t Acb64a = dnnl_Acb64a;
const format_tag_t AcB64a2b = dnnl_AcB64a2b;
const format_tag_t AcB64a4b = dnnl_AcB64a4b;
const format_tag_t aBdc32b = dnnl_aBdc32b;
const format_tag_t aBdC32b2c = dnnl_aBdC32b2c;
const format_tag_t aBdC32b4c = dnnl_aBdC32b4c;
const format_tag_t aBdc48b = dnnl_aBdc48b;
const format_tag_t aBdC48b2c = dnnl_aBdC48b2c;
const format_tag_t aBdC48b4c = dnnl_aBdC48b4c;
const format_tag_t aBdc64b = dnnl_aBdc64b;
const format_tag_t aBdC64b2c = dnnl_aBdC64b2c;
const format_tag_t aBdC64b4c = dnnl_aBdC64b4c;
const format_tag_t AcdB32a2b = dnnl_AcdB32a2b;
const format_tag_t AcdB32a4b = dnnl_AcdB32a4b;
const format_tag_t Acdb48a = dnnl_Acdb48a;
const format_tag_t AcdB48a2b = dnnl_AcdB48a2b;
const format_tag_t AcdB48a4b = dnnl_AcdB48a4b;
const format_tag_t Acdb64a = dnnl_Acdb64a;
const format_tag_t AcdB64a2b = dnnl_AcdB64a2b;
const format_tag_t AcdB64a4b = dnnl_AcdB64a4b;
const format_tag_t aBdeC32b2c = dnnl_aBdeC32b2c;
const format_tag_t aBdeC32b4c = dnnl_aBdeC32b4c;
const format_tag_t aBdec48b = dnnl_aBdec48b;
const format_tag_t aBdeC48b2c = dnnl_aBdeC48b2c;
const format_tag_t aBdeC48b4c = dnnl_aBdeC48b4c;
const format_tag_t aBdec64b = dnnl_aBdec64b;
const format_tag_t aBdeC64b2c = dnnl_aBdeC64b2c;
const format_tag_t aBdeC64b4c = dnnl_aBdeC64b4c;
const format_tag_t Acdeb32a = dnnl_Acdeb32a;
const format_tag_t AcdeB32a2b = dnnl_AcdeB32a2b;
const format_tag_t AcdeB32a4b = dnnl_AcdeB32a4b;
const format_tag_t Acdeb48a = dnnl_Acdeb48a;
const format_tag_t AcdeB48a2b = dnnl_AcdeB48a2b;
const format_tag_t AcdeB48a4b = dnnl_AcdeB48a4b;
const format_tag_t Acdeb64a = dnnl_Acdeb64a;
const format_tag_t AcdeB64a2b = dnnl_AcdeB64a2b;
const format_tag_t AcdeB64a4b = dnnl_AcdeB64a4b;
const format_tag_t aBdefc32b = dnnl_aBdefc32b;
const format_tag_t aBdefC32b2c = dnnl_aBdefC32b2c;
const format_tag_t aBdefC32b4c = dnnl_aBdefC32b4c;
const format_tag_t aBdefc48b = dnnl_aBdefc48b;
const format_tag_t aBdefC48b2c = dnnl_aBdefC48b2c;
const format_tag_t aBdefC48b4c = dnnl_aBdefC48b4c;
const format_tag_t aBdefc64b = dnnl_aBdefc64b;
const format_tag_t aBdefC64b2c = dnnl_aBdefC64b2c;
const format_tag_t aBdefC64b4c = dnnl_aBdefC64b4c;
const format_tag_t aBdeC16c16b2c = dnnl_aBdeC16c16b2c;
const format_tag_t aBdeC16c16b4c = dnnl_aBdeC16c16b4c;
const format_tag_t aBdefC16c16b2c = dnnl_aBdefC16c16b2c;
const format_tag_t aBdefC16c16b4c = dnnl_aBdefC16c16b4c;
const format_tag_t AcB16b16a2b = dnnl_AcB16b16a2b;
const format_tag_t AcB16b16a4b = dnnl_AcB16b16a4b;
const format_tag_t aBdC16c16b2c = dnnl_aBdC16c16b2c;
const format_tag_t aBdC16c16b4c = dnnl_aBdC16c16b4c;
const format_tag_t AcdB16b16a2b = dnnl_AcdB16b16a2b;
const format_tag_t AcdB16b16a4b = dnnl_AcdB16b16a4b;
const format_tag_t AcdeB16b16a2b = dnnl_AcdeB16b16a2b;
const format_tag_t AcdeB16b16a4b = dnnl_AcdeB16b16a4b;
const format_tag_t AcB16b32a2b = dnnl_AcB16b32a2b;
const format_tag_t AcB16b32a4b = dnnl_AcB16b32a4b;
const format_tag_t AcB16b48a2b = dnnl_AcB16b48a2b;
const format_tag_t AcB16b48a4b = dnnl_AcB16b48a4b;
const format_tag_t AcB16b64a2b = dnnl_AcB16b64a2b;
const format_tag_t AcB16b64a4b = dnnl_AcB16b64a4b;
const format_tag_t aBdC16c32b2c = dnnl_aBdC16c32b2c;
const format_tag_t aBdC16c32b4c = dnnl_aBdC16c32b4c;
const format_tag_t aBdC16c48b2c = dnnl_aBdC16c48b2c;
const format_tag_t aBdC16c48b4c = dnnl_aBdC16c48b4c;
const format_tag_t aBdC16c64b2c = dnnl_aBdC16c64b2c;
const format_tag_t aBdC16c64b4c = dnnl_aBdC16c64b4c;
const format_tag_t AcdB16b32a2b = dnnl_AcdB16b32a2b;
const format_tag_t AcdB16b32a4b = dnnl_AcdB16b32a4b;
const format_tag_t AcdB16b48a2b = dnnl_AcdB16b48a2b;
const format_tag_t AcdB16b48a4b = dnnl_AcdB16b48a4b;
const format_tag_t AcdB16b64a2b = dnnl_AcdB16b64a2b;
const format_tag_t AcdB16b64a4b = dnnl_AcdB16b64a4b;
const format_tag_t aBdeC16c32b2c = dnnl_aBdeC16c32b2c;
const format_tag_t aBdeC16c32b4c = dnnl_aBdeC16c32b4c;
const format_tag_t aBdeC16c48b2c = dnnl_aBdeC16c48b2c;
const format_tag_t aBdeC16c48b4c = dnnl_aBdeC16c48b4c;
const format_tag_t aBdeC16c64b2c = dnnl_aBdeC16c64b2c;
const format_tag_t aBdeC16c64b4c = dnnl_aBdeC16c64b4c;
const format_tag_t AcdeB16b32a2b = dnnl_AcdeB16b32a2b;
const format_tag_t AcdeB16b32a4b = dnnl_AcdeB16b32a4b;
const format_tag_t AcdeB16b48a2b = dnnl_AcdeB16b48a2b;
const format_tag_t AcdeB16b48a4b = dnnl_AcdeB16b48a4b;
const format_tag_t AcdeB16b64a2b = dnnl_AcdeB16b64a2b;
const format_tag_t AcdeB16b64a4b = dnnl_AcdeB16b64a4b;
const format_tag_t aBdefC16c32b2c = dnnl_aBdefC16c32b2c;
const format_tag_t aBdefC16c32b4c = dnnl_aBdefC16c32b4c;
const format_tag_t aBdefC16c48b2c = dnnl_aBdefC16c48b2c;
const format_tag_t aBdefC16c48b4c = dnnl_aBdefC16c48b4c;
const format_tag_t aBdefC16c64b2c = dnnl_aBdefC16c64b2c;
const format_tag_t aBdefC16c64b4c = dnnl_aBdefC16c64b4c;
const format_tag_t decbA16a = dnnl_decbA16a;
const format_tag_t decbA8a = dnnl_decbA8a;
const format_tag_t defcbA16a = dnnl_defcbA16a;
const format_tag_t defcbA8a = dnnl_defcbA8a;
const format_tag_t aCB16c2b = dnnl_aCB16c2b;
const format_tag_t aCB16c4b = dnnl_aCB16c4b;
const format_tag_t BA16b2a = dnnl_BA16b2a;
const format_tag_t BA16b4a = dnnl_BA16b4a;
const format_tag_t aBC16b16c = dnnl_aBC16b16c;
const format_tag_t aBC16b32c = dnnl_aBC16b32c;
const format_tag_t AB16a16b = dnnl_AB16a16b;
const format_tag_t AB16a32b = dnnl_AB16a32b;
const format_tag_t ABcd16a32b = dnnl_ABcd16a32b;
const format_tag_t aCdefB16b32c2b = dnnl_aCdefB16b32c2b;
const format_tag_t aCdefB16b32c4b = dnnl_aCdefB16b32c4b;
const format_tag_t aCdefB16b48c2b = dnnl_aCdefB16b48c2b;
const format_tag_t aCdefB16b48c4b = dnnl_aCdefB16b48c4b;
const format_tag_t aCdefB16b64c2b = dnnl_aCdefB16b64c2b;
const format_tag_t aCdefB16b64c4b = dnnl_aCdefB16b64c4b;
const format_tag_t BcdeA16a32b2a = dnnl_BcdeA16a32b2a;
const format_tag_t BcdeA16a32b4a = dnnl_BcdeA16a32b4a;
const format_tag_t BcdeA16a48b2a = dnnl_BcdeA16a48b2a;
const format_tag_t BcdeA16a48b4a = dnnl_BcdeA16a48b4a;
const format_tag_t BcdeA16a64b2a = dnnl_BcdeA16a64b2a;
const format_tag_t BcdeA16a64b4a = dnnl_BcdeA16a64b4a;
const format_tag_t aCdefb32c = dnnl_aCdefb32c;
const format_tag_t aCdefB32c2b = dnnl_aCdefB32c2b;
const format_tag_t aCdefB32c4b = dnnl_aCdefB32c4b;
const format_tag_t aCdefb48c = dnnl_aCdefb48c;
const format_tag_t aCdefB48c2b = dnnl_aCdefB48c2b;
const format_tag_t aCdefB48c4b = dnnl_aCdefB48c4b;
const format_tag_t aCdefb64c = dnnl_aCdefb64c;
const format_tag_t aCdefB64c2b = dnnl_aCdefB64c2b;
const format_tag_t aCdefB64c4b = dnnl_aCdefB64c4b;
const format_tag_t Bcdea32b = dnnl_Bcdea32b;
const format_tag_t BcdeA32b2a = dnnl_BcdeA32b2a;
const format_tag_t BcdeA32b4a = dnnl_BcdeA32b4a;
const format_tag_t Bcdea48b = dnnl_Bcdea48b;
const format_tag_t BcdeA48b2a = dnnl_BcdeA48b2a;
const format_tag_t BcdeA48b4a = dnnl_BcdeA48b4a;
const format_tag_t Bcdea64b = dnnl_Bcdea64b;
const format_tag_t BcdeA64b2a = dnnl_BcdeA64b2a;
const format_tag_t BcdeA64b4a = dnnl_BcdeA64b4a;
const format_tag_t Bca32b = dnnl_Bca32b;
const format_tag_t BcA32b2a = dnnl_BcA32b2a;
const format_tag_t BcA32b4a = dnnl_BcA32b4a;
const format_tag_t Bca48b = dnnl_Bca48b;
const format_tag_t BcA48b2a = dnnl_BcA48b2a;
const format_tag_t BcA48b4a = dnnl_BcA48b4a;
const format_tag_t Bca64b = dnnl_Bca64b;
const format_tag_t BcA64b2a = dnnl_BcA64b2a;
const format_tag_t BcA64b4a = dnnl_BcA64b4a;
const format_tag_t aCdb32c = dnnl_aCdb32c;
const format_tag_t aCdB32c2b = dnnl_aCdB32c2b;
const format_tag_t aCdB32c4b = dnnl_aCdB32c4b;
const format_tag_t aCdb48c = dnnl_aCdb48c;
const format_tag_t aCdB48c2b = dnnl_aCdB48c2b;
const format_tag_t aCdB48c4b = dnnl_aCdB48c4b;
const format_tag_t aCdb64c = dnnl_aCdb64c;
const format_tag_t aCdB64c2b = dnnl_aCdB64c2b;
const format_tag_t aCdB64c4b = dnnl_aCdB64c4b;
const format_tag_t BcA16a16b2a = dnnl_BcA16a16b2a;
const format_tag_t BcA16a16b4a = dnnl_BcA16a16b4a;
const format_tag_t BcdA16a16b2a = dnnl_BcdA16a16b2a;
const format_tag_t BcdA16a16b4a = dnnl_BcdA16a16b4a;
const format_tag_t BcdeA16a16b2a = dnnl_BcdeA16a16b2a;
const format_tag_t BcdeA16a16b4a = dnnl_BcdeA16a16b4a;
const format_tag_t aCdB16b16c2b = dnnl_aCdB16b16c2b;
const format_tag_t aCdB16b16c4b = dnnl_aCdB16b16c4b;
const format_tag_t aCdeB16b16c2b = dnnl_aCdeB16b16c2b;
const format_tag_t aCdeB16b16c4b = dnnl_aCdeB16b16c4b;
const format_tag_t aCdefB16b16c2b = dnnl_aCdefB16b16c2b;
const format_tag_t aCdefB16b16c4b = dnnl_aCdefB16b16c4b;
const format_tag_t BcA16a32b2a = dnnl_BcA16a32b2a;
const format_tag_t BcA16a32b4a = dnnl_BcA16a32b4a;
const format_tag_t BcA16a48b2a = dnnl_BcA16a48b2a;
const format_tag_t BcA16a48b4a = dnnl_BcA16a48b4a;
const format_tag_t BcA16a64b2a = dnnl_BcA16a64b2a;
const format_tag_t BcA16a64b4a = dnnl_BcA16a64b4a;
const format_tag_t aCdB16b32c2b = dnnl_aCdB16b32c2b;
const format_tag_t aCdB16b32c4b = dnnl_aCdB16b32c4b;
const format_tag_t aCdB16b48c2b = dnnl_aCdB16b48c2b;
const format_tag_t aCdB16b48c4b = dnnl_aCdB16b48c4b;
const format_tag_t aCdB16b64c2b = dnnl_aCdB16b64c2b;
const format_tag_t aCdB16b64c4b = dnnl_aCdB16b64c4b;
const format_tag_t BcdA16a32b2a = dnnl_BcdA16a32b2a;
const format_tag_t BcdA16a32b4a = dnnl_BcdA16a32b4a;
const format_tag_t BcdA16a48b2a = dnnl_BcdA16a48b2a;
const format_tag_t BcdA16a48b4a = dnnl_BcdA16a48b4a;
const format_tag_t BcdA16a64b2a = dnnl_BcdA16a64b2a;
const format_tag_t BcdA16a64b4a = dnnl_BcdA16a64b4a;
const format_tag_t aCdeB16b32c2b = dnnl_aCdeB16b32c2b;
const format_tag_t aCdeB16b32c4b = dnnl_aCdeB16b32c4b;
const format_tag_t aCdeB16b48c2b = dnnl_aCdeB16b48c2b;
const format_tag_t aCdeB16b48c4b = dnnl_aCdeB16b48c4b;
const format_tag_t aCdeB16b64c2b = dnnl_aCdeB16b64c2b;
const format_tag_t aCdeB16b64c4b = dnnl_aCdeB16b64c4b;
const format_tag_t Bca8b = dnnl_Bca8b;
const format_tag_t BcA8b2a = dnnl_BcA8b2a;
const format_tag_t BcA8b4a = dnnl_BcA8b4a;
const format_tag_t Bcda8b = dnnl_Bcda8b;
const format_tag_t BcdA8b2a = dnnl_BcdA8b2a;
const format_tag_t BcdA8b4a = dnnl_BcdA8b4a;
const format_tag_t Bcdea8b = dnnl_Bcdea8b;
const format_tag_t BcdeA8b2a = dnnl_BcdeA8b2a;
const format_tag_t BcdeA8b4a = dnnl_BcdeA8b4a;
const format_tag_t aCdb8c = dnnl_aCdb8c;
const format_tag_t aCdB8c2b = dnnl_aCdB8c2b;
const format_tag_t aCdB8c4b = dnnl_aCdB8c4b;
const format_tag_t aCdeb8c = dnnl_aCdeb8c;
const format_tag_t aCdeB8c2b = dnnl_aCdeB8c2b;
const format_tag_t aCdeB8c4b = dnnl_aCdeB8c4b;
const format_tag_t aCdefb8c = dnnl_aCdefb8c;
const format_tag_t aCdefB8c2b = dnnl_aCdefB8c2b;
const format_tag_t aCdefB8c4b = dnnl_aCdefB8c4b;
const format_tag_t Bca16b = dnnl_Bca16b;
const format_tag_t BcA16b2a = dnnl_BcA16b2a;
const format_tag_t BcA16b4a = dnnl_BcA16b4a;
const format_tag_t Bcda16b = dnnl_Bcda16b;
const format_tag_t BcdA16b2a = dnnl_BcdA16b2a;
const format_tag_t BcdA16b4a = dnnl_BcdA16b4a;
const format_tag_t Bcdea16b = dnnl_Bcdea16b;
const format_tag_t BcdeA16b2a = dnnl_BcdeA16b2a;
const format_tag_t BcdeA16b4a = dnnl_BcdeA16b4a;
const format_tag_t aCdb16c = dnnl_aCdb16c;
const format_tag_t aCdB16c2b = dnnl_aCdB16c2b;
const format_tag_t aCdB16c4b = dnnl_aCdB16c4b;
const format_tag_t aCdeb16c = dnnl_aCdeb16c;
const format_tag_t aCdeB16c2b = dnnl_aCdeB16c2b;
const format_tag_t aCdeB16c4b = dnnl_aCdeB16c4b;
const format_tag_t aCdefb16c = dnnl_aCdefb16c;
const format_tag_t aCdefB16c2b = dnnl_aCdefB16c2b;
const format_tag_t aCdefB16c4b = dnnl_aCdefB16c4b;
const format_tag_t Bca24b = dnnl_Bca24b;
const format_tag_t BcA24b2a = dnnl_BcA24b2a;
const format_tag_t BcA24b4a = dnnl_BcA24b4a;
const format_tag_t Bcda24b = dnnl_Bcda24b;
const format_tag_t BcdA24b2a = dnnl_BcdA24b2a;
const format_tag_t BcdA24b4a = dnnl_BcdA24b4a;
const format_tag_t Bcdea24b = dnnl_Bcdea24b;
const format_tag_t BcdeA24b2a = dnnl_BcdeA24b2a;
const format_tag_t BcdeA24b4a = dnnl_BcdeA24b4a;
const format_tag_t aCdb24c = dnnl_aCdb24c;
const format_tag_t aCdB24c2b = dnnl_aCdB24c2b;
const format_tag_t aCdB24c4b = dnnl_aCdB24c4b;
const format_tag_t aCdeb24c = dnnl_aCdeb24c;
const format_tag_t aCdeB24c2b = dnnl_aCdeB24c2b;
const format_tag_t aCdeB24c4b = dnnl_aCdeB24c4b;
const format_tag_t aCdefb24c = dnnl_aCdefb24c;
const format_tag_t aCdefB24c2b = dnnl_aCdefB24c2b;
const format_tag_t aCdefB24c4b = dnnl_aCdefB24c4b;
const format_tag_t Bcda32b = dnnl_Bcda32b;
const format_tag_t BcdA32b2a = dnnl_BcdA32b2a;
const format_tag_t BcdA32b4a = dnnl_BcdA32b4a;
const format_tag_t Bcda48b = dnnl_Bcda48b;
const format_tag_t BcdA48b2a = dnnl_BcdA48b2a;
const format_tag_t BcdA48b4a = dnnl_BcdA48b4a;
const format_tag_t Bcda64b = dnnl_Bcda64b;
const format_tag_t BcdA64b2a = dnnl_BcdA64b2a;
const format_tag_t BcdA64b4a = dnnl_BcdA64b4a;
const format_tag_t aCdeb32c = dnnl_aCdeb32c;
const format_tag_t aCdeB32c2b = dnnl_aCdeB32c2b;
const format_tag_t aCdeB32c4b = dnnl_aCdeB32c4b;
const format_tag_t aCdeb48c = dnnl_aCdeb48c;
const format_tag_t aCdeB48c2b = dnnl_aCdeB48c2b;
const format_tag_t aCdeB48c4b = dnnl_aCdeB48c4b;
const format_tag_t aCdeb64c = dnnl_aCdeb64c;
const format_tag_t aCdeB64c2b = dnnl_aCdeB64c2b;
const format_tag_t aCdeB64c4b = dnnl_aCdeB64c4b;
const format_tag_t Acb24a = dnnl_Acb24a;
const format_tag_t Acdb24a = dnnl_Acdb24a;
const format_tag_t Acdeb24a = dnnl_Acdeb24a;
const format_tag_t aBdc24b = dnnl_aBdc24b;
const format_tag_t aBdec24b = dnnl_aBdec24b;
const format_tag_t aBdefc24b = dnnl_aBdefc24b;
const format_tag_t AcB24a2b = dnnl_AcB24a2b;
const format_tag_t AcdB24a2b = dnnl_AcdB24a2b;
const format_tag_t AcdeB24a2b = dnnl_AcdeB24a2b;
const format_tag_t aBdC24b2c = dnnl_aBdC24b2c;