On Fri, Mar 18, 2022 at 7:58 AM Kito Cheng <kito.ch...@gmail.com> wrote:

> I would suggest rename those __builtin_riscv_* to
> __builtin_riscv_cmo_*, that's less confusing,  __builtin_riscv_zero
> just seems like it will return a zero value.
>

You meant cbo_zero, right?
CMO was only the task-group name, but the extensions ended up having "cbo"
in their nameā€¦

On Fri, Mar 4, 2022 at 10:52 AM <yul...@nj.iscas.ac.cn> wrote:
> >
> > From: yulong-plct <yul...@nj.iscas.ac.cn>
> >
> > This commit adds testcases about CMO instructions.
> >   7
> >   8 gcc/testsuite/ChangeLog:
> >   9
> >  10         * gcc.target/riscv/cmo-zicbom-1.c: New test.
> >  11         * gcc.target/riscv/cmo-zicbom-2.c: New test.
> >  12         * gcc.target/riscv/cmo-zicbop-1.c: New test.
> >  13         * gcc.target/riscv/cmo-zicbop-2.c: New test.
> >  14         * gcc.target/riscv/cmo-zicboz-1.c: New test.
> >  15         * gcc.target/riscv/cmo-zicboz-2.c: New test.
> >
> > ---
> >  gcc/testsuite/gcc.target/riscv/cmo-zicbom-1.c | 21 +++++++++++++++++
> >  gcc/testsuite/gcc.target/riscv/cmo-zicbom-2.c | 21 +++++++++++++++++
> >  gcc/testsuite/gcc.target/riscv/cmo-zicbop-1.c | 23 +++++++++++++++++++
> >  gcc/testsuite/gcc.target/riscv/cmo-zicbop-2.c | 23 +++++++++++++++++++
> >  gcc/testsuite/gcc.target/riscv/cmo-zicboz-1.c |  9 ++++++++
> >  gcc/testsuite/gcc.target/riscv/cmo-zicboz-2.c |  9 ++++++++
> >  6 files changed, 106 insertions(+)
> >  create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicbom-1.c
> >  create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicbom-2.c
> >  create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicbop-1.c
> >  create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicbop-2.c
> >  create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicboz-1.c
> >  create mode 100644 gcc/testsuite/gcc.target/riscv/cmo-zicboz-2.c
> >
> > diff --git a/gcc/testsuite/gcc.target/riscv/cmo-zicbom-1.c
> b/gcc/testsuite/gcc.target/riscv/cmo-zicbom-1.c
> > new file mode 100644
> > index 00000000000..16935ff3d31
> > --- /dev/null
> > +++ b/gcc/testsuite/gcc.target/riscv/cmo-zicbom-1.c
> > @@ -0,0 +1,21 @@
> > +/* { dg-do compile } */
> > +/* { dg-options "-march=rv64gc_zicbom -mabi=lp64" } */
> > +
> > +int foo1()
> > +{
> > +    return __builtin_riscv_clean();
> > +}
> > +
> > +int foo2()
> > +{
> > +    return __builtin_riscv_flush();
> > +}
> > +
> > +int foo3()
> > +{
> > +    return __builtin_riscv_inval();
> > +}
> > +
> > +/* { dg-final { scan-assembler-times "cbo.clean" 1 } } */
> > +/* { dg-final { scan-assembler-times "cbo.flush" 1 } } */
> > +/* { dg-final { scan-assembler-times "cbo.inval" 1 } } */
> > \ No newline at end of file
> > diff --git a/gcc/testsuite/gcc.target/riscv/cmo-zicbom-2.c
> b/gcc/testsuite/gcc.target/riscv/cmo-zicbom-2.c
> > new file mode 100644
> > index 00000000000..fc14f2b9c2b
> > --- /dev/null
> > +++ b/gcc/testsuite/gcc.target/riscv/cmo-zicbom-2.c
> > @@ -0,0 +1,21 @@
> > +/* { dg-do compile } */
> > +/* { dg-options "-march=rv32gc_zicbom -mabi=ilp32" } */
> > +
> > +int foo1()
> > +{
> > +    return __builtin_riscv_clean();
> > +}
> > +
> > +int foo2()
> > +{
> > +    return __builtin_riscv_flush();
> > +}
> > +
> > +int foo3()
> > +{
> > +    return __builtin_riscv_inval();
> > +}
> > +
> > +/* { dg-final { scan-assembler-times "cbo.clean" 1 } } */
> > +/* { dg-final { scan-assembler-times "cbo.flush" 1 } } */
> > +/* { dg-final { scan-assembler-times "cbo.inval" 1 } } */
> > \ No newline at end of file
> > diff --git a/gcc/testsuite/gcc.target/riscv/cmo-zicbop-1.c
> b/gcc/testsuite/gcc.target/riscv/cmo-zicbop-1.c
> > new file mode 100644
> > index 00000000000..b8bac2e8c51
> > --- /dev/null
> > +++ b/gcc/testsuite/gcc.target/riscv/cmo-zicbop-1.c
> > @@ -0,0 +1,23 @@
> > +/* { dg-do compile target { { rv64-*-*}}} */
> > +/* { dg-options "-march=rv64gc_zicbop -mabi=lp64" } */
> > +
> > +void foo (char *p)
> > +{
> > +  __builtin_prefetch (p, 0, 0);
> > +  __builtin_prefetch (p, 0, 1);
> > +  __builtin_prefetch (p, 0, 2);
> > +  __builtin_prefetch (p, 0, 3);
> > +  __builtin_prefetch (p, 1, 0);
> > +  __builtin_prefetch (p, 1, 1);
> > +  __builtin_prefetch (p, 1, 2);
> > +  __builtin_prefetch (p, 1, 3);
> > +}
> > +
> > +int foo1()
> > +{
> > +  return __builtin_riscv_prefetchi(1);
> > +}
> > +
> > +/* { dg-final { scan-assembler-times "prefetch.i" 1 } } */
> > +/* { dg-final { scan-assembler-times "prefetch.r" 4 } } */
> > +/* { dg-final { scan-assembler-times "prefetch.w" 4 } } */
> > \ No newline at end of file
> > diff --git a/gcc/testsuite/gcc.target/riscv/cmo-zicbop-2.c
> b/gcc/testsuite/gcc.target/riscv/cmo-zicbop-2.c
> > new file mode 100644
> > index 00000000000..5ace6e2b349
> > --- /dev/null
> > +++ b/gcc/testsuite/gcc.target/riscv/cmo-zicbop-2.c
> > @@ -0,0 +1,23 @@
> > +/* { dg-do compile target { { rv32-*-*}}} */
> > +/* { dg-options "-march=rv32gc_zicbop -mabi=ilp32" } */
> > +
> > +void foo (char *p)
> > +{
> > +  __builtin_prefetch (p, 0, 0);
> > +  __builtin_prefetch (p, 0, 1);
> > +  __builtin_prefetch (p, 0, 2);
> > +  __builtin_prefetch (p, 0, 3);
> > +  __builtin_prefetch (p, 1, 0);
> > +  __builtin_prefetch (p, 1, 1);
> > +  __builtin_prefetch (p, 1, 2);
> > +  __builtin_prefetch (p, 1, 3);
> > +}
> > +
> > +int foo1()
> > +{
> > +  return __builtin_riscv_prefetchi(1);
> > +}
> > +
> > +/* { dg-final { scan-assembler-times "prefetch.i" 1 } } */
> > +/* { dg-final { scan-assembler-times "prefetch.r" 4 } } */
> > +/* { dg-final { scan-assembler-times "prefetch.w" 4 } } */
> > \ No newline at end of file
> > diff --git a/gcc/testsuite/gcc.target/riscv/cmo-zicboz-1.c
> b/gcc/testsuite/gcc.target/riscv/cmo-zicboz-1.c
> > new file mode 100644
> > index 00000000000..c2401fe0cf9
> > --- /dev/null
> > +++ b/gcc/testsuite/gcc.target/riscv/cmo-zicboz-1.c
> > @@ -0,0 +1,9 @@
> > +/* { dg-do compile } */
> > +/* { dg-options "-march=rv64gc_zicboz -mabi=lp64" } */
> > +
> > +int foo1()
> > +{
> > +    return __builtin_riscv_zero();
> > +}
> > +
> > +/* { dg-final { scan-assembler-times "cbo.zero" 1 } } */
> > \ No newline at end of file
> > diff --git a/gcc/testsuite/gcc.target/riscv/cmo-zicboz-2.c
> b/gcc/testsuite/gcc.target/riscv/cmo-zicboz-2.c
> > new file mode 100644
> > index 00000000000..98fb3bf978a
> > --- /dev/null
> > +++ b/gcc/testsuite/gcc.target/riscv/cmo-zicboz-2.c
> > @@ -0,0 +1,9 @@
> > +/* { dg-do compile } */
> > +/* { dg-options "-march=rv32gc_zicboz -mabi=ilp32" } */
> > +
> > +int foo1()
> > +{
> > +    return __builtin_riscv_zero();
> > +}
> > +
> > +/* { dg-final { scan-assembler-times "cbo.zero" 1 } } */
> > \ No newline at end of file
> > --
> > 2.17.1
> >
>

Reply via email to