Re: [ARM/FDPIC v5 20/21] [ARM][testsuite] FDPIC: Skip tests using architectures unsupported by FDPIC
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
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
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
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
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
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
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 ---