Hi! On Thu, 10 Apr 2025 at 19:13, Richard Earnshaw (lists) <richard.earns...@arm.com> 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 <christophe.l...@linaro.org> 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