public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Do not perform tests that are not supported by the CPU.
@ 2022-04-22 13:17 sajcho
  2022-04-22 14:32 ` Jonathan Wakely
  0 siblings, 1 reply; 4+ messages in thread
From: sajcho @ 2022-04-22 13:17 UTC (permalink / raw)
  To: gcc-help

Hi.

lscpu output:

Architecture:            aarch64
  CPU op-mode(s):        32-bit, 64-bit
  Byte Order:            Little Endian
CPU(s):                  6
  On-line CPU(s) list:   0,3-5
  Off-line CPU(s) list:  1,2
Vendor ID:               ARM
  Model name:            Cortex-A57
    Model:               3
    Thread(s) per core:  1
    Core(s) per cluster: 4
    Socket(s):           -
    Cluster(s):          1
    Stepping:            r1p3
    CPU max MHz:         2035,2000
    CPU min MHz:         960,0000
    BogoMIPS:            62.50
    Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
Caches (sum of all):
  L1d:                   128 KiB (4 instances)
  L1i:                   192 KiB (4 instances)
  L2:                    2 MiB (1 instance)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0,3-5
Vulnerabilities:
  Itlb multihit:         Not affected
  L1tf:                  Not affected
  Mds:                   Not affected
  Meltdown:              Mitigation; PTI
  Spec store bypass:     Not affected
  Spectre v1:            Mitigation; __user pointer sanitization
  Spectre v2:            Mitigation; Branch predictor hardening, BHB
  Srbds:                 Not affected
  Tsx async abort:       Not affected

../configure --prefix=/usr --libexecdir=/usr/lib --enable-languages=c,c++,fortran,lto --enable-threads=posix --enable-__cxa_atexit --enable-default-pie --enable-default-ssp --enable-linker-build-id --enable-initfini-array --enable-link-serialization=1 --enable-gnu-indirect-function --enable-plugin --disable-nls --disable-multilib --disable-sjlj-exceptions --disable-libunwind-exceptions --disable-libquadmath-support --disable-libquadmath --with-system-zlib --with-linker-hash-style=gnu --with-build-config=bootstrap-lto --with-pkgversion=SAUX-Aarch64 --build=aarch64-unknown-linux-gnu --host=aarch64-unknown-linux-gnu

make profiledbootstrap

This is where my question begins.
Is there any easy way to avoid tests (sve, sve2, aapcs ....) that are not supported by this cpu?

Thanks.

Milan


---
Remember, no question is too stupid and no problem too small
            *** We've all been beginners ***

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Do not perform tests that are not supported by the CPU.
  2022-04-22 13:17 Do not perform tests that are not supported by the CPU sajcho
@ 2022-04-22 14:32 ` Jonathan Wakely
  2022-04-22 15:33   ` sajcho
  0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Wakely @ 2022-04-22 14:32 UTC (permalink / raw)
  To: sajcho; +Cc: gcc-help

On Fri, 22 Apr 2022 at 14:18, sajcho via Gcc-help <gcc-help@gcc.gnu.org> wrote:
>
> Hi.
>
> lscpu output:
>
> Architecture:            aarch64
>   CPU op-mode(s):        32-bit, 64-bit
>   Byte Order:            Little Endian
> CPU(s):                  6
>   On-line CPU(s) list:   0,3-5
>   Off-line CPU(s) list:  1,2
> Vendor ID:               ARM
>   Model name:            Cortex-A57
>     Model:               3
>     Thread(s) per core:  1
>     Core(s) per cluster: 4
>     Socket(s):           -
>     Cluster(s):          1
>     Stepping:            r1p3
>     CPU max MHz:         2035,2000
>     CPU min MHz:         960,0000
>     BogoMIPS:            62.50
>     Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
> Caches (sum of all):
>   L1d:                   128 KiB (4 instances)
>   L1i:                   192 KiB (4 instances)
>   L2:                    2 MiB (1 instance)
> NUMA:
>   NUMA node(s):          1
>   NUMA node0 CPU(s):     0,3-5
> Vulnerabilities:
>   Itlb multihit:         Not affected
>   L1tf:                  Not affected
>   Mds:                   Not affected
>   Meltdown:              Mitigation; PTI
>   Spec store bypass:     Not affected
>   Spectre v1:            Mitigation; __user pointer sanitization
>   Spectre v2:            Mitigation; Branch predictor hardening, BHB
>   Srbds:                 Not affected
>   Tsx async abort:       Not affected
>
> ../configure --prefix=/usr --libexecdir=/usr/lib --enable-languages=c,c++,fortran,lto --enable-threads=posix --enable-__cxa_atexit --enable-default-pie --enable-default-ssp --enable-linker-build-id --enable-initfini-array --enable-link-serialization=1 --enable-gnu-indirect-function --enable-plugin --disable-nls --disable-multilib --disable-sjlj-exceptions --disable-libunwind-exceptions --disable-libquadmath-support --disable-libquadmath --with-system-zlib --with-linker-hash-style=gnu --with-build-config=bootstrap-lto --with-pkgversion=SAUX-Aarch64 --build=aarch64-unknown-linux-gnu --host=aarch64-unknown-linux-gnu
>
> make profiledbootstrap
>
> This is where my question begins.
> Is there any easy way to avoid tests (sve, sve2, aapcs ....) that are not supported by this cpu?

In theory you shouldn't need to do anything. Tests that use those
features should be restricted to only run when the CPU supports them,
via https://gcc.gnu.org/onlinedocs/gccint/Effective-Target-Keywords.html#AArch64-specific-attributes

In practice, some tests might not use the correct keywords to ensure
that happens.

Have you tried it?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Do not perform tests that are not supported by the CPU.
  2022-04-22 14:32 ` Jonathan Wakely
@ 2022-04-22 15:33   ` sajcho
  2022-04-22 17:31     ` Jonathan Wakely
  0 siblings, 1 reply; 4+ messages in thread
From: sajcho @ 2022-04-22 15:33 UTC (permalink / raw)
  To: gcc-help

On 22-04-22 15:32:07, Jonathan Wakely wrote:
> On Fri, 22 Apr 2022 at 14:18, sajcho via Gcc-help <gcc-help@gcc.gnu.org> wrote:
> >
> > Hi.
> >
> > lscpu output:
> >
> > Architecture:            aarch64
> >   CPU op-mode(s):        32-bit, 64-bit
> >   Byte Order:            Little Endian
> > CPU(s):                  6
> >   On-line CPU(s) list:   0,3-5
> >   Off-line CPU(s) list:  1,2
> > Vendor ID:               ARM
> >   Model name:            Cortex-A57
> >     Model:               3
> >     Thread(s) per core:  1
> >     Core(s) per cluster: 4
> >     Socket(s):           -
> >     Cluster(s):          1
> >     Stepping:            r1p3
> >     CPU max MHz:         2035,2000
> >     CPU min MHz:         960,0000
> >     BogoMIPS:            62.50
> >     Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
> > Caches (sum of all):
> >   L1d:                   128 KiB (4 instances)
> >   L1i:                   192 KiB (4 instances)
> >   L2:                    2 MiB (1 instance)
> > NUMA:
> >   NUMA node(s):          1
> >   NUMA node0 CPU(s):     0,3-5
> > Vulnerabilities:
> >   Itlb multihit:         Not affected
> >   L1tf:                  Not affected
> >   Mds:                   Not affected
> >   Meltdown:              Mitigation; PTI
> >   Spec store bypass:     Not affected
> >   Spectre v1:            Mitigation; __user pointer sanitization
> >   Spectre v2:            Mitigation; Branch predictor hardening, BHB
> >   Srbds:                 Not affected
> >   Tsx async abort:       Not affected
> >
> > ../configure --prefix=/usr --libexecdir=/usr/lib --enable-languages=c,c++,fortran,lto --enable-threads=posix --enable-__cxa_atexit --enable-default-pie --enable-default-ssp --enable-linker-build-id --enable-initfini-array --enable-link-serialization=1 --enable-gnu-indirect-function --enable-plugin --disable-nls --disable-multilib --disable-sjlj-exceptions --disable-libunwind-exceptions --disable-libquadmath-support --disable-libquadmath --with-system-zlib --with-linker-hash-style=gnu --with-build-config=bootstrap-lto --with-pkgversion=SAUX-Aarch64 --build=aarch64-unknown-linux-gnu --host=aarch64-unknown-linux-gnu
> >
> > make profiledbootstrap
> >
> > This is where my question begins.
> > Is there any easy way to avoid tests (sve, sve2, aapcs ....) that are not supported by this cpu?
>
> In theory you shouldn't need to do anything. Tests that use those
> features should be restricted to only run when the CPU supports them,
> via https://gcc.gnu.org/onlinedocs/gccint/Effective-Target-Keywords.html#AArch64-specific-attributes
>
> In practice, some tests might not use the correct keywords to ensure
> that happens.
>
> Have you tried it?
>

He didn't try. I'm confused.

These attributes are specified in lib/target-supports.exp.
I don't know how to use them.

I don't think my knowledge is sufficient.


---
Remember, no question is too stupid and no problem too small
            *** We've all been beginners ***

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Do not perform tests that are not supported by the CPU.
  2022-04-22 15:33   ` sajcho
@ 2022-04-22 17:31     ` Jonathan Wakely
  0 siblings, 0 replies; 4+ messages in thread
From: Jonathan Wakely @ 2022-04-22 17:31 UTC (permalink / raw)
  To: sajcho; +Cc: gcc-help

On Fri, 22 Apr 2022 at 16:34, sajcho via Gcc-help <gcc-help@gcc.gnu.org> wrote:
>
> On 22-04-22 15:32:07, Jonathan Wakely wrote:
> > On Fri, 22 Apr 2022 at 14:18, sajcho via Gcc-help <gcc-help@gcc.gnu.org> wrote:
> > >
> > > Hi.
> > >
> > > lscpu output:
> > >
> > > Architecture:            aarch64
> > >   CPU op-mode(s):        32-bit, 64-bit
> > >   Byte Order:            Little Endian
> > > CPU(s):                  6
> > >   On-line CPU(s) list:   0,3-5
> > >   Off-line CPU(s) list:  1,2
> > > Vendor ID:               ARM
> > >   Model name:            Cortex-A57
> > >     Model:               3
> > >     Thread(s) per core:  1
> > >     Core(s) per cluster: 4
> > >     Socket(s):           -
> > >     Cluster(s):          1
> > >     Stepping:            r1p3
> > >     CPU max MHz:         2035,2000
> > >     CPU min MHz:         960,0000
> > >     BogoMIPS:            62.50
> > >     Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
> > > Caches (sum of all):
> > >   L1d:                   128 KiB (4 instances)
> > >   L1i:                   192 KiB (4 instances)
> > >   L2:                    2 MiB (1 instance)
> > > NUMA:
> > >   NUMA node(s):          1
> > >   NUMA node0 CPU(s):     0,3-5
> > > Vulnerabilities:
> > >   Itlb multihit:         Not affected
> > >   L1tf:                  Not affected
> > >   Mds:                   Not affected
> > >   Meltdown:              Mitigation; PTI
> > >   Spec store bypass:     Not affected
> > >   Spectre v1:            Mitigation; __user pointer sanitization
> > >   Spectre v2:            Mitigation; Branch predictor hardening, BHB
> > >   Srbds:                 Not affected
> > >   Tsx async abort:       Not affected
> > >
> > > ../configure --prefix=/usr --libexecdir=/usr/lib --enable-languages=c,c++,fortran,lto --enable-threads=posix --enable-__cxa_atexit --enable-default-pie --enable-default-ssp --enable-linker-build-id --enable-initfini-array --enable-link-serialization=1 --enable-gnu-indirect-function --enable-plugin --disable-nls --disable-multilib --disable-sjlj-exceptions --disable-libunwind-exceptions --disable-libquadmath-support --disable-libquadmath --with-system-zlib --with-linker-hash-style=gnu --with-build-config=bootstrap-lto --with-pkgversion=SAUX-Aarch64 --build=aarch64-unknown-linux-gnu --host=aarch64-unknown-linux-gnu
> > >
> > > make profiledbootstrap
> > >
> > > This is where my question begins.
> > > Is there any easy way to avoid tests (sve, sve2, aapcs ....) that are not supported by this cpu?
> >
> > In theory you shouldn't need to do anything. Tests that use those
> > features should be restricted to only run when the CPU supports them,
> > via https://gcc.gnu.org/onlinedocs/gccint/Effective-Target-Keywords.html#AArch64-specific-attributes
> >
> > In practice, some tests might not use the correct keywords to ensure
> > that happens.
> >
> > Have you tried it?
> >
>
> He didn't try. I'm confused.
>
> These attributes are specified in lib/target-supports.exp.
> I don't know how to use them.
>
> I don't think my knowledge is sufficient.

You don't use them, the GCC tests use them to say things like "this
test requires sve hardware", which causes the testsuite framework to
skip those tests if the hardware support is absent.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-04-22 17:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-22 13:17 Do not perform tests that are not supported by the CPU sajcho
2022-04-22 14:32 ` Jonathan Wakely
2022-04-22 15:33   ` sajcho
2022-04-22 17:31     ` Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).