3535#define UNALIASED_CUSTOM_BUILTIN (ID, TYPES, ACCUMULATE, FEATURE ) \
3636 CUSTOM_BUILTIN (ID, ID, TYPES, ACCUMULATE, FEATURE)
3737
38+ #define UNALIASED_CUSTOM_ACCUMULATE_BUILTIN (ID, TYPES, FEATURE ) \
39+ UNALIASED_CUSTOM_BUILTIN (ID, TYPES, false , FEATURE) \
40+ UNALIASED_CUSTOM_BUILTIN(ID##nn, TYPES, true , FEATURE) \
41+ UNALIASED_CUSTOM_BUILTIN(ID##np, TYPES, true , FEATURE) \
42+ UNALIASED_CUSTOM_BUILTIN(ID##pn, TYPES, true , FEATURE) \
43+ UNALIASED_CUSTOM_BUILTIN(ID##pp, TYPES, true , FEATURE)
44+
3845// GCC predefined macros to rename builtins, undef them to keep original names.
3946#if defined(__GNUC__) && !defined(__clang__)
4047#undef __builtin_vsx_xvnmaddadp
@@ -1032,12 +1039,6 @@ UNALIASED_CUSTOM_BUILTIN(mma_xvi16ger2, "vW512*VV", false,
10321039 " mma,paired-vector-memops" )
10331040UNALIASED_CUSTOM_BUILTIN(mma_xvi16ger2s, " vW512*VV" , false ,
10341041 " mma,paired-vector-memops" )
1035- UNALIASED_CUSTOM_BUILTIN(mma_xvf16ger2, " vW512*VV" , false ,
1036- " mma,paired-vector-memops" )
1037- UNALIASED_CUSTOM_BUILTIN(mma_xvf32ger, " vW512*VV" , false ,
1038- " mma,paired-vector-memops" )
1039- UNALIASED_CUSTOM_BUILTIN(mma_xvf64ger, " vW512*W256V" , false ,
1040- " mma,paired-vector-memops" )
10411042UNALIASED_CUSTOM_BUILTIN(mma_pmxvi4ger8, " vW512*VVi15i15i255" , false ,
10421043 " mma,paired-vector-memops" )
10431044UNALIASED_CUSTOM_BUILTIN(mma_pmxvi8ger4, " vW512*VVi15i15i15" , false ,
@@ -1046,12 +1047,6 @@ UNALIASED_CUSTOM_BUILTIN(mma_pmxvi16ger2, "vW512*VVi15i15i3", false,
10461047 " mma,paired-vector-memops" )
10471048UNALIASED_CUSTOM_BUILTIN(mma_pmxvi16ger2s, " vW512*VVi15i15i3" , false ,
10481049 " mma,paired-vector-memops" )
1049- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf16ger2, " vW512*VVi15i15i3" , false ,
1050- " mma,paired-vector-memops" )
1051- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf32ger, " vW512*VVi15i15" , false ,
1052- " mma,paired-vector-memops" )
1053- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf64ger, " vW512*W256Vi15i3" , false ,
1054- " mma,paired-vector-memops" )
10551050UNALIASED_CUSTOM_BUILTIN(mma_xvi4ger8pp, " vW512*VV" , true ,
10561051 " mma,paired-vector-memops" )
10571052UNALIASED_CUSTOM_BUILTIN(mma_xvi8ger4pp, " vW512*VV" , true ,
@@ -1072,85 +1067,33 @@ UNALIASED_CUSTOM_BUILTIN(mma_pmxvi16ger2pp, "vW512*VVi15i15i3", true,
10721067 " mma,paired-vector-memops" )
10731068UNALIASED_CUSTOM_BUILTIN(mma_pmxvi16ger2spp, " vW512*VVi15i15i3" , true ,
10741069 " mma,paired-vector-memops" )
1075- UNALIASED_CUSTOM_BUILTIN(mma_xvf16ger2pp, " vW512*VV" , true ,
1076- " mma,paired-vector-memops" )
1077- UNALIASED_CUSTOM_BUILTIN(mma_xvf16ger2pn, " vW512*VV" , true ,
1078- " mma,paired-vector-memops" )
1079- UNALIASED_CUSTOM_BUILTIN(mma_xvf16ger2np, " vW512*VV" , true ,
1080- " mma,paired-vector-memops" )
1081- UNALIASED_CUSTOM_BUILTIN(mma_xvf16ger2nn, " vW512*VV" , true ,
1082- " mma,paired-vector-memops" )
1083- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf16ger2pp, " vW512*VVi15i15i3" , true ,
1084- " mma,paired-vector-memops" )
1085- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf16ger2pn, " vW512*VVi15i15i3" , true ,
1086- " mma,paired-vector-memops" )
1087- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf16ger2np, " vW512*VVi15i15i3" , true ,
1088- " mma,paired-vector-memops" )
1089- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf16ger2nn, " vW512*VVi15i15i3" , true ,
1090- " mma,paired-vector-memops" )
1091- UNALIASED_CUSTOM_BUILTIN(mma_xvf32gerpp, " vW512*VV" , true ,
1092- " mma,paired-vector-memops" )
1093- UNALIASED_CUSTOM_BUILTIN(mma_xvf32gerpn, " vW512*VV" , true ,
1094- " mma,paired-vector-memops" )
1095- UNALIASED_CUSTOM_BUILTIN(mma_xvf32gernp, " vW512*VV" , true ,
1096- " mma,paired-vector-memops" )
1097- UNALIASED_CUSTOM_BUILTIN(mma_xvf32gernn, " vW512*VV" , true ,
1098- " mma,paired-vector-memops" )
1099- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf32gerpp, " vW512*VVi15i15" , true ,
1100- " mma,paired-vector-memops" )
1101- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf32gerpn, " vW512*VVi15i15" , true ,
1102- " mma,paired-vector-memops" )
1103- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf32gernp, " vW512*VVi15i15" , true ,
1104- " mma,paired-vector-memops" )
1105- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf32gernn, " vW512*VVi15i15" , true ,
1106- " mma,paired-vector-memops" )
1107- UNALIASED_CUSTOM_BUILTIN(mma_xvf64gerpp, " vW512*W256V" , true ,
1108- " mma,paired-vector-memops" )
1109- UNALIASED_CUSTOM_BUILTIN(mma_xvf64gerpn, " vW512*W256V" , true ,
1110- " mma,paired-vector-memops" )
1111- UNALIASED_CUSTOM_BUILTIN(mma_xvf64gernp, " vW512*W256V" , true ,
1112- " mma,paired-vector-memops" )
1113- UNALIASED_CUSTOM_BUILTIN(mma_xvf64gernn, " vW512*W256V" , true ,
1114- " mma,paired-vector-memops" )
1115- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf64gerpp, " vW512*W256Vi15i3" , true ,
1116- " mma,paired-vector-memops" )
1117- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf64gerpn, " vW512*W256Vi15i3" , true ,
1118- " mma,paired-vector-memops" )
1119- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf64gernp, " vW512*W256Vi15i3" , true ,
1120- " mma,paired-vector-memops" )
1121- UNALIASED_CUSTOM_BUILTIN(mma_pmxvf64gernn, " vW512*W256Vi15i3" , true ,
1122- " mma,paired-vector-memops" )
1123- UNALIASED_CUSTOM_BUILTIN(mma_xvbf16ger2, " vW512*VV" , false ,
1124- " mma,paired-vector-memops" )
1125- UNALIASED_CUSTOM_BUILTIN(mma_pmxvbf16ger2, " vW512*VVi15i15i3" , false ,
1126- " mma,paired-vector-memops" )
1127- UNALIASED_CUSTOM_BUILTIN(mma_xvbf16ger2pp, " vW512*VV" , true ,
1070+ UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4, " vW1024*W256V" , false ,
11281071 " mma,paired-vector-memops" )
1129- UNALIASED_CUSTOM_BUILTIN(mma_xvbf16ger2pn , " vW512*VV " , true ,
1072+ UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4 , " vW1024*W256Vi255i15i15 " , false ,
11301073 " mma,paired-vector-memops" )
1131- UNALIASED_CUSTOM_BUILTIN(mma_xvbf16ger2np , " vW512*VV " , true ,
1074+ UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4pp , " vW1024*W256V " , true ,
11321075 " mma,paired-vector-memops" )
1133- UNALIASED_CUSTOM_BUILTIN(mma_xvbf16ger2nn , " vW512*VV " , true ,
1076+ UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4pp , " vW1024*W256Vi255i15i15 " , true ,
11341077 " mma,paired-vector-memops" )
1135- UNALIASED_CUSTOM_BUILTIN(mma_pmxvbf16ger2pp, " vW512*VVi15i15i3 " , true ,
1078+ UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4spp, " vW1024*W256V " , true ,
11361079 " mma,paired-vector-memops" )
1137- UNALIASED_CUSTOM_BUILTIN(mma_pmxvbf16ger2pn , " vW512*VVi15i15i3 " , true ,
1080+ UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4spp , " vW1024*W256Vi255i15i15 " , true ,
11381081 " mma,paired-vector-memops" )
1139- UNALIASED_CUSTOM_BUILTIN(mma_pmxvbf16ger2np , " vW512*VVi15i15i3 " , true ,
1082+ UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvf16ger2 , " vW512*VV " ,
11401083 " mma,paired-vector-memops" )
1141- UNALIASED_CUSTOM_BUILTIN(mma_pmxvbf16ger2nn , " vW512*VVi15i15i3 " , true ,
1084+ UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvf32ger , " vW512*VV " ,
11421085 " mma,paired-vector-memops" )
1143- UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4 , " vW1024 *W256V" , false ,
1086+ UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvf64ger , " vW512 *W256V" ,
11441087 " mma,paired-vector-memops" )
1145- UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4 , " vW1024*W256Vi255i15i15 " , false ,
1088+ UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvf16ger2 , " vW512*VVi15i15i3 " ,
11461089 " mma,paired-vector-memops" )
1147- UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4pp , " vW1024*W256V " , true ,
1090+ UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvf32ger , " vW512*VVi15i15 " ,
11481091 " mma,paired-vector-memops" )
1149- UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4pp , " vW1024*W256Vi255i15i15 " , true ,
1092+ UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvf64ger , " vW512*W256Vi15i3 " ,
11501093 " mma,paired-vector-memops" )
1151- UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4spp, " vW1024*W256V " , true ,
1094+ UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvbf16ger2, " vW512*VV " ,
11521095 " mma,paired-vector-memops" )
1153- UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4spp , " vW1024*W256Vi255i15i15 " , true ,
1096+ UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvbf16ger2 , " vW512*VVi15i15i3 " ,
11541097 " mma,paired-vector-memops" )
11551098
11561099// FIXME: Obviously incomplete.
0 commit comments