Re: [ARM/FDPIC v5 20/21] [ARM][testsuite] FDPIC: Skip tests using architectures unsupported by FDPIC

2019-09-09 Thread Christophe Lyon
On Fri, 6 Sep 2019 at 19:43, Christophe Lyon  wrote:
>
> On Fri, 6 Sep 2019 at 11:09, Christophe Lyon  
> wrote:
> >
> > On Fri, 6 Sep 2019 at 10:28, Kyrill Tkachov  
> > wrote:
> > >
> > >
> > > On 9/6/19 9:01 AM, Christophe Lyon wrote:
> > > > On Fri, 19 Jul 2019 at 11:00, Kyrill Tkachov
> > > >  wrote:
> > > >>
> > > >> On 5/15/19 1:39 PM, Christophe Lyon wrote:
> > > >>> Since FDPIC currently supports arm and thumb-2 modes only, these tests
> > > >>> fail because they enforce an architecture version that doesn't match
> > > >>> these restrictions.
> > > >>>
> > > >>> This patch introduces new values for the arm_arch effective-target
> > > >>> (v4t_thumb, v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb) as
> > > >>> needed, and adds them to the relevant tests.  It also adds the
> > > >>> corresponding non-thumb effective-target to the tests that were
> > > >>> missing it.
> > > >>>
> > > >>> 2019-XX-XX  Christophe Lyon  
> > > >>>
> > > >>>  * lib/target-supports.exp
> > > >>>  (check_effective_target_arm_arch_FUNC_ok): Add v4t_thumb,
> > > >>>  v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb.
> > > >>>  * gcc.target/arm/armv6-unaligned-load-ice.c: Add arm_arch
> > > >>>  effective-target.
> > > >>>  * gcc.target/arm/attr-unaligned-load-ice.c: Likewise.
> > > >>>  * gcc.target/arm/attr_arm-err.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv4-arm.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv4t-arm.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv5t-arm.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv5t-thumb.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv5te-arm.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv6-arm.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv6-thumb.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv6k-arm.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv6z-arm.c: Likewise.
> > > >>>  * gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
> > > >>>  * gcc.target/arm/g2.c: Likewise.
> > > >>>  * gcc.target/arm/macro_defs1.c: Likewise.
> > > >>>  * gcc.target/arm/pr59858.c: Likewise.
> > > >>>  * gcc.target/arm/pr65647-2.c: Likewise.
> > > >>>  * gcc.target/arm/pr79058.c: Likewise.
> > > >>>  * gcc.target/arm/pr83712.c: Likewise.
> > > >>>  * gcc.target/arm/pragma_arch_switch_2.c: Likewise.
> > > >>>  * gcc.target/arm/scd42-1.c: Likewise.
> > > >>>  * gcc.target/arm/scd42-2.c: Likewise.
> > > >>>  * gcc.target/arm/scd42-3.c: Likewise.
> > > >>>  * gcc.c-torture/compile/pr82096.c: Fix arm_arch 
> > > >>> effective-target.
> > > >>>
> > > >> Ok.
> > > >>
> > > >> This looks like a good improvement on its own.
> > > >>
> > > > Sigh, after more testing I found problems :(
> > > >
> > > >> Thanks,
> > > >>
> > > >> Kyrill
> > > >>
> > > >>
> > > >>
> > > >>> Change-Id: I0845b262b241026561cc52a19ff8bb1659675e49
> > > >>>
> > > >>> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> > > >>> b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> > > >>> index d144b70..4e695cd 100644
> > > >>> --- a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> > > >>> +++ b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> > > >>> @@ -1,4 +1,4 @@
> > > >>> -/* { dg-require-effective-target arm_arch_v5t_ok { target arm*-*-* } 
> > > >>> } */
> > > >>> +/* { dg-require-effective-target arm_arch_v5t_thumb_ok { target
> > > >>> arm*-*-* } } */
> > > >>>   /* { dg-skip-if "Do not combine float-abi values" { arm*-*-* } {
> > > >>> "-mfloat-abi=*" } { "-mfloat-abi=soft" } } */
> > > >>>   /* { dg-additional-options "-march=armv5t -mthumb -mfloat-abi=soft" 
> > > >>> {
> > > >>> target arm*-*-* } } */
> > > >>>
> > > >>> diff --git a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> > > >>> b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> > > >>> index 88528f1..886a012 100644
> > > >>> --- a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> > > >>> +++ b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> > > >>> @@ -1,6 +1,7 @@
> > > >>>   /* { dg-do compile } */
> > > >>>   /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } {
> > > >>> "-march=*" } { "-march=armv6k" } } */
> > > >>>   /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } {
> > > >>> "-marm" } { "" } } */
> > > >>> +/* { dg-require-effective-target arm_arch_v6k_thumb_ok } */
> > > >>>   /* { dg-options "-mthumb -Os -mfloat-abi=softfp" } */

Re: [ARM/FDPIC v5 20/21] [ARM][testsuite] FDPIC: Skip tests using architectures unsupported by FDPIC

2019-09-06 Thread Christophe Lyon
On Fri, 6 Sep 2019 at 11:09, Christophe Lyon  wrote:
>
> On Fri, 6 Sep 2019 at 10:28, Kyrill Tkachov  
> wrote:
> >
> >
> > On 9/6/19 9:01 AM, Christophe Lyon wrote:
> > > On Fri, 19 Jul 2019 at 11:00, Kyrill Tkachov
> > >  wrote:
> > >>
> > >> On 5/15/19 1:39 PM, Christophe Lyon wrote:
> > >>> Since FDPIC currently supports arm and thumb-2 modes only, these tests
> > >>> fail because they enforce an architecture version that doesn't match
> > >>> these restrictions.
> > >>>
> > >>> This patch introduces new values for the arm_arch effective-target
> > >>> (v4t_thumb, v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb) as
> > >>> needed, and adds them to the relevant tests.  It also adds the
> > >>> corresponding non-thumb effective-target to the tests that were
> > >>> missing it.
> > >>>
> > >>> 2019-XX-XX  Christophe Lyon  
> > >>>
> > >>>  * lib/target-supports.exp
> > >>>  (check_effective_target_arm_arch_FUNC_ok): Add v4t_thumb,
> > >>>  v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb.
> > >>>  * gcc.target/arm/armv6-unaligned-load-ice.c: Add arm_arch
> > >>>  effective-target.
> > >>>  * gcc.target/arm/attr-unaligned-load-ice.c: Likewise.
> > >>>  * gcc.target/arm/attr_arm-err.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv4-arm.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv4t-arm.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv5t-arm.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv5t-thumb.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv5te-arm.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv6-arm.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv6-thumb.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv6k-arm.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv6z-arm.c: Likewise.
> > >>>  * gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
> > >>>  * gcc.target/arm/g2.c: Likewise.
> > >>>  * gcc.target/arm/macro_defs1.c: Likewise.
> > >>>  * gcc.target/arm/pr59858.c: Likewise.
> > >>>  * gcc.target/arm/pr65647-2.c: Likewise.
> > >>>  * gcc.target/arm/pr79058.c: Likewise.
> > >>>  * gcc.target/arm/pr83712.c: Likewise.
> > >>>  * gcc.target/arm/pragma_arch_switch_2.c: Likewise.
> > >>>  * gcc.target/arm/scd42-1.c: Likewise.
> > >>>  * gcc.target/arm/scd42-2.c: Likewise.
> > >>>  * gcc.target/arm/scd42-3.c: Likewise.
> > >>>  * gcc.c-torture/compile/pr82096.c: Fix arm_arch 
> > >>> effective-target.
> > >>>
> > >> Ok.
> > >>
> > >> This looks like a good improvement on its own.
> > >>
> > > Sigh, after more testing I found problems :(
> > >
> > >> Thanks,
> > >>
> > >> Kyrill
> > >>
> > >>
> > >>
> > >>> Change-Id: I0845b262b241026561cc52a19ff8bb1659675e49
> > >>>
> > >>> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> > >>> b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> > >>> index d144b70..4e695cd 100644
> > >>> --- a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> > >>> +++ b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> > >>> @@ -1,4 +1,4 @@
> > >>> -/* { dg-require-effective-target arm_arch_v5t_ok { target arm*-*-* } } 
> > >>> */
> > >>> +/* { dg-require-effective-target arm_arch_v5t_thumb_ok { target
> > >>> arm*-*-* } } */
> > >>>   /* { dg-skip-if "Do not combine float-abi values" { arm*-*-* } {
> > >>> "-mfloat-abi=*" } { "-mfloat-abi=soft" } } */
> > >>>   /* { dg-additional-options "-march=armv5t -mthumb -mfloat-abi=soft" {
> > >>> target arm*-*-* } } */
> > >>>
> > >>> diff --git a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> > >>> b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> > >>> index 88528f1..886a012 100644
> > >>> --- a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> > >>> +++ b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> > >>> @@ -1,6 +1,7 @@
> > >>>   /* { dg-do compile } */
> > >>>   /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } {
> > >>> "-march=*" } { "-march=armv6k" } } */
> > >>>   /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } {
> > >>> "-marm" } { "" } } */
> > >>> +/* { dg-require-effective-target arm_arch_v6k_thumb_ok } */
> > >>>   /* { dg-options "-mthumb -Os -mfloat-abi=softfp" } */
> > >>>   /* { dg-add-options arm_arch_v6k } */
> > >>>
> > > For instance on arm-linux-gnueabihf (thus defaulting to float-abi=hard),
> > > arm_arch_v6k_thumb fails (because it tries to use thumb-1 + hard-float
> > > which is not supported),
> > > while the test itself 

Re: [ARM/FDPIC v5 20/21] [ARM][testsuite] FDPIC: Skip tests using architectures unsupported by FDPIC

2019-09-06 Thread Christophe Lyon
On Fri, 6 Sep 2019 at 10:28, Kyrill Tkachov  wrote:
>
>
> On 9/6/19 9:01 AM, Christophe Lyon wrote:
> > On Fri, 19 Jul 2019 at 11:00, Kyrill Tkachov
> >  wrote:
> >>
> >> On 5/15/19 1:39 PM, Christophe Lyon wrote:
> >>> Since FDPIC currently supports arm and thumb-2 modes only, these tests
> >>> fail because they enforce an architecture version that doesn't match
> >>> these restrictions.
> >>>
> >>> This patch introduces new values for the arm_arch effective-target
> >>> (v4t_thumb, v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb) as
> >>> needed, and adds them to the relevant tests.  It also adds the
> >>> corresponding non-thumb effective-target to the tests that were
> >>> missing it.
> >>>
> >>> 2019-XX-XX  Christophe Lyon  
> >>>
> >>>  * lib/target-supports.exp
> >>>  (check_effective_target_arm_arch_FUNC_ok): Add v4t_thumb,
> >>>  v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb.
> >>>  * gcc.target/arm/armv6-unaligned-load-ice.c: Add arm_arch
> >>>  effective-target.
> >>>  * gcc.target/arm/attr-unaligned-load-ice.c: Likewise.
> >>>  * gcc.target/arm/attr_arm-err.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv4-arm.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv4t-arm.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv5t-arm.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv5t-thumb.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv5te-arm.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv6-arm.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv6-thumb.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv6k-arm.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv6z-arm.c: Likewise.
> >>>  * gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
> >>>  * gcc.target/arm/g2.c: Likewise.
> >>>  * gcc.target/arm/macro_defs1.c: Likewise.
> >>>  * gcc.target/arm/pr59858.c: Likewise.
> >>>  * gcc.target/arm/pr65647-2.c: Likewise.
> >>>  * gcc.target/arm/pr79058.c: Likewise.
> >>>  * gcc.target/arm/pr83712.c: Likewise.
> >>>  * gcc.target/arm/pragma_arch_switch_2.c: Likewise.
> >>>  * gcc.target/arm/scd42-1.c: Likewise.
> >>>  * gcc.target/arm/scd42-2.c: Likewise.
> >>>  * gcc.target/arm/scd42-3.c: Likewise.
> >>>  * gcc.c-torture/compile/pr82096.c: Fix arm_arch effective-target.
> >>>
> >> Ok.
> >>
> >> This looks like a good improvement on its own.
> >>
> > Sigh, after more testing I found problems :(
> >
> >> Thanks,
> >>
> >> Kyrill
> >>
> >>
> >>
> >>> Change-Id: I0845b262b241026561cc52a19ff8bb1659675e49
> >>>
> >>> diff --git a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> >>> b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> >>> index d144b70..4e695cd 100644
> >>> --- a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> >>> +++ b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> >>> @@ -1,4 +1,4 @@
> >>> -/* { dg-require-effective-target arm_arch_v5t_ok { target arm*-*-* } } */
> >>> +/* { dg-require-effective-target arm_arch_v5t_thumb_ok { target
> >>> arm*-*-* } } */
> >>>   /* { dg-skip-if "Do not combine float-abi values" { arm*-*-* } {
> >>> "-mfloat-abi=*" } { "-mfloat-abi=soft" } } */
> >>>   /* { dg-additional-options "-march=armv5t -mthumb -mfloat-abi=soft" {
> >>> target arm*-*-* } } */
> >>>
> >>> diff --git a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> >>> b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> >>> index 88528f1..886a012 100644
> >>> --- a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> >>> +++ b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> >>> @@ -1,6 +1,7 @@
> >>>   /* { dg-do compile } */
> >>>   /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } {
> >>> "-march=*" } { "-march=armv6k" } } */
> >>>   /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } {
> >>> "-marm" } { "" } } */
> >>> +/* { dg-require-effective-target arm_arch_v6k_thumb_ok } */
> >>>   /* { dg-options "-mthumb -Os -mfloat-abi=softfp" } */
> >>>   /* { dg-add-options arm_arch_v6k } */
> >>>
> > For instance on arm-linux-gnueabihf (thus defaulting to float-abi=hard),
> > arm_arch_v6k_thumb fails (because it tries to use thumb-1 + hard-float
> > which is not supported),
> > while the test itself would add -mfloat-abi=softfp, thus using a
> > supported configuration.
> >
> > Is there a way to pass an argument to an effective-target directive?
> > (current, if one adds an argument, it's the target selector)
> >
> > Or shall I add other effective-targets, eg 

Re: [ARM/FDPIC v5 20/21] [ARM][testsuite] FDPIC: Skip tests using architectures unsupported by FDPIC

2019-09-06 Thread Kyrill Tkachov



On 9/6/19 9:01 AM, Christophe Lyon wrote:

On Fri, 19 Jul 2019 at 11:00, Kyrill Tkachov
 wrote:


On 5/15/19 1:39 PM, Christophe Lyon wrote:

Since FDPIC currently supports arm and thumb-2 modes only, these tests
fail because they enforce an architecture version that doesn't match
these restrictions.

This patch introduces new values for the arm_arch effective-target
(v4t_thumb, v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb) as
needed, and adds them to the relevant tests.  It also adds the
corresponding non-thumb effective-target to the tests that were
missing it.

2019-XX-XX  Christophe Lyon  

 * lib/target-supports.exp
 (check_effective_target_arm_arch_FUNC_ok): Add v4t_thumb,
 v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb.
 * gcc.target/arm/armv6-unaligned-load-ice.c: Add arm_arch
 effective-target.
 * gcc.target/arm/attr-unaligned-load-ice.c: Likewise.
 * gcc.target/arm/attr_arm-err.c: Likewise.
 * gcc.target/arm/ftest-armv4-arm.c: Likewise.
 * gcc.target/arm/ftest-armv4t-arm.c: Likewise.
 * gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
 * gcc.target/arm/ftest-armv5t-arm.c: Likewise.
 * gcc.target/arm/ftest-armv5t-thumb.c: Likewise.
 * gcc.target/arm/ftest-armv5te-arm.c: Likewise.
 * gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
 * gcc.target/arm/ftest-armv6-arm.c: Likewise.
 * gcc.target/arm/ftest-armv6-thumb.c: Likewise.
 * gcc.target/arm/ftest-armv6k-arm.c: Likewise.
 * gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
 * gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
 * gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
 * gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
 * gcc.target/arm/ftest-armv6z-arm.c: Likewise.
 * gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
 * gcc.target/arm/g2.c: Likewise.
 * gcc.target/arm/macro_defs1.c: Likewise.
 * gcc.target/arm/pr59858.c: Likewise.
 * gcc.target/arm/pr65647-2.c: Likewise.
 * gcc.target/arm/pr79058.c: Likewise.
 * gcc.target/arm/pr83712.c: Likewise.
 * gcc.target/arm/pragma_arch_switch_2.c: Likewise.
 * gcc.target/arm/scd42-1.c: Likewise.
 * gcc.target/arm/scd42-2.c: Likewise.
 * gcc.target/arm/scd42-3.c: Likewise.
 * gcc.c-torture/compile/pr82096.c: Fix arm_arch effective-target.


Ok.

This looks like a good improvement on its own.


Sigh, after more testing I found problems :(


Thanks,

Kyrill




Change-Id: I0845b262b241026561cc52a19ff8bb1659675e49

diff --git a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
index d144b70..4e695cd 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
@@ -1,4 +1,4 @@
-/* { dg-require-effective-target arm_arch_v5t_ok { target arm*-*-* } } */
+/* { dg-require-effective-target arm_arch_v5t_thumb_ok { target
arm*-*-* } } */
  /* { dg-skip-if "Do not combine float-abi values" { arm*-*-* } {
"-mfloat-abi=*" } { "-mfloat-abi=soft" } } */
  /* { dg-additional-options "-march=armv5t -mthumb -mfloat-abi=soft" {
target arm*-*-* } } */

diff --git a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
index 88528f1..886a012 100644
--- a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
+++ b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
@@ -1,6 +1,7 @@
  /* { dg-do compile } */
  /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } {
"-march=*" } { "-march=armv6k" } } */
  /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } {
"-marm" } { "" } } */
+/* { dg-require-effective-target arm_arch_v6k_thumb_ok } */
  /* { dg-options "-mthumb -Os -mfloat-abi=softfp" } */
  /* { dg-add-options arm_arch_v6k } */


For instance on arm-linux-gnueabihf (thus defaulting to float-abi=hard),
arm_arch_v6k_thumb fails (because it tries to use thumb-1 + hard-float
which is not supported),
while the test itself would add -mfloat-abi=softfp, thus using a
supported configuration.

Is there a way to pass an argument to an effective-target directive?
(current, if one adds an argument, it's the target selector)

Or shall I add other effective-targets, eg arm_arch_v6k_thumb_softfp_ok?


Sigh, at this point I'm thinking maybe we should have a 
arm_arch_v6k_thumb target that basically assumes/forces softfp.


Thanks,

Kyrill




Christophe


diff --git a/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
b/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
index e1ed1c1..2eeb522 100644
--- a/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
+++ b/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
@@ -2,6 +2,7 @@
 Verify that unaligned_access is correctly with attribute target.  */
  /* { dg-do compile } */
  /* { dg-skip-if "avoid conflicting multilib 

Re: [ARM/FDPIC v5 20/21] [ARM][testsuite] FDPIC: Skip tests using architectures unsupported by FDPIC

2019-09-06 Thread Christophe Lyon
On Fri, 19 Jul 2019 at 11:00, Kyrill Tkachov
 wrote:
>
>
> On 5/15/19 1:39 PM, Christophe Lyon wrote:
> > Since FDPIC currently supports arm and thumb-2 modes only, these tests
> > fail because they enforce an architecture version that doesn't match
> > these restrictions.
> >
> > This patch introduces new values for the arm_arch effective-target
> > (v4t_thumb, v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb) as
> > needed, and adds them to the relevant tests.  It also adds the
> > corresponding non-thumb effective-target to the tests that were
> > missing it.
> >
> > 2019-XX-XX  Christophe Lyon  
> >
> > * lib/target-supports.exp
> > (check_effective_target_arm_arch_FUNC_ok): Add v4t_thumb,
> > v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb.
> > * gcc.target/arm/armv6-unaligned-load-ice.c: Add arm_arch
> > effective-target.
> > * gcc.target/arm/attr-unaligned-load-ice.c: Likewise.
> > * gcc.target/arm/attr_arm-err.c: Likewise.
> > * gcc.target/arm/ftest-armv4-arm.c: Likewise.
> > * gcc.target/arm/ftest-armv4t-arm.c: Likewise.
> > * gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
> > * gcc.target/arm/ftest-armv5t-arm.c: Likewise.
> > * gcc.target/arm/ftest-armv5t-thumb.c: Likewise.
> > * gcc.target/arm/ftest-armv5te-arm.c: Likewise.
> > * gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
> > * gcc.target/arm/ftest-armv6-arm.c: Likewise.
> > * gcc.target/arm/ftest-armv6-thumb.c: Likewise.
> > * gcc.target/arm/ftest-armv6k-arm.c: Likewise.
> > * gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
> > * gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
> > * gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
> > * gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
> > * gcc.target/arm/ftest-armv6z-arm.c: Likewise.
> > * gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
> > * gcc.target/arm/g2.c: Likewise.
> > * gcc.target/arm/macro_defs1.c: Likewise.
> > * gcc.target/arm/pr59858.c: Likewise.
> > * gcc.target/arm/pr65647-2.c: Likewise.
> > * gcc.target/arm/pr79058.c: Likewise.
> > * gcc.target/arm/pr83712.c: Likewise.
> > * gcc.target/arm/pragma_arch_switch_2.c: Likewise.
> > * gcc.target/arm/scd42-1.c: Likewise.
> > * gcc.target/arm/scd42-2.c: Likewise.
> > * gcc.target/arm/scd42-3.c: Likewise.
> > * gcc.c-torture/compile/pr82096.c: Fix arm_arch effective-target.
> >
> Ok.
>
> This looks like a good improvement on its own.
>
Sigh, after more testing I found problems :(

> Thanks,
>
> Kyrill
>
>
>
> > Change-Id: I0845b262b241026561cc52a19ff8bb1659675e49
> >
> > diff --git a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> > b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> > index d144b70..4e695cd 100644
> > --- a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> > +++ b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
> > @@ -1,4 +1,4 @@
> > -/* { dg-require-effective-target arm_arch_v5t_ok { target arm*-*-* } } */
> > +/* { dg-require-effective-target arm_arch_v5t_thumb_ok { target
> > arm*-*-* } } */
> >  /* { dg-skip-if "Do not combine float-abi values" { arm*-*-* } {
> > "-mfloat-abi=*" } { "-mfloat-abi=soft" } } */
> >  /* { dg-additional-options "-march=armv5t -mthumb -mfloat-abi=soft" {
> > target arm*-*-* } } */
> >
> > diff --git a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> > b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> > index 88528f1..886a012 100644
> > --- a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> > +++ b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
> > @@ -1,6 +1,7 @@
> >  /* { dg-do compile } */
> >  /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } {
> > "-march=*" } { "-march=armv6k" } } */
> >  /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } {
> > "-marm" } { "" } } */
> > +/* { dg-require-effective-target arm_arch_v6k_thumb_ok } */
> >  /* { dg-options "-mthumb -Os -mfloat-abi=softfp" } */
> >  /* { dg-add-options arm_arch_v6k } */
> >
For instance on arm-linux-gnueabihf (thus defaulting to float-abi=hard),
arm_arch_v6k_thumb fails (because it tries to use thumb-1 + hard-float
which is not supported),
while the test itself would add -mfloat-abi=softfp, thus using a
supported configuration.

Is there a way to pass an argument to an effective-target directive?
(current, if one adds an argument, it's the target selector)

Or shall I add other effective-targets, eg arm_arch_v6k_thumb_softfp_ok?

Christophe

> > diff --git a/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
> > b/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
> > index e1ed1c1..2eeb522 100644
> > --- a/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
> > +++ b/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
> > @@ -2,6 +2,7 @@
> > Verify that unaligned_access 

Re: [ARM/FDPIC v5 20/21] [ARM][testsuite] FDPIC: Skip tests using architectures unsupported by FDPIC

2019-07-19 Thread Kyrill Tkachov



On 5/15/19 1:39 PM, Christophe Lyon wrote:

Since FDPIC currently supports arm and thumb-2 modes only, these tests
fail because they enforce an architecture version that doesn't match
these restrictions.

This patch introduces new values for the arm_arch effective-target
(v4t_thumb, v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb) as
needed, and adds them to the relevant tests.  It also adds the
corresponding non-thumb effective-target to the tests that were
missing it.

2019-XX-XX  Christophe Lyon  

    * lib/target-supports.exp
    (check_effective_target_arm_arch_FUNC_ok): Add v4t_thumb,
    v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb.
    * gcc.target/arm/armv6-unaligned-load-ice.c: Add arm_arch
    effective-target.
    * gcc.target/arm/attr-unaligned-load-ice.c: Likewise.
    * gcc.target/arm/attr_arm-err.c: Likewise.
    * gcc.target/arm/ftest-armv4-arm.c: Likewise.
    * gcc.target/arm/ftest-armv4t-arm.c: Likewise.
    * gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
    * gcc.target/arm/ftest-armv5t-arm.c: Likewise.
    * gcc.target/arm/ftest-armv5t-thumb.c: Likewise.
    * gcc.target/arm/ftest-armv5te-arm.c: Likewise.
    * gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
    * gcc.target/arm/ftest-armv6-arm.c: Likewise.
    * gcc.target/arm/ftest-armv6-thumb.c: Likewise.
    * gcc.target/arm/ftest-armv6k-arm.c: Likewise.
    * gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
    * gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
    * gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
    * gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
    * gcc.target/arm/ftest-armv6z-arm.c: Likewise.
    * gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
    * gcc.target/arm/g2.c: Likewise.
    * gcc.target/arm/macro_defs1.c: Likewise.
    * gcc.target/arm/pr59858.c: Likewise.
    * gcc.target/arm/pr65647-2.c: Likewise.
    * gcc.target/arm/pr79058.c: Likewise.
    * gcc.target/arm/pr83712.c: Likewise.
    * gcc.target/arm/pragma_arch_switch_2.c: Likewise.
    * gcc.target/arm/scd42-1.c: Likewise.
    * gcc.target/arm/scd42-2.c: Likewise.
    * gcc.target/arm/scd42-3.c: Likewise.
    * gcc.c-torture/compile/pr82096.c: Fix arm_arch effective-target.


Ok.

This looks like a good improvement on its own.

Thanks,

Kyrill




Change-Id: I0845b262b241026561cc52a19ff8bb1659675e49

diff --git a/gcc/testsuite/gcc.c-torture/compile/pr82096.c 
b/gcc/testsuite/gcc.c-torture/compile/pr82096.c

index d144b70..4e695cd 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
@@ -1,4 +1,4 @@
-/* { dg-require-effective-target arm_arch_v5t_ok { target arm*-*-* } } */
+/* { dg-require-effective-target arm_arch_v5t_thumb_ok { target 
arm*-*-* } } */
 /* { dg-skip-if "Do not combine float-abi values" { arm*-*-* } { 
"-mfloat-abi=*" } { "-mfloat-abi=soft" } } */
 /* { dg-additional-options "-march=armv5t -mthumb -mfloat-abi=soft" { 
target arm*-*-* } } */


diff --git a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c 
b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c

index 88528f1..886a012 100644
--- a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
+++ b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { 
"-march=*" } { "-march=armv6k" } } */
 /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { 
"-marm" } { "" } } */

+/* { dg-require-effective-target arm_arch_v6k_thumb_ok } */
 /* { dg-options "-mthumb -Os -mfloat-abi=softfp" } */
 /* { dg-add-options arm_arch_v6k } */

diff --git a/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c 
b/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c

index e1ed1c1..2eeb522 100644
--- a/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
+++ b/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
@@ -2,6 +2,7 @@
    Verify that unaligned_access is correctly with attribute target.  */
 /* { dg-do compile } */
 /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { 
"-march=*" } { "-march=armv6" } } */

+/* { dg-require-effective-target arm_arch_v6_ok } */
 /* { dg-options "-Os -mfloat-abi=softfp -mtp=soft" } */
 /* { dg-add-options arm_arch_v6 } */

diff --git a/gcc/testsuite/gcc.target/arm/attr_arm-err.c 
b/gcc/testsuite/gcc.target/arm/attr_arm-err.c

index 630c06a..d410056 100644
--- a/gcc/testsuite/gcc.target/arm/attr_arm-err.c
+++ b/gcc/testsuite/gcc.target/arm/attr_arm-err.c
@@ -2,6 +2,7 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_arm_ok } */
 /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { 
"-march=*" } { "-march=armv6-m" } } */

+/* { dg-require-effective-target arm_arch_v6m_ok } */
 /* { dg-add-options arm_arch_v6m } */

 int __attribute__((target("arm")))
diff --git 

[ARM/FDPIC v5 20/21] [ARM][testsuite] FDPIC: Skip tests using architectures unsupported by FDPIC

2019-05-15 Thread Christophe Lyon
Since FDPIC currently supports arm and thumb-2 modes only, these tests
fail because they enforce an architecture version that doesn't match
these restrictions.

This patch introduces new values for the arm_arch effective-target
(v4t_thumb, v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb) as
needed, and adds them to the relevant tests.  It also adds the
corresponding non-thumb effective-target to the tests that were
missing it.

2019-XX-XX  Christophe Lyon  

* lib/target-supports.exp
(check_effective_target_arm_arch_FUNC_ok): Add v4t_thumb,
v5t_thumb, v5te_thumb, v6_thumb, v6k_thumb, v6z_thumb.
* gcc.target/arm/armv6-unaligned-load-ice.c: Add arm_arch
effective-target.
* gcc.target/arm/attr-unaligned-load-ice.c: Likewise.
* gcc.target/arm/attr_arm-err.c: Likewise.
* gcc.target/arm/ftest-armv4-arm.c: Likewise.
* gcc.target/arm/ftest-armv4t-arm.c: Likewise.
* gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
* gcc.target/arm/ftest-armv5t-arm.c: Likewise.
* gcc.target/arm/ftest-armv5t-thumb.c: Likewise.
* gcc.target/arm/ftest-armv5te-arm.c: Likewise.
* gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6-arm.c: Likewise.
* gcc.target/arm/ftest-armv6-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6k-arm.c: Likewise.
* gcc.target/arm/ftest-armv6k-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
* gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
* gcc.target/arm/ftest-armv6z-arm.c: Likewise.
* gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
* gcc.target/arm/g2.c: Likewise.
* gcc.target/arm/macro_defs1.c: Likewise.
* gcc.target/arm/pr59858.c: Likewise.
* gcc.target/arm/pr65647-2.c: Likewise.
* gcc.target/arm/pr79058.c: Likewise.
* gcc.target/arm/pr83712.c: Likewise.
* gcc.target/arm/pragma_arch_switch_2.c: Likewise.
* gcc.target/arm/scd42-1.c: Likewise.
* gcc.target/arm/scd42-2.c: Likewise.
* gcc.target/arm/scd42-3.c: Likewise.
* gcc.c-torture/compile/pr82096.c: Fix arm_arch effective-target.

Change-Id: I0845b262b241026561cc52a19ff8bb1659675e49

diff --git a/gcc/testsuite/gcc.c-torture/compile/pr82096.c 
b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
index d144b70..4e695cd 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr82096.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr82096.c
@@ -1,4 +1,4 @@
-/* { dg-require-effective-target arm_arch_v5t_ok { target arm*-*-* } } */
+/* { dg-require-effective-target arm_arch_v5t_thumb_ok { target arm*-*-* } } */
 /* { dg-skip-if "Do not combine float-abi values" { arm*-*-* } { 
"-mfloat-abi=*" } { "-mfloat-abi=soft" } } */
 /* { dg-additional-options "-march=armv5t -mthumb -mfloat-abi=soft" { target 
arm*-*-* } } */
 
diff --git a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c 
b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
index 88528f1..886a012 100644
--- a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
+++ b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } 
{ "-march=armv6k" } } */
 /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { 
"" } } */
+/* { dg-require-effective-target arm_arch_v6k_thumb_ok } */
 /* { dg-options "-mthumb -Os -mfloat-abi=softfp" } */
 /* { dg-add-options arm_arch_v6k } */
 
diff --git a/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c 
b/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
index e1ed1c1..2eeb522 100644
--- a/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
+++ b/gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
@@ -2,6 +2,7 @@
Verify that unaligned_access is correctly with attribute target.  */
 /* { dg-do compile } */
 /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } 
{ "-march=armv6" } } */
+/* { dg-require-effective-target arm_arch_v6_ok } */
 /* { dg-options "-Os -mfloat-abi=softfp -mtp=soft" } */
 /* { dg-add-options arm_arch_v6 } */
 
diff --git a/gcc/testsuite/gcc.target/arm/attr_arm-err.c 
b/gcc/testsuite/gcc.target/arm/attr_arm-err.c
index 630c06a..d410056 100644
--- a/gcc/testsuite/gcc.target/arm/attr_arm-err.c
+++ b/gcc/testsuite/gcc.target/arm/attr_arm-err.c
@@ -2,6 +2,7 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target arm_arm_ok } */
 /* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } 
{ "-march=armv6-m" } } */
+/* { dg-require-effective-target arm_arch_v6m_ok } */
 /* { dg-add-options arm_arch_v6m } */
 
 int __attribute__((target("arm")))
diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c 
b/gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c
index 4b48ef8..447a8ec 100644
---