@@ -921,55 +921,7 @@ struct promote_types {
921921 } \
922922 }()
923923
924- #define ET_INTERNAL_SWITCH_CASE_ALL_TYPES (CTYPE_ALIAS, ...) \
925- ET_INTERNAL_SWITCH_CASE ( \
926- ::executorch::aten::ScalarType::Byte, CTYPE_ALIAS, __VA_ARGS__) \
927- ET_INTERNAL_SWITCH_CASE( \
928- ::executorch::aten::ScalarType::Char, CTYPE_ALIAS, __VA_ARGS__) \
929- ET_INTERNAL_SWITCH_CASE( \
930- ::executorch::aten::ScalarType::Short, CTYPE_ALIAS, __VA_ARGS__) \
931- ET_INTERNAL_SWITCH_CASE( \
932- ::executorch::aten::ScalarType::Int, CTYPE_ALIAS, __VA_ARGS__) \
933- ET_INTERNAL_SWITCH_CASE( \
934- ::executorch::aten::ScalarType::Long, CTYPE_ALIAS, __VA_ARGS__) \
935- ET_INTERNAL_SWITCH_CASE( \
936- ::executorch::aten::ScalarType::Half, CTYPE_ALIAS, __VA_ARGS__) \
937- ET_INTERNAL_SWITCH_CASE( \
938- ::executorch::aten::ScalarType::Float, CTYPE_ALIAS, __VA_ARGS__) \
939- ET_INTERNAL_SWITCH_CASE( \
940- ::executorch::aten::ScalarType::Double, CTYPE_ALIAS, __VA_ARGS__) \
941- ET_INTERNAL_SWITCH_CASE( \
942- ::executorch::aten::ScalarType::ComplexHalf, CTYPE_ALIAS, __VA_ARGS__) \
943- ET_INTERNAL_SWITCH_CASE( \
944- ::executorch::aten::ScalarType::ComplexFloat, CTYPE_ALIAS, __VA_ARGS__) \
945- ET_INTERNAL_SWITCH_CASE( \
946- ::executorch::aten::ScalarType::ComplexDouble, CTYPE_ALIAS, __VA_ARGS__) \
947- ET_INTERNAL_SWITCH_CASE( \
948- ::executorch::aten::ScalarType::Bool, CTYPE_ALIAS, __VA_ARGS__) \
949- ET_INTERNAL_SWITCH_CASE( \
950- ::executorch::aten::ScalarType::QInt8, CTYPE_ALIAS, __VA_ARGS__) \
951- ET_INTERNAL_SWITCH_CASE( \
952- ::executorch::aten::ScalarType::QUInt8, CTYPE_ALIAS, __VA_ARGS__) \
953- ET_INTERNAL_SWITCH_CASE( \
954- ::executorch::aten::ScalarType::QInt32, CTYPE_ALIAS, __VA_ARGS__) \
955- ET_INTERNAL_SWITCH_CASE( \
956- ::executorch::aten::ScalarType::BFloat16, CTYPE_ALIAS, __VA_ARGS__) \
957- ET_INTERNAL_SWITCH_CASE( \
958- ::executorch::aten::ScalarType::QUInt4x2, CTYPE_ALIAS, __VA_ARGS__) \
959- ET_INTERNAL_SWITCH_CASE( \
960- ::executorch::aten::ScalarType::QUInt2x4, CTYPE_ALIAS, __VA_ARGS__) \
961- ET_INTERNAL_SWITCH_CASE( \
962- ::executorch::aten::ScalarType::Bits1x8, CTYPE_ALIAS, __VA_ARGS__) \
963- ET_INTERNAL_SWITCH_CASE( \
964- ::executorch::aten::ScalarType::Bits2x4, CTYPE_ALIAS, __VA_ARGS__) \
965- ET_INTERNAL_SWITCH_CASE( \
966- ::executorch::aten::ScalarType::Bits4x2, CTYPE_ALIAS, __VA_ARGS__) \
967- ET_INTERNAL_SWITCH_CASE( \
968- ::executorch::aten::ScalarType::Bits8, CTYPE_ALIAS, __VA_ARGS__) \
969- ET_INTERNAL_SWITCH_CASE( \
970- ::executorch::aten::ScalarType::Bits16, CTYPE_ALIAS, __VA_ARGS__)
971-
972- #define ET_INTERNAL_SWITCH_CASE_REAL_TYPES (CTYPE_ALIAS, ...) \
924+ #define ET_INTERNAL_SWITCH_CASE_INT_TYPES (CTYPE_ALIAS, ...) \
973925 ET_INTERNAL_SWITCH_CASE ( \
974926 ::executorch::aten::ScalarType::Byte, CTYPE_ALIAS, __VA_ARGS__) \
975927 ET_INTERNAL_SWITCH_CASE( \
@@ -979,12 +931,73 @@ struct promote_types {
979931 ET_INTERNAL_SWITCH_CASE( \
980932 ::executorch::aten::ScalarType::Int, CTYPE_ALIAS, __VA_ARGS__) \
981933 ET_INTERNAL_SWITCH_CASE( \
982- ::executorch::aten::ScalarType::Long, CTYPE_ALIAS, __VA_ARGS__) \
934+ ::executorch::aten::ScalarType::Long, CTYPE_ALIAS, __VA_ARGS__)
935+
936+ #define ET_INTERNAL_SWITCH_CASE_UINT_TYPES (CTYPE_ALIAS, ...) \
937+ ET_INTERNAL_SWITCH_CASE ( \
938+ ::executorch::aten::ScalarType::UInt16, CTYPE_ALIAS, __VA_ARGS__) \
939+ ET_INTERNAL_SWITCH_CASE( \
940+ ::executorch::aten::ScalarType::UInt32, CTYPE_ALIAS, __VA_ARGS__) \
941+ ET_INTERNAL_SWITCH_CASE( \
942+ ::executorch::aten::ScalarType::UInt64, CTYPE_ALIAS, __VA_ARGS__)
943+
944+ #define ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES (CTYPE_ALIAS, ...) \
983945 ET_INTERNAL_SWITCH_CASE ( \
984946 ::executorch::aten::ScalarType::Float, CTYPE_ALIAS, __VA_ARGS__) \
985947 ET_INTERNAL_SWITCH_CASE( \
986948 ::executorch::aten::ScalarType::Double, CTYPE_ALIAS, __VA_ARGS__)
987949
950+ #define ET_INTERNAL_SWITCH_CASE_REAL_TYPES (CTYPE_ALIAS, ...) \
951+ ET_INTERNAL_SWITCH_CASE_INT_TYPES (CTYPE_ALIAS, __VA_ARGS__) \
952+ ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES(CTYPE_ALIAS, __VA_ARGS__)
953+
954+ #define ET_INTERNAL_SWITCH_CASE_COMPLEX_TYPES (CTYPE_ALIAS, ...) \
955+ ET_INTERNAL_SWITCH_CASE ( \
956+ ::executorch::aten::ScalarType::ComplexFloat, CTYPE_ALIAS, __VA_ARGS__) \
957+ ET_INTERNAL_SWITCH_CASE( \
958+ ::executorch::aten::ScalarType::ComplexDouble, CTYPE_ALIAS, __VA_ARGS__)
959+
960+ #define ET_INTERNAL_SWITCH_CASE_COMPLEXH_TYPES (CTYPE_ALIAS, ...) \
961+ ET_INTERNAL_SWITCH_CASE_COMPLEX_TYPES (CTYPE_ALIAS, __VA_ARGS__) \
962+ ET_INTERNAL_SWITCH_CASE( \
963+ ::executorch::aten::ScalarType::ComplexHalf, CTYPE_ALIAS, __VA_ARGS__)
964+
965+ #define ET_INTERNAL_SWITCH_CASE_QINT_TYPES (CTYPE_ALIAS, ...) \
966+ ET_INTERNAL_SWITCH_CASE ( \
967+ ::executorch::aten::ScalarType::QInt8, CTYPE_ALIAS, __VA_ARGS__) \
968+ ET_INTERNAL_SWITCH_CASE( \
969+ ::executorch::aten::ScalarType::QUInt8, CTYPE_ALIAS, __VA_ARGS__) \
970+ ET_INTERNAL_SWITCH_CASE( \
971+ ::executorch::aten::ScalarType::QInt32, CTYPE_ALIAS, __VA_ARGS__) \
972+ ET_INTERNAL_SWITCH_CASE( \
973+ ::executorch::aten::ScalarType::QUInt4x2, CTYPE_ALIAS, __VA_ARGS__) \
974+ ET_INTERNAL_SWITCH_CASE( \
975+ ::executorch::aten::ScalarType::QUInt2x4, CTYPE_ALIAS, __VA_ARGS__)
976+
977+ #define ET_INTERNAL_SWITCH_CASE_BITS_TYPES (CTYPE_ALIAS, ...) \
978+ ET_INTERNAL_SWITCH_CASE ( \
979+ ::executorch::aten::ScalarType::Bits1x8, CTYPE_ALIAS, __VA_ARGS__) \
980+ ET_INTERNAL_SWITCH_CASE( \
981+ ::executorch::aten::ScalarType::Bits2x4, CTYPE_ALIAS, __VA_ARGS__) \
982+ ET_INTERNAL_SWITCH_CASE( \
983+ ::executorch::aten::ScalarType::Bits4x2, CTYPE_ALIAS, __VA_ARGS__) \
984+ ET_INTERNAL_SWITCH_CASE( \
985+ ::executorch::aten::ScalarType::Bits8, CTYPE_ALIAS, __VA_ARGS__) \
986+ ET_INTERNAL_SWITCH_CASE( \
987+ ::executorch::aten::ScalarType::Bits16, CTYPE_ALIAS, __VA_ARGS__)
988+
989+ #define ET_INTERNAL_SWITCH_CASE_ALL_TYPES (CTYPE_ALIAS, ...) \
990+ ET_INTERNAL_SWITCH_CASE_REAL_TYPES (CTYPE_ALIAS, __VA_ARGS__) \
991+ ET_INTERNAL_SWITCH_CASE( \
992+ ::executorch::aten::ScalarType::Half, CTYPE_ALIAS, __VA_ARGS__) \
993+ ET_INTERNAL_SWITCH_CASE( \
994+ ::executorch::aten::ScalarType::BFloat16, CTYPE_ALIAS, __VA_ARGS__) \
995+ ET_INTERNAL_SWITCH_CASE( \
996+ ::executorch::aten::ScalarType::Bool, CTYPE_ALIAS, __VA_ARGS__) \
997+ ET_INTERNAL_SWITCH_CASE_COMPLEXH_TYPES(CTYPE_ALIAS, __VA_ARGS__) \
998+ ET_INTERNAL_SWITCH_CASE_QINT_TYPES(CTYPE_ALIAS, __VA_ARGS__) \
999+ ET_INTERNAL_SWITCH_CASE_BITS_TYPES(CTYPE_ALIAS, __VA_ARGS__)
1000+
9881001#define ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND (ADDITIONAL, CTYPE_ALIAS, ...) \
9891002 ET_INTERNAL_SWITCH_CASE_REAL_TYPES (CTYPE_ALIAS, __VA_ARGS__) \
9901003 ET_INTERNAL_SWITCH_CASE( \
@@ -1008,29 +1021,11 @@ struct promote_types {
10081021 ET_INTERNAL_SWITCH_CASE( \
10091022 ::executorch::aten::ScalarType::ADDITIONAL3, CTYPE_ALIAS, __VA_ARGS__)
10101023
1011- #define ET_INTERNAL_SWITCH_CASE_INT_TYPES (CTYPE_ALIAS, ...) \
1012- ET_INTERNAL_SWITCH_CASE ( \
1013- ::executorch::aten::ScalarType::Byte, CTYPE_ALIAS, __VA_ARGS__) \
1014- ET_INTERNAL_SWITCH_CASE( \
1015- ::executorch::aten::ScalarType::Char, CTYPE_ALIAS, __VA_ARGS__) \
1016- ET_INTERNAL_SWITCH_CASE( \
1017- ::executorch::aten::ScalarType::Short, CTYPE_ALIAS, __VA_ARGS__) \
1018- ET_INTERNAL_SWITCH_CASE( \
1019- ::executorch::aten::ScalarType::Int, CTYPE_ALIAS, __VA_ARGS__) \
1020- ET_INTERNAL_SWITCH_CASE( \
1021- ::executorch::aten::ScalarType::Long, CTYPE_ALIAS, __VA_ARGS__)
1022-
10231024#define ET_INTERNAL_SWITCH_CASE_INT_TYPES_AND (ADDITIONAL, CTYPE_ALIAS, ...) \
10241025 ET_INTERNAL_SWITCH_CASE_INT_TYPES (CTYPE_ALIAS, __VA_ARGS__) \
10251026 ET_INTERNAL_SWITCH_CASE( \
10261027 ::executorch::aten::ScalarType::ADDITIONAL, CTYPE_ALIAS, __VA_ARGS__)
10271028
1028- #define ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES (CTYPE_ALIAS, ...) \
1029- ET_INTERNAL_SWITCH_CASE ( \
1030- ::executorch::aten::ScalarType::Double, CTYPE_ALIAS, __VA_ARGS__) \
1031- ET_INTERNAL_SWITCH_CASE( \
1032- ::executorch::aten::ScalarType::Float, CTYPE_ALIAS, __VA_ARGS__)
1033-
10341029#define ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES_AND (ADDITIONAL, CTYPE_ALIAS, ...) \
10351030 ET_INTERNAL_SWITCH_CASE_FLOAT_TYPES (CTYPE_ALIAS, __VA_ARGS__) \
10361031 ET_INTERNAL_SWITCH_CASE( \
@@ -1050,32 +1045,6 @@ struct promote_types {
10501045 ET_INTERNAL_SWITCH_CASE( \
10511046 ::executorch::aten::ScalarType::ADDITIONAL3, CTYPE_ALIAS, __VA_ARGS__)
10521047
1053- #define ET_INTERNAL_SWITCH_CASE_QINT_TYPES (CTYPE_ALIAS, ...) \
1054- ET_INTERNAL_SWITCH_CASE ( \
1055- ::executorch::aten::ScalarType::QInt8, CTYPE_ALIAS, __VA_ARGS__) \
1056- ET_INTERNAL_SWITCH_CASE( \
1057- ::executorch::aten::ScalarType::QUInt8, CTYPE_ALIAS, __VA_ARGS__) \
1058- ET_INTERNAL_SWITCH_CASE( \
1059- ::executorch::aten::ScalarType::QInt32, CTYPE_ALIAS, __VA_ARGS__) \
1060- ET_INTERNAL_SWITCH_CASE( \
1061- ::executorch::aten::ScalarType::QUInt4x2, CTYPE_ALIAS, __VA_ARGS__) \
1062- ET_INTERNAL_SWITCH_CASE( \
1063- ::executorch::aten::ScalarType::QUInt2x4, CTYPE_ALIAS, __VA_ARGS__)
1064-
1065- #define ET_INTERNAL_SWITCH_CASE_COMPLEX_TYPES (CTYPE_ALIAS, ...) \
1066- ET_INTERNAL_SWITCH_CASE ( \
1067- ::executorch::aten::ScalarType::ComplexFloat, CTYPE_ALIAS, __VA_ARGS__) \
1068- ET_INTERNAL_SWITCH_CASE( \
1069- ::executorch::aten::ScalarType::ComplexDouble, CTYPE_ALIAS, __VA_ARGS__)
1070-
1071- #define ET_INTERNAL_SWITCH_CASE_COMPLEXH_TYPES (CTYPE_ALIAS, ...) \
1072- ET_INTERNAL_SWITCH_CASE ( \
1073- ::executorch::aten::ScalarType::ComplexHalf, CTYPE_ALIAS, __VA_ARGS__) \
1074- ET_INTERNAL_SWITCH_CASE( \
1075- ::executorch::aten::ScalarType::ComplexFloat, CTYPE_ALIAS, __VA_ARGS__) \
1076- ET_INTERNAL_SWITCH_CASE( \
1077- ::executorch::aten::ScalarType::ComplexDouble, CTYPE_ALIAS, __VA_ARGS__)
1078-
10791048#define ET_INTERNAL_SWITCH_CASE_SCALAR_OBJ_TYPES (CTYPE_ALIAS, ...) \
10801049 ET_INTERNAL_SWITCH_CASE ( \
10811050 ::executorch::aten::ScalarType::Bool, CTYPE_ALIAS, __VA_ARGS__) \
@@ -1204,26 +1173,15 @@ struct promote_types {
12041173 ET_SWITCH_REAL_TYPES_AND3 ( \
12051174 Half, Bool, BFloat16, TYPE, CONTEXT, NAME, CTYPE_ALIAS, __VA_ARGS__)
12061175
1207- #define ET_SWITCH_REALHBBF16_AND_UINT_TYPES ( \
1208- TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
1209- ET_INTERNAL_SWITCH( \
1210- TYPE, \
1211- CONTEXT, \
1212- NAME, \
1213- ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND3 ( \
1214- Half, Bool, BFloat16, CTYPE_ALIAS, __VA_ARGS__) \
1215- ET_INTERNAL_SWITCH_CASE( \
1216- ::executorch::aten::ScalarType::UInt16, \
1217- CTYPE_ALIAS, \
1218- __VA_ARGS__) \
1219- ET_INTERNAL_SWITCH_CASE( \
1220- ::executorch::aten::ScalarType::UInt32, \
1221- CTYPE_ALIAS, \
1222- __VA_ARGS__) \
1223- ET_INTERNAL_SWITCH_CASE( \
1224- ::executorch::aten::ScalarType::UInt64, \
1225- CTYPE_ALIAS, \
1226- __VA_ARGS__))
1176+ #define ET_SWITCH_REALHBBF16_AND_UINT_TYPES ( \
1177+ TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
1178+ ET_INTERNAL_SWITCH( \
1179+ TYPE, \
1180+ CONTEXT, \
1181+ NAME, \
1182+ ET_INTERNAL_SWITCH_CASE_REAL_TYPES_AND3 ( \
1183+ Half, Bool, BFloat16, CTYPE_ALIAS, __VA_ARGS__) \
1184+ ET_INTERNAL_SWITCH_CASE_UINT_TYPES(CTYPE_ALIAS, __VA_ARGS__))
12271185
12281186#define ET_SWITCH_INT_TYPES (TYPE, CONTEXT, NAME, CTYPE_ALIAS, ...) \
12291187 ET_INTERNAL_SWITCH ( \
0 commit comments