diff mbox

Update documentation for ARM architecture

Message ID 5e194aff00ba4bf594c3bdfa34c3280e@rwthex-w2-a.rwth-ad.de
State New
Headers show

Commit Message

Stefan Brüns May 28, 2016, 1:52 p.m. UTC
From: Stefan Brüns <stefan.bruens@rwth-aachen.de>

  * use lexicographical ordering, as "gcc -march=foo" does
  * add armv6k, armv6z, arm6zk
  * remove ep9312, it is only valid for -mcpu
  * add armv6s-m and document it, as it is no official ARM name.

Support for the OS extension/SVC is mandatory, non-supporting
implementations are deprecated (ARMv6-M Architecture Reference Manual, B.2)
---
 gcc/doc/invoke.texi | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

Comments

Sandra Loosemore May 30, 2016, 8:01 p.m. UTC | #1
On 05/28/2016 07:52 AM, stefan.bruens@rwth-aachen.de wrote:
> From: Stefan Brüns <stefan.bruens@rwth-aachen.de>
>
>    * use lexicographical ordering, as "gcc -march=foo" does
>    * add armv6k, armv6z, arm6zk
>    * remove ep9312, it is only valid for -mcpu
>    * add armv6s-m and document it, as it is no official ARM name.
>
> Support for the OS extension/SVC is mandatory, non-supporting
> implementations are deprecated (ARMv6-M Architecture Reference Manual, B.2)
> ---
>   gcc/doc/invoke.texi | 17 ++++++++++++-----
>   1 file changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 9e92133..6942b83 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -14041,15 +14041,22 @@ name to determine what kind of instructions it can emit when generating
>   assembly code.  This option can be used in conjunction with or instead
>   of the @option{-mcpu=} option.  Permissible names are: @samp{armv2},
>   @samp{armv2a}, @samp{armv3}, @samp{armv3m}, @samp{armv4}, @samp{armv4t},
> -@samp{armv5}, @samp{armv5t}, @samp{armv5e}, @samp{armv5te},
> -@samp{armv6}, @samp{armv6j},
> -@samp{armv6t2}, @samp{armv6z}, @samp{armv6kz}, @samp{armv6-m},
> -@samp{armv7}, @samp{armv7-a}, @samp{armv7-r}, @samp{armv7-m}, @samp{armv7e-m},
> +@samp{armv5}, @samp{armv5e}, @samp{armv5t}, @samp{armv5te},
> +@samp{armv6}, @samp{armv6-m}, @samp{armv6j}, @samp{armv6k},
> +@samp{armv6kz}, @samp{armv6s-m},
> +@samp{armv6t2}, @samp{armv6z}, @samp{armv6zk},
> +@samp{armv7}, @samp{armv7-a}, @samp{armv7-m}, @samp{armv7-r}, @samp{armv7e-m},
>   @samp{armv7ve}, @samp{armv8-a}, @samp{armv8-a+crc}, @samp{armv8.1-a},
> -@samp{armv8.1-a+crc}, @samp{iwmmxt}, @samp{iwmmxt2}, @samp{ep9312}.
> +@samp{armv8.1-a+crc}, @samp{iwmmxt}, @samp{iwmmxt2}.
>
>   Architecture revisions older than @option{armv4t} are deprecated.

Can you please

s/@option{armv4t}/@samp{armv4t}/

> +@option{-march=armv6s-m} is the armv6-m architecture with support for
> +the (now mandatory) SVC instruction.
> +
> +@option{-march=armv6zk} is an alias for armv6kz, existing for backwards
> +compatibility.
> +
>   @option{-march=armv7ve} is the armv7-a architecture with virtualization
>   extensions.

And in the above 3 paragraphs, please add @samp{} markup to armv6-m, 
armv6kz, and armv7-a, respectively.

It's OK with those changes unless the arch maintainers have some 
technical complaint about the information.

-Sandra
Kyrill Tkachov June 1, 2016, 11:25 a.m. UTC | #2
Hi Stefan,

On 30/05/16 21:01, Sandra Loosemore wrote:
> On 05/28/2016 07:52 AM, stefan.bruens@rwth-aachen.de wrote:
>> From: Stefan Brüns <stefan.bruens@rwth-aachen.de>
>>
>>    * use lexicographical ordering, as "gcc -march=foo" does
>>    * add armv6k, armv6z, arm6zk
>>    * remove ep9312, it is only valid for -mcpu
>>    * add armv6s-m and document it, as it is no official ARM name.
>>

Please provide a ChangeLog entry in the proper format i.e. using two spaces between
date, name and email in the top line, listing the filename
and section that is being changed and end sentences with a full stop.
The ChangeLog entries are kept as regular as possible to facilitate automated
processing tools that folks might want to use on them.
In this case I'd probably write something like:

<DATE>  <NAME>  <EMAIL>

     * doc/invoke.texi (ARM Options): Use lexicographical ordering...
     Add armv6k,...
     Remove...
     etc.

Have a look in gcc/ChangeLog for examples of how they are formatted.

>> Support for the OS extension/SVC is mandatory, non-supporting
>> implementations are deprecated (ARMv6-M Architecture Reference Manual, B.2)
>> ---
>>   gcc/doc/invoke.texi | 17 ++++++++++++-----
>>   1 file changed, 12 insertions(+), 5 deletions(-)
>>
>> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
>> index 9e92133..6942b83 100644
>> --- a/gcc/doc/invoke.texi
>> +++ b/gcc/doc/invoke.texi
>> @@ -14041,15 +14041,22 @@ name to determine what kind of instructions it can emit when generating
>>   assembly code.  This option can be used in conjunction with or instead
>>   of the @option{-mcpu=} option.  Permissible names are: @samp{armv2},
>>   @samp{armv2a}, @samp{armv3}, @samp{armv3m}, @samp{armv4}, @samp{armv4t},
>> -@samp{armv5}, @samp{armv5t}, @samp{armv5e}, @samp{armv5te},
>> -@samp{armv6}, @samp{armv6j},
>> -@samp{armv6t2}, @samp{armv6z}, @samp{armv6kz}, @samp{armv6-m},
>> -@samp{armv7}, @samp{armv7-a}, @samp{armv7-r}, @samp{armv7-m}, @samp{armv7e-m},
>> +@samp{armv5}, @samp{armv5e}, @samp{armv5t}, @samp{armv5te},
>> +@samp{armv6}, @samp{armv6-m}, @samp{armv6j}, @samp{armv6k},
>> +@samp{armv6kz}, @samp{armv6s-m},
>> +@samp{armv6t2}, @samp{armv6z}, @samp{armv6zk},
>> +@samp{armv7}, @samp{armv7-a}, @samp{armv7-m}, @samp{armv7-r}, @samp{armv7e-m},
>>   @samp{armv7ve}, @samp{armv8-a}, @samp{armv8-a+crc}, @samp{armv8.1-a},
>> -@samp{armv8.1-a+crc}, @samp{iwmmxt}, @samp{iwmmxt2}, @samp{ep9312}.
>> +@samp{armv8.1-a+crc}, @samp{iwmmxt}, @samp{iwmmxt2}.
>>
>>   Architecture revisions older than @option{armv4t} are deprecated.
>
> Can you please
>
> s/@option{armv4t}/@samp{armv4t}/
>
>> +@option{-march=armv6s-m} is the armv6-m architecture with support for
>> +the (now mandatory) SVC instruction.
>> +
>> +@option{-march=armv6zk} is an alias for armv6kz, existing for backwards
>> +compatibility.
>> +
>>   @option{-march=armv7ve} is the armv7-a architecture with virtualization
>>   extensions.
>
> And in the above 3 paragraphs, please add @samp{} markup to armv6-m, armv6kz, and armv7-a, respectively.
>
> It's OK with those changes unless the arch maintainers have some technical complaint about the information.
>

I like the patch. Please resend it with Sandra's comments addressed and a ChangeLog entry as suggested above
and I think we'll be good to go. I believe the change is small enough to not require a copyright assignment
but if you plan on doing more work on GCC you'll want to get that sorted as per https://gcc.gnu.org/contribute.html
for more major contributions.

Thanks for the patch!
Kyrill


> -Sandra
>
diff mbox

Patch

diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 9e92133..6942b83 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -14041,15 +14041,22 @@  name to determine what kind of instructions it can emit when generating
 assembly code.  This option can be used in conjunction with or instead
 of the @option{-mcpu=} option.  Permissible names are: @samp{armv2},
 @samp{armv2a}, @samp{armv3}, @samp{armv3m}, @samp{armv4}, @samp{armv4t},
-@samp{armv5}, @samp{armv5t}, @samp{armv5e}, @samp{armv5te},
-@samp{armv6}, @samp{armv6j},
-@samp{armv6t2}, @samp{armv6z}, @samp{armv6kz}, @samp{armv6-m},
-@samp{armv7}, @samp{armv7-a}, @samp{armv7-r}, @samp{armv7-m}, @samp{armv7e-m},
+@samp{armv5}, @samp{armv5e}, @samp{armv5t}, @samp{armv5te},
+@samp{armv6}, @samp{armv6-m}, @samp{armv6j}, @samp{armv6k},
+@samp{armv6kz}, @samp{armv6s-m},
+@samp{armv6t2}, @samp{armv6z}, @samp{armv6zk},
+@samp{armv7}, @samp{armv7-a}, @samp{armv7-m}, @samp{armv7-r}, @samp{armv7e-m},
 @samp{armv7ve}, @samp{armv8-a}, @samp{armv8-a+crc}, @samp{armv8.1-a},
-@samp{armv8.1-a+crc}, @samp{iwmmxt}, @samp{iwmmxt2}, @samp{ep9312}.
+@samp{armv8.1-a+crc}, @samp{iwmmxt}, @samp{iwmmxt2}.
 
 Architecture revisions older than @option{armv4t} are deprecated.
 
+@option{-march=armv6s-m} is the armv6-m architecture with support for
+the (now mandatory) SVC instruction.
+
+@option{-march=armv6zk} is an alias for armv6kz, existing for backwards
+compatibility.
+
 @option{-march=armv7ve} is the armv7-a architecture with virtualization
 extensions.