Message ID | 56D5C086.4070802@foss.arm.com |
---|---|
State | New |
Headers | show |
Ping. https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00046.html Thanks, Kyrill On 01/03/16 16:17, Kyrill Tkachov wrote: > Hi all, > > For GCC 6 we want to deprecate architecture revisions prior to ARMv4T. > This patch implements this by documenting the deprecation in invoke.texi and adding > a warning whenever the user specifies an -march or -mcpu option that selects such > an architecture revision. > > Bootstrapped and tested on arm. > > Ok for trunk? > > Thanks, > Kyrill > > P.S. I'll add a note to changes.html to that effect separately. > > 2016-03-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> > > * config/arm/arm.c (arm_option_override): Warn on pre-ARMv4T > architecture revisions. > * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T > architecture revisions. > > 2016-03-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> > > * gcc.target/arm/ftest-armv4-arm.c: Add dg-warning for deprecation > warning. > * gcc.target/arm/pr62554.c: Likewise. > * gcc.target/arm/pr69610-1.c: Likewise. > * gcc.target/arm/pr69610-2.c: Likewise.
Ping. Thanks, Kyrill On 07/03/16 15:40, Kyrill Tkachov wrote: > Ping. > https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00046.html > > Thanks, > Kyrill > > On 01/03/16 16:17, Kyrill Tkachov wrote: >> Hi all, >> >> For GCC 6 we want to deprecate architecture revisions prior to ARMv4T. >> This patch implements this by documenting the deprecation in invoke.texi and adding >> a warning whenever the user specifies an -march or -mcpu option that selects such >> an architecture revision. >> >> Bootstrapped and tested on arm. >> >> Ok for trunk? >> >> Thanks, >> Kyrill >> >> P.S. I'll add a note to changes.html to that effect separately. >> >> 2016-03-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> >> >> * config/arm/arm.c (arm_option_override): Warn on pre-ARMv4T >> architecture revisions. >> * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T >> architecture revisions. >> >> 2016-03-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> >> >> * gcc.target/arm/ftest-armv4-arm.c: Add dg-warning for deprecation >> warning. >> * gcc.target/arm/pr62554.c: Likewise. >> * gcc.target/arm/pr69610-1.c: Likewise. >> * gcc.target/arm/pr69610-2.c: Likewise. >
Ping. Thanks, Kyrill On 23/03/16 10:11, Kyrill Tkachov wrote: > Ping. > > Thanks, > Kyrill > > On 07/03/16 15:40, Kyrill Tkachov wrote: >> Ping. >> https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00046.html >> >> Thanks, >> Kyrill >> >> On 01/03/16 16:17, Kyrill Tkachov wrote: >>> Hi all, >>> >>> For GCC 6 we want to deprecate architecture revisions prior to ARMv4T. >>> This patch implements this by documenting the deprecation in invoke.texi and adding >>> a warning whenever the user specifies an -march or -mcpu option that selects such >>> an architecture revision. >>> >>> Bootstrapped and tested on arm. >>> >>> Ok for trunk? >>> >>> Thanks, >>> Kyrill >>> >>> P.S. I'll add a note to changes.html to that effect separately. >>> >>> 2016-03-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> >>> >>> * config/arm/arm.c (arm_option_override): Warn on pre-ARMv4T >>> architecture revisions. >>> * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T >>> architecture revisions. >>> >>> 2016-03-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> >>> >>> * gcc.target/arm/ftest-armv4-arm.c: Add dg-warning for deprecation >>> warning. >>> * gcc.target/arm/pr62554.c: Likewise. >>> * gcc.target/arm/pr69610-1.c: Likewise. >>> * gcc.target/arm/pr69610-2.c: Likewise. >> >
Ping. Thanks, Kyrill On 31/03/16 13:28, Kyrill Tkachov wrote: > Ping. > > Thanks, > Kyrill > > On 23/03/16 10:11, Kyrill Tkachov wrote: >> Ping. >> >> Thanks, >> Kyrill >> >> On 07/03/16 15:40, Kyrill Tkachov wrote: >>> Ping. >>> https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00046.html >>> >>> Thanks, >>> Kyrill >>> >>> On 01/03/16 16:17, Kyrill Tkachov wrote: >>>> Hi all, >>>> >>>> For GCC 6 we want to deprecate architecture revisions prior to ARMv4T. >>>> This patch implements this by documenting the deprecation in invoke.texi and adding >>>> a warning whenever the user specifies an -march or -mcpu option that selects such >>>> an architecture revision. >>>> >>>> Bootstrapped and tested on arm. >>>> >>>> Ok for trunk? >>>> >>>> Thanks, >>>> Kyrill >>>> >>>> P.S. I'll add a note to changes.html to that effect separately. >>>> >>>> 2016-03-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> >>>> >>>> * config/arm/arm.c (arm_option_override): Warn on pre-ARMv4T >>>> architecture revisions. >>>> * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T >>>> architecture revisions. >>>> >>>> 2016-03-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> >>>> >>>> * gcc.target/arm/ftest-armv4-arm.c: Add dg-warning for deprecation >>>> warning. >>>> * gcc.target/arm/pr62554.c: Likewise. >>>> * gcc.target/arm/pr69610-1.c: Likewise. >>>> * gcc.target/arm/pr69610-2.c: Likewise. >>> >> >
On 01/03/16 16:17, Kyrill Tkachov wrote: > Hi all, > > For GCC 6 we want to deprecate architecture revisions prior to ARMv4T. > This patch implements this by documenting the deprecation in invoke.texi > and adding > a warning whenever the user specifies an -march or -mcpu option that > selects such > an architecture revision. > > Bootstrapped and tested on arm. > > Ok for trunk? > > Thanks, > Kyrill > > P.S. I'll add a note to changes.html to that effect separately. > > 2016-03-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> > > * config/arm/arm.c (arm_option_override): Warn on pre-ARMv4T > architecture revisions. > * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T > architecture revisions. > > 2016-03-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> > > * gcc.target/arm/ftest-armv4-arm.c: Add dg-warning for deprecation > warning. > * gcc.target/arm/pr62554.c: Likewise. > * gcc.target/arm/pr69610-1.c: Likewise. > * gcc.target/arm/pr69610-2.c: Likewise. OK R.
On 08/04/16 10:28, Richard Earnshaw (lists) wrote: > On 01/03/16 16:17, Kyrill Tkachov wrote: >> Hi all, >> >> For GCC 6 we want to deprecate architecture revisions prior to ARMv4T. >> This patch implements this by documenting the deprecation in invoke.texi >> and adding >> a warning whenever the user specifies an -march or -mcpu option that >> selects such >> an architecture revision. >> >> Bootstrapped and tested on arm. >> >> Ok for trunk? >> >> Thanks, >> Kyrill >> >> P.S. I'll add a note to changes.html to that effect separately. >> >> 2016-03-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> >> >> * config/arm/arm.c (arm_option_override): Warn on pre-ARMv4T >> architecture revisions. >> * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T >> architecture revisions. >> >> 2016-03-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> >> >> * gcc.target/arm/ftest-armv4-arm.c: Add dg-warning for deprecation >> warning. >> * gcc.target/arm/pr62554.c: Likewise. >> * gcc.target/arm/pr69610-1.c: Likewise. >> * gcc.target/arm/pr69610-2.c: Likewise. > OK After some offline discussion we've decided to not add an unconditional warning every time someone compiles for a deprecated architecture. This would irritate users. As such, I'm just going to commit the invoke.texi hunk documenting the deprecation. Thanks, Kyrill > R.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 520d6194a7d663685c3d2a38b2a63b9b8b4c6017..b64f0c70fc7359b87e4fad8a06bf72f691db286b 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -3354,6 +3354,10 @@ arm_option_override (void) flag_reorder_blocks = 1; } + /* Pre-armv4t architecture revisions are deprecated. */ + if (TARGET_ARM_ARCH <= 4 && !ARM_FSET_HAS_CPU1 (insn_flags, FL_THUMB)) + warning (0, "architecture revisions earlier than ARMv4T are deprecated"); + if (flag_pic) /* Hoisting PIC address calculations more aggressively provides a small, but measurable, size reduction for PIC code. Therefore, we decrease diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 18b2b8f31075b6286d63d1f489c2769daac6cec5..6e0143428ed9b59b18df9ce6207054a064ab7889 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -13944,6 +13944,8 @@ of the @option{-mcpu=} option. Permissible names are: @samp{armv2}, @samp{armv7ve}, @samp{armv8-a}, @samp{armv8-a+crc}, @samp{armv8.1-a}, @samp{armv8.1-a+crc}, @samp{iwmmxt}, @samp{iwmmxt2}, @samp{ep9312}. +Architecture revisions older than @option{armv4t} are deprecated. + @option{-march=armv7ve} is the armv7-a architecture with virtualization extensions. diff --git a/gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c b/gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c index 4b48ef803d4f53a67c4f36369cb4f537f584e7c7..b47feb99b78965dfe56a56917c1475c1dc622d3d 100644 --- a/gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c +++ b/gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c @@ -12,4 +12,5 @@ #include "ftest-support.h" +/* { dg-warning "architecture revisions earlier than ARMv4T are deprecated" "" { target *-*-* } 1 } */ diff --git a/gcc/testsuite/gcc.target/arm/pr62554.c b/gcc/testsuite/gcc.target/arm/pr62554.c index 4d6501cba1fb5122cfa9e276766280414c338225..ef0aaa871f95201443a773e2935faed0baf40371 100644 --- a/gcc/testsuite/gcc.target/arm/pr62554.c +++ b/gcc/testsuite/gcc.target/arm/pr62554.c @@ -2,6 +2,7 @@ /* { dg-do compile } */ /* { dg-options "-marm -march=armv3 -O" } */ /* { dg-require-effective-target arm_arm_ok } */ +/* { dg-warning "architecture revisions earlier than ARMv4T are deprecated" "" { target *-*-* } 1 } */ typedef struct { diff --git a/gcc/testsuite/gcc.target/arm/pr69610-1.c b/gcc/testsuite/gcc.target/arm/pr69610-1.c index a671b93392bdac8679415cb49a3691dcbe672790..1343eb282b8a0994312d64d705120783804738d4 100644 --- a/gcc/testsuite/gcc.target/arm/pr69610-1.c +++ b/gcc/testsuite/gcc.target/arm/pr69610-1.c @@ -2,7 +2,7 @@ /* { dg-do compile } */ /* { dg-options "-marm -march=armv3 -ftree-ter" } */ /* { dg-require-effective-target arm_arm_ok } */ - +/* { dg-warning "architecture revisions earlier than ARMv4T are deprecated" "" { target *-*-* } 1 } */ typedef unsigned short v16u16 __attribute__ ((vector_size (16))); typedef unsigned int v16u32 __attribute__ ((vector_size (16))); diff --git a/gcc/testsuite/gcc.target/arm/pr69610-2.c b/gcc/testsuite/gcc.target/arm/pr69610-2.c index e932c63b63962d95eff02ba26430e7eef454329f..eb5d72c35f97de8d0138441506fd8b28f1af6c56 100644 --- a/gcc/testsuite/gcc.target/arm/pr69610-2.c +++ b/gcc/testsuite/gcc.target/arm/pr69610-2.c @@ -2,7 +2,7 @@ /* { dg-do compile } */ /* { dg-options "-marm -march=armv3 -O2 -fno-forward-propagate" } */ /* { dg-require-effective-target arm_arm_ok } */ - +/* { dg-warning "architecture revisions earlier than ARMv4T are deprecated" "" { target *-*-* } 1 } */ typedef short v16u16 __attribute__ ((vector_size (16))); typedef unsigned v16u32 __attribute__ ((vector_size (16))); typedef long long v16u64 __attribute__ ((vector_size (16)));