Hi!
On Thu, 10 Apr 2025 at 19:13, Richard Earnshaw (lists)
<[email protected]> wrote:
>
> On 10/04/2025 14:55, Christophe Lyon wrote:
> > All arm effective-targets using check_runtime use the "_hw" or
> > "_multilib" suffix, so rename arm_v8_1_lob_ok into arm_v8_1_lob_hw for
> > consistency.
> >
> > gcc/testsuite/ChangeLog
> >
> > * lib/target-supports.exp: Rename arm_v8_1_lob_ok into
> > arm_v8_1_lob_hw.
> > * gcc.target/arm/lob1.c: Likewise.
> > * gcc.target/arm/lob6.c: Likewise.
>
> Since you're changing that, would you mind making the name arm_v8_1m_lob_hw?
> Although LOB is specific to
> Armv8.1-m, it's not very obvious if you're not familiar with the many
> architecture extensions.
>
> OK with that change.
>
Good point.
Your remark made me notice that the callers of arm_v8_1m_lob_hw were
also "v8_1", so I renamed them as attached.
Thanks,
Christophe
> R.
>
> > ---
> > gcc/testsuite/gcc.target/arm/lob1.c | 2 +-
> > gcc/testsuite/gcc.target/arm/lob6.c | 2 +-
> > gcc/testsuite/lib/target-supports.exp | 6 +++---
> > 3 files changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/gcc/testsuite/gcc.target/arm/lob1.c
> > b/gcc/testsuite/gcc.target/arm/lob1.c
> > index c8ce653a5c3..b97dafa3512 100644
> > --- a/gcc/testsuite/gcc.target/arm/lob1.c
> > +++ b/gcc/testsuite/gcc.target/arm/lob1.c
> > @@ -1,7 +1,7 @@
> > /* Check that GCC generates Armv8.1-M low over head loop instructions
> > for some simple loops. */
> > /* { dg-do run } */
> > -/* { dg-require-effective-target arm_v8_1_lob_ok } */
> > +/* { dg-require-effective-target arm_v8_1_lob_hw } */
> > /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm"
> > "-mcpu=*" } } */
> > /* { dg-options "-march=armv8.1-m.main -mthumb -O3 --save-temps" } */
> > #include <stdlib.h>
> > diff --git a/gcc/testsuite/gcc.target/arm/lob6.c
> > b/gcc/testsuite/gcc.target/arm/lob6.c
> > index 4fe116e2c2b..cef9d93ee4d 100644
> > --- a/gcc/testsuite/gcc.target/arm/lob6.c
> > +++ b/gcc/testsuite/gcc.target/arm/lob6.c
> > @@ -1,7 +1,7 @@
> > /* Check that GCC generates Armv8.1-M low over head loop instructions
> > with some less trivial loops and the result is correct. */
> > /* { dg-do run } */
> > -/* { dg-require-effective-target arm_v8_1_lob_ok } */
> > +/* { dg-require-effective-target arm_v8_1_lob_hw } */
> > /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm"
> > "-mcpu=*" } } */
> > /* { dg-options "-march=armv8.1-m.main -mthumb -O3 --save-temps" } */
> > #include <stdlib.h>
> > diff --git a/gcc/testsuite/lib/target-supports.exp
> > b/gcc/testsuite/lib/target-supports.exp
> > index bc4361d6092..d8e28db45de 100644
> > --- a/gcc/testsuite/lib/target-supports.exp
> > +++ b/gcc/testsuite/lib/target-supports.exp
> > @@ -13562,7 +13562,7 @@ proc
> > check_effective_target_arm_v8_3a_bkey_directive { } {
> > # Return 1 if the target supports executing the Armv8.1-M Mainline Low
> > # Overhead Loop, 0 otherwise. The test is valid for ARM.
> >
> > -proc check_effective_target_arm_v8_1_lob_ok { } {
> > +proc check_effective_target_arm_v8_1_lob_hw { } {
> > if { ![check_effective_target_arm_cortex_m] } {
> > return 0;
> > } else {
> > @@ -13588,7 +13588,7 @@ proc check_effective_target_arm_v8_1_lob_ok { } {
> >
> > proc check_effective_target_arm_thumb2_no_arm_v8_1_lob { } {
> > if { [check_effective_target_arm_thumb2]
> > - && ![check_effective_target_arm_v8_1_lob_ok] } {
> > + && ![check_effective_target_arm_v8_1_lob_hw] } {
> > return 1
> > }
> > return 0
> > @@ -13600,7 +13600,7 @@ proc
> > check_effective_target_arm_thumb2_no_arm_v8_1_lob { } {
> >
> > proc check_effective_target_arm_thumb2_ok_no_arm_v8_1_lob { } {
> > if { [check_effective_target_arm_thumb2_ok]
> > - && ![check_effective_target_arm_v8_1_lob_ok] } {
> > + && ![check_effective_target_arm_v8_1_lob_hw] } {
> > return 1
> > }
> > return 0
>
commit 1059695c96da8a53806109f97d1dce455a252496
Author: Christophe Lyon <[email protected]>
Date: Thu Apr 10 13:39:23 2025 +0000
testsuite: arm: rename arm_v8_1_lob_ok into arm_v8_1m_lob_hw
All arm effective-targets using check_runtime use the "_hw" or
"_multilib" suffix, so rename arm_v8_1_lob_ok into arm_v8_1m_lob_hw
for consistency.
Since "lob" applies only to M-profile, replace v8_1 with v8_1m in
arm_v8_1_lob_ok, arm_thumb2_no_arm_v8_1_lob and
arm_thumb2_ok_no_arm_v8_1_lob.
gcc/testsuite/ChangeLog
* lib/target-supports.exp: Rename arm_v8_1_lob_ok into
arm_v8_1m_lob_hw.
Rename arm_thumb2_no_arm_v8_1_lob into
arm_thumb2_no_arm_v8_1m_lob.
Rename arm_thumb2_ok_no_arm_v8_1_lob into
arm_thumb2_ok_no_arm_v8_1m_lob.
* gcc.target/arm/lob1.c: Likewise.
* gcc.target/arm/lob6.c: Likewise.
* gcc.target/arm/ivopts.c: Likewise.
* gcc.target/arm/unsigned-extend-2.c: Likewise.
diff --git a/gcc/testsuite/gcc.target/arm/ivopts.c
b/gcc/testsuite/gcc.target/arm/ivopts.c
index d7d72a59d9c..582fdab7836 100644
--- a/gcc/testsuite/gcc.target/arm/ivopts.c
+++ b/gcc/testsuite/gcc.target/arm/ivopts.c
@@ -11,6 +11,6 @@ tr5 (short array[], int n)
}
/* { dg-final { scan-tree-dump-times "PHI <" 1 "ivopts"} } */
-/* { dg-final { object-size text <= 20 { target { arm_thumb2_no_arm_v8_1_lob }
} } } */
+/* { dg-final { object-size text <= 20 { target { arm_thumb2_no_arm_v8_1m_lob
} } } } */
/* { dg-final { object-size text <= 32 { target { arm_nothumb && { !
arm_iwmmxt_ok } } } } } */
/* { dg-final { object-size text <= 36 { target { arm_nothumb && arm_iwmmxt_ok
} } } } */
diff --git a/gcc/testsuite/gcc.target/arm/lob1.c
b/gcc/testsuite/gcc.target/arm/lob1.c
index c8ce653a5c3..f42a36748d6 100644
--- a/gcc/testsuite/gcc.target/arm/lob1.c
+++ b/gcc/testsuite/gcc.target/arm/lob1.c
@@ -1,7 +1,7 @@
/* Check that GCC generates Armv8.1-M low over head loop instructions
for some simple loops. */
/* { dg-do run } */
-/* { dg-require-effective-target arm_v8_1_lob_ok } */
+/* { dg-require-effective-target arm_v8_1m_lob_hw } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm"
"-mcpu=*" } } */
/* { dg-options "-march=armv8.1-m.main -mthumb -O3 --save-temps" } */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/arm/lob6.c
b/gcc/testsuite/gcc.target/arm/lob6.c
index 4fe116e2c2b..e19635b6d96 100644
--- a/gcc/testsuite/gcc.target/arm/lob6.c
+++ b/gcc/testsuite/gcc.target/arm/lob6.c
@@ -1,7 +1,7 @@
/* Check that GCC generates Armv8.1-M low over head loop instructions
with some less trivial loops and the result is correct. */
/* { dg-do run } */
-/* { dg-require-effective-target arm_v8_1_lob_ok } */
+/* { dg-require-effective-target arm_v8_1m_lob_hw } */
/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm"
"-mcpu=*" } } */
/* { dg-options "-march=armv8.1-m.main -mthumb -O3 --save-temps" } */
#include <stdlib.h>
diff --git a/gcc/testsuite/gcc.target/arm/unsigned-extend-2.c
b/gcc/testsuite/gcc.target/arm/unsigned-extend-2.c
index 9272e4ce9b8..41ee994c1ec 100644
--- a/gcc/testsuite/gcc.target/arm/unsigned-extend-2.c
+++ b/gcc/testsuite/gcc.target/arm/unsigned-extend-2.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-require-effective-target arm_thumb2_ok_no_arm_v8_1_lob } */
+/* { dg-require-effective-target arm_thumb2_ok_no_arm_v8_1m_lob } */
/* { dg-options "-O" } */
unsigned short foo (unsigned short x, unsigned short c)
diff --git a/gcc/testsuite/lib/target-supports.exp
b/gcc/testsuite/lib/target-supports.exp
index bc4361d6092..e4c5b088e57 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -13562,11 +13562,11 @@ proc check_effective_target_arm_v8_3a_bkey_directive
{ } {
# Return 1 if the target supports executing the Armv8.1-M Mainline Low
# Overhead Loop, 0 otherwise. The test is valid for ARM.
-proc check_effective_target_arm_v8_1_lob_ok { } {
+proc check_effective_target_arm_v8_1m_lob_hw { } {
if { ![check_effective_target_arm_cortex_m] } {
return 0;
} else {
- return [check_runtime arm_v8_1_lob_hw_available {
+ return [check_runtime arm_v8_1m_lob_hw_available {
int
main (void)
{ int i = 0;
@@ -13586,9 +13586,9 @@ proc check_effective_target_arm_v8_1_lob_ok { } {
# the Armv8.1-M Mainline Low Overhead Loop, 0 otherwise. The test is
# valid for ARM.
-proc check_effective_target_arm_thumb2_no_arm_v8_1_lob { } {
+proc check_effective_target_arm_thumb2_no_arm_v8_1m_lob { } {
if { [check_effective_target_arm_thumb2]
- && ![check_effective_target_arm_v8_1_lob_ok] } {
+ && ![check_effective_target_arm_v8_1m_lob_hw] } {
return 1
}
return 0
@@ -13598,9 +13598,9 @@ proc check_effective_target_arm_thumb2_no_arm_v8_1_lob
{ } {
# used and the target does not support executing the Armv8.1-M
# Mainline Low Overhead Loop, 0 otherwise. The test is valid for ARM.
-proc check_effective_target_arm_thumb2_ok_no_arm_v8_1_lob { } {
+proc check_effective_target_arm_thumb2_ok_no_arm_v8_1m_lob { } {
if { [check_effective_target_arm_thumb2_ok]
- && ![check_effective_target_arm_v8_1_lob_ok] } {
+ && ![check_effective_target_arm_v8_1m_lob_hw] } {
return 1
}
return 0