[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -104,6 +104,62 @@ // RUN: %clang --target=riscv32 -### -c %s 2>&1 -mtune=syntacore-scr1-max | FileCheck -check-prefix=MTUNE-SYNTACORE-SCR1-MAX %s // MTUNE-SYNTACORE-SCR1-MAX: "-tune-cpu" "syntacore-scr1-max" +// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mtune=tt-ascalon-d8 | FileCheck -check-prefix=MTUNE-TT-ASCALON-D8 %s +// MTUNE-TT-ASCALON-D8: "-tune-cpu" "tt-ascalon-d8" + +// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mcpu=tt-ascalon-d8 | FileCheck -check-prefix=MCPU-TT-ASCALON-D8 %s +// MCPU-TT-ASCALON-D8: "-target-cpu" "tt-ascalon-d8" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+m" "-target-feature" "+a" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+f" "-target-feature" "+d" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+c" "-target-feature" "+v" ppenzin wrote: Addressed https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
https://github.com/ppenzin updated https://github.com/llvm/llvm-project/pull/115100 >From 246f1374b31ac11041deffe2f4afc35ee93cc66f Mon Sep 17 00:00:00 2001 From: Petr Penzin Date: Tue, 5 Nov 2024 13:11:48 -0600 Subject: [PATCH 1/4] [RISCV] Add TT-Ascalon-d8 processor Ascalon is an out-of-order CPU core from Tenstorrent. Overview: https://tenstorrent.com/ip/tt-ascalon Adding 8-wide version, -mcpu=tt-ascalon-d8. Scheduling model will be added in a separate PR. Co-authored-by: Anton Blanchard --- clang/test/Driver/riscv-cpus.c| 54 +++ .../test/Misc/target-invalid-cpu-note/riscv.c | 2 + llvm/docs/ReleaseNotes.md | 1 + llvm/lib/Target/RISCV/RISCVProcessors.td | 48 + 4 files changed, 105 insertions(+) diff --git a/clang/test/Driver/riscv-cpus.c b/clang/test/Driver/riscv-cpus.c index d36639d16ad4cb..468e01c8d934da 100644 --- a/clang/test/Driver/riscv-cpus.c +++ b/clang/test/Driver/riscv-cpus.c @@ -104,6 +104,60 @@ // RUN: %clang --target=riscv32 -### -c %s 2>&1 -mtune=syntacore-scr1-max | FileCheck -check-prefix=MTUNE-SYNTACORE-SCR1-MAX %s // MTUNE-SYNTACORE-SCR1-MAX: "-tune-cpu" "syntacore-scr1-max" +// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mtune=tt-ascalon-d8 | FileCheck -check-prefix=MTUNE-TT-ASCALON-D8 %s +// MTUNE-TT-ASCALON-D8: "-tune-cpu" "tt-ascalon-d8" + +// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mcpu=tt-ascalon-d8 | FileCheck -check-prefix=MCPU-TT-ASCALON-D8 %s +// MCPU-TT-ASCALON-D8: "-target-cpu" "tt-ascalon-d8" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+m" "-target-feature" "+a" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+f" "-target-feature" "+d" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+c" "-target-feature" "+v" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+h" "-target-feature" "+zicbom" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicbop" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicboz" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicntr" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicond" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicsr" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zifencei" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zihintntl" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zihintpause" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zihpm" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zmmul" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zawrs" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zfa" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zfbfmin" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zfh" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zfhmin" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zca" "-target-feature" "+zcb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zba" "-target-feature" "+zbb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zbs" "-target-feature" "+zkt" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvbb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvbc" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve32f" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve32x" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve64d" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve64f" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve64x" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvfbfmin" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvfbfwma" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvfh" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvfhmin" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkg" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkn" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvknc" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkned" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkng" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvknhb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkt" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvl128b" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvl256b" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvl32b" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvl64b" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+svinval" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+svnapot" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+svpbmt" + // RUN: %clang --target=riscv64 -### -c %s 2>&1 -mcpu=veyron-v1 | FileCheck -check-prefix=MCPU-VEYRON-V1 %s // MCPU-VEYRON-V1: "-target-cpu" "veyron-v1" // MCPU-VEYRON-V1: "-target-feature" "+m" diff --git a/clang/test/Misc/target-invalid-cpu-note/riscv.c b/clang/test/Misc/target-invalid-cpu-note/riscv.c index 7bbf3574af3c35..8c5df5884cd791 100644 --- a/clang/test/Misc/target-invalid-cpu-note/riscv.c +++ b/clang/test/Misc/target-invalid-cpu-note/riscv.c @@ -41,6 +41,7 @@ // RISCV64-SAME: {{^}}, syntacore-scr4-rv64 // RISCV64-SAME: {{^}}, syntacore-scr5-rv64
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
https://github.com/ppenzin updated https://github.com/llvm/llvm-project/pull/115100 >From 246f1374b31ac11041deffe2f4afc35ee93cc66f Mon Sep 17 00:00:00 2001 From: Petr Penzin Date: Tue, 5 Nov 2024 13:11:48 -0600 Subject: [PATCH 1/3] [RISCV] Add TT-Ascalon-d8 processor Ascalon is an out-of-order CPU core from Tenstorrent. Overview: https://tenstorrent.com/ip/tt-ascalon Adding 8-wide version, -mcpu=tt-ascalon-d8. Scheduling model will be added in a separate PR. Co-authored-by: Anton Blanchard --- clang/test/Driver/riscv-cpus.c| 54 +++ .../test/Misc/target-invalid-cpu-note/riscv.c | 2 + llvm/docs/ReleaseNotes.md | 1 + llvm/lib/Target/RISCV/RISCVProcessors.td | 48 + 4 files changed, 105 insertions(+) diff --git a/clang/test/Driver/riscv-cpus.c b/clang/test/Driver/riscv-cpus.c index d36639d16ad4cb..468e01c8d934da 100644 --- a/clang/test/Driver/riscv-cpus.c +++ b/clang/test/Driver/riscv-cpus.c @@ -104,6 +104,60 @@ // RUN: %clang --target=riscv32 -### -c %s 2>&1 -mtune=syntacore-scr1-max | FileCheck -check-prefix=MTUNE-SYNTACORE-SCR1-MAX %s // MTUNE-SYNTACORE-SCR1-MAX: "-tune-cpu" "syntacore-scr1-max" +// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mtune=tt-ascalon-d8 | FileCheck -check-prefix=MTUNE-TT-ASCALON-D8 %s +// MTUNE-TT-ASCALON-D8: "-tune-cpu" "tt-ascalon-d8" + +// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mcpu=tt-ascalon-d8 | FileCheck -check-prefix=MCPU-TT-ASCALON-D8 %s +// MCPU-TT-ASCALON-D8: "-target-cpu" "tt-ascalon-d8" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+m" "-target-feature" "+a" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+f" "-target-feature" "+d" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+c" "-target-feature" "+v" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+h" "-target-feature" "+zicbom" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicbop" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicboz" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicntr" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicond" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicsr" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zifencei" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zihintntl" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zihintpause" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zihpm" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zmmul" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zawrs" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zfa" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zfbfmin" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zfh" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zfhmin" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zca" "-target-feature" "+zcb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zba" "-target-feature" "+zbb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zbs" "-target-feature" "+zkt" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvbb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvbc" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve32f" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve32x" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve64d" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve64f" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve64x" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvfbfmin" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvfbfwma" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvfh" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvfhmin" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkg" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkn" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvknc" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkned" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkng" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvknhb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkt" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvl128b" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvl256b" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvl32b" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvl64b" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+svinval" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+svnapot" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+svpbmt" + // RUN: %clang --target=riscv64 -### -c %s 2>&1 -mcpu=veyron-v1 | FileCheck -check-prefix=MCPU-VEYRON-V1 %s // MCPU-VEYRON-V1: "-target-cpu" "veyron-v1" // MCPU-VEYRON-V1: "-target-feature" "+m" diff --git a/clang/test/Misc/target-invalid-cpu-note/riscv.c b/clang/test/Misc/target-invalid-cpu-note/riscv.c index 7bbf3574af3c35..8c5df5884cd791 100644 --- a/clang/test/Misc/target-invalid-cpu-note/riscv.c +++ b/clang/test/Misc/target-invalid-cpu-note/riscv.c @@ -41,6 +41,7 @@ // RISCV64-SAME: {{^}}, syntacore-scr4-rv64 // RISCV64-SAME: {{^}}, syntacore-scr5-rv64
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -407,6 +407,53 @@ def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7", FeatureStdExtZkn], [TuneNoDefaultUnroll, FeaturePostRAScheduler]>; +def TENSTORRENT_ASCALON_D8 : RISCVProcessorModel<"tt-ascalon-d8", + NoSchedModel, + [Feature64Bit, ppenzin wrote: Thanks, addressed https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -407,6 +407,54 @@ def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7", FeatureStdExtZkn], [TuneNoDefaultUnroll, FeaturePostRAScheduler]>; +def TENSTORRENT_ASCALON_D8 : RISCVProcessorModel<"tt-ascalon-d8", + NoSchedModel, + [Feature64Bit, + FeatureStdExtI, + FeatureStdExtZifencei, + FeatureStdExtZicsr, + FeatureStdExtZicntr, + FeatureStdExtZihpm, + FeatureStdExtZihintpause, + FeatureStdExtM, + FeatureStdExtA, + FeatureStdExtF, + FeatureStdExtD, + FeatureStdExtC, + FeatureStdExtV, + FeatureStdExtZvl256b, + FeatureStdExtZfh, + FeatureStdExtZvfh, + FeatureStdExtZba, + FeatureStdExtZbb, + FeatureStdExtZbs, + FeatureStdExtZicbom, + FeatureStdExtZicbop, + FeatureStdExtZicboz, + FeatureStdExtH, + FeatureStdExtZihintntl, + FeatureStdExtZfhmin, + FeatureStdExtZfa, + FeatureStdExtZkt, + FeatureStdExtZcb, + FeatureStdExtZvbb, + FeatureStdExtZvbc, + FeatureStdExtZawrs, + FeatureStdExtZvkng, + FeatureStdExtZicond, + FeatureUnalignedScalarMem, + FeatureUnalignedVectorMem, + FeatureStdExtSvnapot, + FeatureStdExtSvpbmt, + FeatureStdExtSvinval, + FeatureStdExtZfbfmin, + FeatureStdExtZvfbfmin, + FeatureStdExtZvfbfwma], ppenzin wrote: Addressed what is available, we might need to add a couple features eventually, but I'll do that in separate PR https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -407,6 +407,54 @@ def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7", FeatureStdExtZkn], [TuneNoDefaultUnroll, FeaturePostRAScheduler]>; +def TENSTORRENT_ASCALON_D8 : RISCVProcessorModel<"tt-ascalon-d8", + NoSchedModel, + [Feature64Bit, + FeatureStdExtI, + FeatureStdExtZifencei, + FeatureStdExtZicsr, + FeatureStdExtZicntr, + FeatureStdExtZihpm, + FeatureStdExtZihintpause, + FeatureStdExtM, + FeatureStdExtA, + FeatureStdExtF, + FeatureStdExtD, + FeatureStdExtC, + FeatureStdExtV, + FeatureStdExtZvl256b, + FeatureStdExtZfh, + FeatureStdExtZvfh, + FeatureStdExtZba, + FeatureStdExtZbb, + FeatureStdExtZbs, + FeatureStdExtZicbom, + FeatureStdExtZicbop, + FeatureStdExtZicboz, + FeatureStdExtH, + FeatureStdExtZihintntl, + FeatureStdExtZfhmin, + FeatureStdExtZfa, + FeatureStdExtZkt, + FeatureStdExtZcb, + FeatureStdExtZvbb, + FeatureStdExtZvbc, + FeatureStdExtZawrs, + FeatureStdExtZvkng, + FeatureStdExtZicond, + FeatureUnalignedScalarMem, + FeatureUnalignedVectorMem, + FeatureStdExtSvnapot, + FeatureStdExtSvpbmt, + FeatureStdExtSvinval, + FeatureStdExtZfbfmin, + FeatureStdExtZvfbfmin, + FeatureStdExtZvfbfwma], ppenzin wrote: Addressed. https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
ppenzin wrote: We would take `ascalon-d8`, but `tt-ascalon-d8` is just as good. https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -407,6 +407,54 @@ def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7", FeatureStdExtZkn], [TuneNoDefaultUnroll, FeaturePostRAScheduler]>; +def TENSTORRENT_ASCALON_D8 : RISCVProcessorModel<"tt-ascalon-d8", + NoSchedModel, ppenzin wrote: Do you mean between the name and feature flags? https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -407,6 +407,54 @@ def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7", FeatureStdExtZkn], [TuneNoDefaultUnroll, FeaturePostRAScheduler]>; +def TENSTORRENT_ASCALON_D8 : RISCVProcessorModel<"tt-ascalon-d8", + NoSchedModel, + [Feature64Bit, + FeatureStdExtI, + FeatureStdExtZifencei, + FeatureStdExtZicsr, + FeatureStdExtZicntr, + FeatureStdExtZihpm, + FeatureStdExtZihintpause, + FeatureStdExtM, + FeatureStdExtA, + FeatureStdExtF, + FeatureStdExtD, + FeatureStdExtC, + FeatureStdExtV, + FeatureStdExtZvl256b, + FeatureStdExtZfh, + FeatureStdExtZvfh, + FeatureStdExtZba, + FeatureStdExtZbb, + FeatureStdExtZbs, + FeatureStdExtZicbom, + FeatureStdExtZicbop, + FeatureStdExtZicboz, + FeatureStdExtH, + FeatureStdExtZihintntl, + FeatureStdExtZfhmin, + FeatureStdExtZfa, + FeatureStdExtZkt, + FeatureStdExtZcb, + FeatureStdExtZvbb, + FeatureStdExtZvbc, + FeatureStdExtZawrs, + FeatureStdExtZvkng, + FeatureStdExtZicond, + FeatureUnalignedScalarMem, + FeatureUnalignedVectorMem, + FeatureStdExtSvnapot, + FeatureStdExtSvpbmt, + FeatureStdExtSvinval, + FeatureStdExtZfbfmin, + FeatureStdExtZvfbfmin, + FeatureStdExtZvfbfwma], ppenzin wrote: Good point, and we do support Zimop. https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -407,6 +407,54 @@ def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7", FeatureStdExtZkn], [TuneNoDefaultUnroll, FeaturePostRAScheduler]>; +def TENSTORRENT_ASCALON_D8 : RISCVProcessorModel<"tt-ascalon-d8", ppenzin wrote: With my company hat on I can say that we would prefer tt-ascalon-d8, we use lowercase abbreviation 'tt' in other places. For example our lower level AI stack is referred to as 'tt-metal' (as opposed to 'tenstorrent-tt-metal' or 'tenstorrent-metal') https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -407,6 +407,54 @@ def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7", FeatureStdExtZkn], [TuneNoDefaultUnroll, FeaturePostRAScheduler]>; +def TENSTORRENT_ASCALON_D8 : RISCVProcessorModel<"tt-ascalon-d8", + NoSchedModel, + [Feature64Bit, + FeatureStdExtI, + FeatureStdExtZifencei, + FeatureStdExtZicsr, + FeatureStdExtZicntr, + FeatureStdExtZihpm, + FeatureStdExtZihintpause, + FeatureStdExtM, + FeatureStdExtA, + FeatureStdExtF, + FeatureStdExtD, + FeatureStdExtC, + FeatureStdExtV, + FeatureStdExtZvl256b, + FeatureStdExtZfh, + FeatureStdExtZvfh, + FeatureStdExtZba, + FeatureStdExtZbb, + FeatureStdExtZbs, + FeatureStdExtZicbom, + FeatureStdExtZicbop, + FeatureStdExtZicboz, + FeatureStdExtH, + FeatureStdExtZihintntl, + FeatureStdExtZfhmin, + FeatureStdExtZfa, + FeatureStdExtZkt, + FeatureStdExtZcb, + FeatureStdExtZvbb, + FeatureStdExtZvbc, + FeatureStdExtZawrs, + FeatureStdExtZvkng, + FeatureStdExtZicond, + FeatureUnalignedScalarMem, + FeatureUnalignedVectorMem, + FeatureStdExtSvnapot, + FeatureStdExtSvpbmt, + FeatureStdExtSvinval, + FeatureStdExtZfbfmin, + FeatureStdExtZvfbfmin, + FeatureStdExtZvfbfwma], ppenzin wrote: Zimop addressed, need to double check the rest, there might be more missing. https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -407,6 +407,54 @@ def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7", FeatureStdExtZkn], [TuneNoDefaultUnroll, FeaturePostRAScheduler]>; +def TENSTORRENT_ASCALON_D8 : RISCVProcessorModel<"tt-ascalon-d8", ppenzin wrote: We'd prefer `tt` as it would be shorter :smile: https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
ppenzin wrote: > Hi @ppenzin! Is this core used in many-cores products like wormhole? This is separate from AI accelerator cores. https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -407,6 +407,54 @@ def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7", FeatureStdExtZkn], [TuneNoDefaultUnroll, FeaturePostRAScheduler]>; +def TENSTORRENT_ASCALON_D8 : RISCVProcessorModel<"tt-ascalon-d8", + NoSchedModel, + [Feature64Bit, + FeatureStdExtI, + FeatureStdExtZifencei, + FeatureStdExtZicsr, + FeatureStdExtZicntr, + FeatureStdExtZihpm, + FeatureStdExtZihintpause, + FeatureStdExtM, + FeatureStdExtA, + FeatureStdExtF, + FeatureStdExtD, + FeatureStdExtC, + FeatureStdExtV, + FeatureStdExtZvl256b, + FeatureStdExtZfh, + FeatureStdExtZvfh, + FeatureStdExtZba, + FeatureStdExtZbb, + FeatureStdExtZbs, + FeatureStdExtZicbom, + FeatureStdExtZicbop, + FeatureStdExtZicboz, + FeatureStdExtH, + FeatureStdExtZihintntl, + FeatureStdExtZfhmin, + FeatureStdExtZfa, + FeatureStdExtZkt, + FeatureStdExtZcb, + FeatureStdExtZvbb, + FeatureStdExtZvbc, + FeatureStdExtZawrs, + FeatureStdExtZvkng, + FeatureStdExtZicond, + FeatureUnalignedScalarMem, + FeatureUnalignedVectorMem, + FeatureStdExtSvnapot, + FeatureStdExtSvpbmt, + FeatureStdExtSvinval, + FeatureStdExtZfbfmin, + FeatureStdExtZvfbfmin, + FeatureStdExtZvfbfwma], + [TuneNoDefaultUnroll, + TuneOptimizedZeroStrideLoad, + TuneNoSinkSplatOperands, ppenzin wrote: Addressed https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -407,6 +407,54 @@ def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7", FeatureStdExtZkn], [TuneNoDefaultUnroll, FeaturePostRAScheduler]>; +def TENSTORRENT_ASCALON_D8 : RISCVProcessorModel<"tt-ascalon-d8", + NoSchedModel, ppenzin wrote: Addressed https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -407,6 +407,54 @@ def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7", FeatureStdExtZkn], [TuneNoDefaultUnroll, FeaturePostRAScheduler]>; +def TENSTORRENT_ASCALON_D8 : RISCVProcessorModel<"tt-ascalon-d8", + NoSchedModel, + [Feature64Bit, + FeatureStdExtI, + FeatureStdExtZifencei, + FeatureStdExtZicsr, + FeatureStdExtZicntr, + FeatureStdExtZihpm, + FeatureStdExtZihintpause, + FeatureStdExtM, + FeatureStdExtA, + FeatureStdExtF, + FeatureStdExtD, + FeatureStdExtC, + FeatureStdExtV, + FeatureStdExtZvl256b, + FeatureStdExtZfh, + FeatureStdExtZvfh, + FeatureStdExtZba, + FeatureStdExtZbb, + FeatureStdExtZbs, + FeatureStdExtZicbom, + FeatureStdExtZicbop, + FeatureStdExtZicboz, + FeatureStdExtH, + FeatureStdExtZihintntl, + FeatureStdExtZfhmin, + FeatureStdExtZfa, + FeatureStdExtZkt, + FeatureStdExtZcb, + FeatureStdExtZvbb, + FeatureStdExtZvbc, + FeatureStdExtZawrs, + FeatureStdExtZvkng, + FeatureStdExtZicond, + FeatureUnalignedScalarMem, + FeatureUnalignedVectorMem, + FeatureStdExtSvnapot, + FeatureStdExtSvpbmt, + FeatureStdExtSvinval, + FeatureStdExtZfbfmin, + FeatureStdExtZvfbfmin, + FeatureStdExtZvfbfwma], + [TuneNoDefaultUnroll, + TuneOptimizedZeroStrideLoad, + TuneNoSinkSplatOperands, ppenzin wrote: Yes, it was, my bad. https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
https://github.com/ppenzin updated https://github.com/llvm/llvm-project/pull/115100 >From 246f1374b31ac11041deffe2f4afc35ee93cc66f Mon Sep 17 00:00:00 2001 From: Petr Penzin Date: Tue, 5 Nov 2024 13:11:48 -0600 Subject: [PATCH 1/2] [RISCV] Add TT-Ascalon-d8 processor Ascalon is an out-of-order CPU core from Tenstorrent. Overview: https://tenstorrent.com/ip/tt-ascalon Adding 8-wide version, -mcpu=tt-ascalon-d8. Scheduling model will be added in a separate PR. Co-authored-by: Anton Blanchard --- clang/test/Driver/riscv-cpus.c| 54 +++ .../test/Misc/target-invalid-cpu-note/riscv.c | 2 + llvm/docs/ReleaseNotes.md | 1 + llvm/lib/Target/RISCV/RISCVProcessors.td | 48 + 4 files changed, 105 insertions(+) diff --git a/clang/test/Driver/riscv-cpus.c b/clang/test/Driver/riscv-cpus.c index d36639d16ad4cb..468e01c8d934da 100644 --- a/clang/test/Driver/riscv-cpus.c +++ b/clang/test/Driver/riscv-cpus.c @@ -104,6 +104,60 @@ // RUN: %clang --target=riscv32 -### -c %s 2>&1 -mtune=syntacore-scr1-max | FileCheck -check-prefix=MTUNE-SYNTACORE-SCR1-MAX %s // MTUNE-SYNTACORE-SCR1-MAX: "-tune-cpu" "syntacore-scr1-max" +// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mtune=tt-ascalon-d8 | FileCheck -check-prefix=MTUNE-TT-ASCALON-D8 %s +// MTUNE-TT-ASCALON-D8: "-tune-cpu" "tt-ascalon-d8" + +// RUN: %clang --target=riscv64 -### -c %s 2>&1 -mcpu=tt-ascalon-d8 | FileCheck -check-prefix=MCPU-TT-ASCALON-D8 %s +// MCPU-TT-ASCALON-D8: "-target-cpu" "tt-ascalon-d8" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+m" "-target-feature" "+a" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+f" "-target-feature" "+d" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+c" "-target-feature" "+v" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+h" "-target-feature" "+zicbom" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicbop" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicboz" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicntr" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicond" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zicsr" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zifencei" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zihintntl" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zihintpause" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zihpm" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zmmul" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zawrs" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zfa" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zfbfmin" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zfh" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zfhmin" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zca" "-target-feature" "+zcb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zba" "-target-feature" "+zbb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zbs" "-target-feature" "+zkt" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvbb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvbc" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve32f" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve32x" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve64d" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve64f" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zve64x" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvfbfmin" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvfbfwma" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvfh" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvfhmin" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkg" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkn" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvknc" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkned" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkng" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvknhb" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvkt" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvl128b" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvl256b" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvl32b" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+zvl64b" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+svinval" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+svnapot" +// MCPU-TT-ASCALON-D8-SAME: "-target-feature" "+svpbmt" + // RUN: %clang --target=riscv64 -### -c %s 2>&1 -mcpu=veyron-v1 | FileCheck -check-prefix=MCPU-VEYRON-V1 %s // MCPU-VEYRON-V1: "-target-cpu" "veyron-v1" // MCPU-VEYRON-V1: "-target-feature" "+m" diff --git a/clang/test/Misc/target-invalid-cpu-note/riscv.c b/clang/test/Misc/target-invalid-cpu-note/riscv.c index 7bbf3574af3c35..8c5df5884cd791 100644 --- a/clang/test/Misc/target-invalid-cpu-note/riscv.c +++ b/clang/test/Misc/target-invalid-cpu-note/riscv.c @@ -41,6 +41,7 @@ // RISCV64-SAME: {{^}}, syntacore-scr4-rv64 // RISCV64-SAME: {{^}}, syntacore-scr5-rv64
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
@@ -407,6 +407,54 @@ def SYNTACORE_SCR7 : RISCVProcessorModel<"syntacore-scr7", FeatureStdExtZkn], [TuneNoDefaultUnroll, FeaturePostRAScheduler]>; +def TENSTORRENT_ASCALON_D8 : RISCVProcessorModel<"tt-ascalon-d8", + NoSchedModel, + [Feature64Bit, + FeatureStdExtI, + FeatureStdExtZifencei, + FeatureStdExtZicsr, + FeatureStdExtZicntr, + FeatureStdExtZihpm, + FeatureStdExtZihintpause, + FeatureStdExtM, + FeatureStdExtA, + FeatureStdExtF, + FeatureStdExtD, + FeatureStdExtC, + FeatureStdExtV, + FeatureStdExtZvl256b, + FeatureStdExtZfh, + FeatureStdExtZvfh, + FeatureStdExtZba, + FeatureStdExtZbb, + FeatureStdExtZbs, + FeatureStdExtZicbom, + FeatureStdExtZicbop, + FeatureStdExtZicboz, + FeatureStdExtH, + FeatureStdExtZihintntl, + FeatureStdExtZfhmin, ppenzin wrote: Addressed https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
ppenzin wrote: Are there still open questions for the sync call? https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [RISCV] Add TT-Ascalon-d8 processor (PR #115100)
ppenzin wrote: If we are all good, can someone merge this? I don't have write access. https://github.com/llvm/llvm-project/pull/115100 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits