https://github.com/lei137 created https://github.com/llvm/llvm-project/pull/147382
Initial clean up in prep for adding more accumulate builtins to clang. >From 36d2b8fc61ab67b8d8010e8b33e3e871f8e1c4f2 Mon Sep 17 00:00:00 2001 From: Lei Huang <l...@ca.ibm.com> Date: Fri, 4 Jul 2025 14:53:15 -0500 Subject: [PATCH 1/4] define new alias for accumulate builtins --- clang/include/clang/Basic/BuiltinsPPC.def | 99 +++++------------------ 1 file changed, 21 insertions(+), 78 deletions(-) diff --git a/clang/include/clang/Basic/BuiltinsPPC.def b/clang/include/clang/Basic/BuiltinsPPC.def index 7c278d6841c74..67ba4394b9ed7 100644 --- a/clang/include/clang/Basic/BuiltinsPPC.def +++ b/clang/include/clang/Basic/BuiltinsPPC.def @@ -35,6 +35,13 @@ #define UNALIASED_CUSTOM_BUILTIN(ID, TYPES, ACCUMULATE, FEATURE) \ CUSTOM_BUILTIN(ID, ID, TYPES, ACCUMULATE, FEATURE) +#define UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(ID, TYPES, FEATURE) \ + UNALIASED_CUSTOM_BUILTIN(ID, TYPES, false, FEATURE) \ + UNALIASED_CUSTOM_BUILTIN(ID##nn, TYPES, true, FEATURE) \ + UNALIASED_CUSTOM_BUILTIN(ID##np, TYPES, true, FEATURE) \ + UNALIASED_CUSTOM_BUILTIN(ID##pn, TYPES, true, FEATURE) \ + UNALIASED_CUSTOM_BUILTIN(ID##pp, TYPES, true, FEATURE) + // GCC predefined macros to rename builtins, undef them to keep original names. #if defined(__GNUC__) && !defined(__clang__) #undef __builtin_vsx_xvnmaddadp @@ -1032,12 +1039,6 @@ UNALIASED_CUSTOM_BUILTIN(mma_xvi16ger2, "vW512*VV", false, "mma,paired-vector-memops") UNALIASED_CUSTOM_BUILTIN(mma_xvi16ger2s, "vW512*VV", false, "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf16ger2, "vW512*VV", false, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf32ger, "vW512*VV", false, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf64ger, "vW512*W256V", false, - "mma,paired-vector-memops") UNALIASED_CUSTOM_BUILTIN(mma_pmxvi4ger8, "vW512*VVi15i15i255", false, "mma,paired-vector-memops") UNALIASED_CUSTOM_BUILTIN(mma_pmxvi8ger4, "vW512*VVi15i15i15", false, @@ -1046,12 +1047,6 @@ UNALIASED_CUSTOM_BUILTIN(mma_pmxvi16ger2, "vW512*VVi15i15i3", false, "mma,paired-vector-memops") UNALIASED_CUSTOM_BUILTIN(mma_pmxvi16ger2s, "vW512*VVi15i15i3", false, "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf16ger2, "vW512*VVi15i15i3", false, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf32ger, "vW512*VVi15i15", false, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf64ger, "vW512*W256Vi15i3", false, - "mma,paired-vector-memops") UNALIASED_CUSTOM_BUILTIN(mma_xvi4ger8pp, "vW512*VV", true, "mma,paired-vector-memops") UNALIASED_CUSTOM_BUILTIN(mma_xvi8ger4pp, "vW512*VV", true, @@ -1072,85 +1067,33 @@ UNALIASED_CUSTOM_BUILTIN(mma_pmxvi16ger2pp, "vW512*VVi15i15i3", true, "mma,paired-vector-memops") UNALIASED_CUSTOM_BUILTIN(mma_pmxvi16ger2spp, "vW512*VVi15i15i3", true, "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf16ger2pp, "vW512*VV", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf16ger2pn, "vW512*VV", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf16ger2np, "vW512*VV", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf16ger2nn, "vW512*VV", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf16ger2pp, "vW512*VVi15i15i3", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf16ger2pn, "vW512*VVi15i15i3", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf16ger2np, "vW512*VVi15i15i3", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf16ger2nn, "vW512*VVi15i15i3", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf32gerpp, "vW512*VV", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf32gerpn, "vW512*VV", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf32gernp, "vW512*VV", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf32gernn, "vW512*VV", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf32gerpp, "vW512*VVi15i15", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf32gerpn, "vW512*VVi15i15", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf32gernp, "vW512*VVi15i15", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf32gernn, "vW512*VVi15i15", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf64gerpp, "vW512*W256V", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf64gerpn, "vW512*W256V", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf64gernp, "vW512*W256V", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvf64gernn, "vW512*W256V", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf64gerpp, "vW512*W256Vi15i3", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf64gerpn, "vW512*W256Vi15i3", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf64gernp, "vW512*W256Vi15i3", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvf64gernn, "vW512*W256Vi15i3", true, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvbf16ger2, "vW512*VV", false, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvbf16ger2, "vW512*VVi15i15i3", false, - "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvbf16ger2pp, "vW512*VV", true, +UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4, "vW1024*W256V", false, "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvbf16ger2pn, "vW512*VV", true, +UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4, "vW1024*W256Vi255i15i15", false, "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvbf16ger2np, "vW512*VV", true, +UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4pp, "vW1024*W256V", true, "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_xvbf16ger2nn, "vW512*VV", true, +UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4pp, "vW1024*W256Vi255i15i15", true, "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvbf16ger2pp, "vW512*VVi15i15i3", true, +UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4spp, "vW1024*W256V", true, "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvbf16ger2pn, "vW512*VVi15i15i3", true, +UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4spp, "vW1024*W256Vi255i15i15", true, "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvbf16ger2np, "vW512*VVi15i15i3", true, +UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvf16ger2, "vW512*VV", "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmxvbf16ger2nn, "vW512*VVi15i15i3", true, +UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvf32ger, "vW512*VV", "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4, "vW1024*W256V", false, +UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvf64ger, "vW512*W256V", "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4, "vW1024*W256Vi255i15i15", false, +UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvf16ger2, "vW512*VVi15i15i3", "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4pp, "vW1024*W256V", true, +UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvf32ger, "vW512*VVi15i15", "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4pp, "vW1024*W256Vi255i15i15", true, +UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvf64ger, "vW512*W256Vi15i3", "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4spp, "vW1024*W256V", true, +UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvbf16ger2, "vW512*VV", "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4spp, "vW1024*W256Vi255i15i15", true, +UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvbf16ger2, "vW512*VVi15i15i3", "mma,paired-vector-memops") // FIXME: Obviously incomplete. >From 9b390b4b7f243babb7d020a234c70ca705c2edff Mon Sep 17 00:00:00 2001 From: Lei Huang <l...@ca.ibm.com> Date: Fri, 4 Jul 2025 15:03:19 -0500 Subject: [PATCH 2/4] apply clang-format --- clang/include/clang/Basic/BuiltinsPPC.def | 28 +++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/clang/include/clang/Basic/BuiltinsPPC.def b/clang/include/clang/Basic/BuiltinsPPC.def index 67ba4394b9ed7..9aeb97e51450d 100644 --- a/clang/include/clang/Basic/BuiltinsPPC.def +++ b/clang/include/clang/Basic/BuiltinsPPC.def @@ -35,11 +35,11 @@ #define UNALIASED_CUSTOM_BUILTIN(ID, TYPES, ACCUMULATE, FEATURE) \ CUSTOM_BUILTIN(ID, ID, TYPES, ACCUMULATE, FEATURE) -#define UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(ID, TYPES, FEATURE) \ - UNALIASED_CUSTOM_BUILTIN(ID, TYPES, false, FEATURE) \ - UNALIASED_CUSTOM_BUILTIN(ID##nn, TYPES, true, FEATURE) \ - UNALIASED_CUSTOM_BUILTIN(ID##np, TYPES, true, FEATURE) \ - UNALIASED_CUSTOM_BUILTIN(ID##pn, TYPES, true, FEATURE) \ +#define UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(ID, TYPES, FEATURE) \ + UNALIASED_CUSTOM_BUILTIN(ID, TYPES, false, FEATURE) \ + UNALIASED_CUSTOM_BUILTIN(ID##nn, TYPES, true, FEATURE) \ + UNALIASED_CUSTOM_BUILTIN(ID##np, TYPES, true, FEATURE) \ + UNALIASED_CUSTOM_BUILTIN(ID##pn, TYPES, true, FEATURE) \ UNALIASED_CUSTOM_BUILTIN(ID##pp, TYPES, true, FEATURE) // GCC predefined macros to rename builtins, undef them to keep original names. @@ -1075,26 +1075,26 @@ UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4pp, "vW1024*W256V", true, "mma,paired-vector-memops") UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4pp, "vW1024*W256Vi255i15i15", true, "mma,paired-vector-memops") -UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4spp, "vW1024*W256V", true, +UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4spp, "vW1024*W256V", true, "mma,paired-vector-memops") UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4spp, "vW1024*W256Vi255i15i15", true, "mma,paired-vector-memops") UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvf16ger2, "vW512*VV", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvf32ger, "vW512*VV", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvf64ger, "vW512*W256V", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvf16ger2, "vW512*VVi15i15i3", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvf32ger, "vW512*VVi15i15", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvf64ger, "vW512*W256Vi15i3", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvbf16ger2, "vW512*VV", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvbf16ger2, "vW512*VVi15i15i3", - "mma,paired-vector-memops") + "mma,paired-vector-memops") // FIXME: Obviously incomplete. >From 332e9ab0745ca1e209bd06a540789e32cc18c10e Mon Sep 17 00:00:00 2001 From: Lei Huang <l...@ca.ibm.com> Date: Fri, 4 Jul 2025 15:48:28 -0500 Subject: [PATCH 3/4] rename builtin --- clang/include/clang/Basic/BuiltinsPPC.def | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/clang/include/clang/Basic/BuiltinsPPC.def b/clang/include/clang/Basic/BuiltinsPPC.def index 9aeb97e51450d..2bea995d3f0fc 100644 --- a/clang/include/clang/Basic/BuiltinsPPC.def +++ b/clang/include/clang/Basic/BuiltinsPPC.def @@ -35,7 +35,7 @@ #define UNALIASED_CUSTOM_BUILTIN(ID, TYPES, ACCUMULATE, FEATURE) \ CUSTOM_BUILTIN(ID, ID, TYPES, ACCUMULATE, FEATURE) -#define UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(ID, TYPES, FEATURE) \ +#define UNALIASED_CUSTOM_MMA_BUILTIN(ID, TYPES, FEATURE) \ UNALIASED_CUSTOM_BUILTIN(ID, TYPES, false, FEATURE) \ UNALIASED_CUSTOM_BUILTIN(ID##nn, TYPES, true, FEATURE) \ UNALIASED_CUSTOM_BUILTIN(ID##np, TYPES, true, FEATURE) \ @@ -1079,21 +1079,21 @@ UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4spp, "vW1024*W256V", true, "mma,paired-vector-memops") UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4spp, "vW1024*W256Vi255i15i15", true, "mma,paired-vector-memops") -UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvf16ger2, "vW512*VV", +UNALIASED_CUSTOM_MMA_BUILTIN(mma_xvf16ger2, "vW512*VV", "mma,paired-vector-memops") -UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvf32ger, "vW512*VV", +UNALIASED_CUSTOM_MMA_BUILTIN(mma_xvf32ger, "vW512*VV", "mma,paired-vector-memops") -UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvf64ger, "vW512*W256V", +UNALIASED_CUSTOM_MMA_BUILTIN(mma_xvf64ger, "vW512*W256V", "mma,paired-vector-memops") -UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvf16ger2, "vW512*VVi15i15i3", +UNALIASED_CUSTOM_MMA_BUILTIN(mma_pmxvf16ger2, "vW512*VVi15i15i3", "mma,paired-vector-memops") -UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvf32ger, "vW512*VVi15i15", +UNALIASED_CUSTOM_MMA_BUILTIN(mma_pmxvf32ger, "vW512*VVi15i15", "mma,paired-vector-memops") -UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvf64ger, "vW512*W256Vi15i3", +UNALIASED_CUSTOM_MMA_BUILTIN(mma_pmxvf64ger, "vW512*W256Vi15i3", "mma,paired-vector-memops") -UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_xvbf16ger2, "vW512*VV", +UNALIASED_CUSTOM_MMA_BUILTIN(mma_xvbf16ger2, "vW512*VV", "mma,paired-vector-memops") -UNALIASED_CUSTOM_ACCUMULATE_BUILTIN(mma_pmxvbf16ger2, "vW512*VVi15i15i3", +UNALIASED_CUSTOM_MMA_BUILTIN(mma_pmxvbf16ger2, "vW512*VVi15i15i3", "mma,paired-vector-memops") // FIXME: Obviously incomplete. >From 70ed0deb168f48a9d2d53b610ca1058cf37d09dd Mon Sep 17 00:00:00 2001 From: Lei Huang <l...@ca.ibm.com> Date: Fri, 4 Jul 2025 15:49:30 -0500 Subject: [PATCH 4/4] apply clang-format --- clang/include/clang/Basic/BuiltinsPPC.def | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/clang/include/clang/Basic/BuiltinsPPC.def b/clang/include/clang/Basic/BuiltinsPPC.def index 2bea995d3f0fc..3fa9961a9602c 100644 --- a/clang/include/clang/Basic/BuiltinsPPC.def +++ b/clang/include/clang/Basic/BuiltinsPPC.def @@ -35,7 +35,7 @@ #define UNALIASED_CUSTOM_BUILTIN(ID, TYPES, ACCUMULATE, FEATURE) \ CUSTOM_BUILTIN(ID, ID, TYPES, ACCUMULATE, FEATURE) -#define UNALIASED_CUSTOM_MMA_BUILTIN(ID, TYPES, FEATURE) \ +#define UNALIASED_CUSTOM_MMA_BUILTIN(ID, TYPES, FEATURE) \ UNALIASED_CUSTOM_BUILTIN(ID, TYPES, false, FEATURE) \ UNALIASED_CUSTOM_BUILTIN(ID##nn, TYPES, true, FEATURE) \ UNALIASED_CUSTOM_BUILTIN(ID##np, TYPES, true, FEATURE) \ @@ -1080,21 +1080,21 @@ UNALIASED_CUSTOM_BUILTIN(mma_dmxvi8gerx4spp, "vW1024*W256V", true, UNALIASED_CUSTOM_BUILTIN(mma_pmdmxvi8gerx4spp, "vW1024*W256Vi255i15i15", true, "mma,paired-vector-memops") UNALIASED_CUSTOM_MMA_BUILTIN(mma_xvf16ger2, "vW512*VV", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_MMA_BUILTIN(mma_xvf32ger, "vW512*VV", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_MMA_BUILTIN(mma_xvf64ger, "vW512*W256V", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_MMA_BUILTIN(mma_pmxvf16ger2, "vW512*VVi15i15i3", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_MMA_BUILTIN(mma_pmxvf32ger, "vW512*VVi15i15", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_MMA_BUILTIN(mma_pmxvf64ger, "vW512*W256Vi15i3", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_MMA_BUILTIN(mma_xvbf16ger2, "vW512*VV", - "mma,paired-vector-memops") + "mma,paired-vector-memops") UNALIASED_CUSTOM_MMA_BUILTIN(mma_pmxvbf16ger2, "vW512*VVi15i15i3", - "mma,paired-vector-memops") + "mma,paired-vector-memops") // FIXME: Obviously incomplete. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits