Hi Kyrill, > > xgene1 was added a few releases ago, better to use one of the new additions > from the above list. > For example -mtune=cortex-r52.
Thanks, I have updated the patch. I'll wait for an ok from an AArch64 maintainer and a Docs maintainer. > > With that nit the arm changes look ok to me. > Thanks for compiling this! > Kyrill > Cheers, Tamar --
Index: htdocs/gcc-8/changes.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-8/changes.html,v retrieving revision 1.26 diff -u -r1.26 changes.html --- htdocs/gcc-8/changes.html 11 Jan 2018 09:31:53 -0000 1.26 +++ htdocs/gcc-8/changes.html 16 Jan 2018 14:12:57 -0000 @@ -147,7 +147,51 @@ <h3 id="aarch64">AArch64</h3> <ul> - <li></li> + <li> + The Armv8.4-A architecture is now supported. It can be used by + specifying the <code>-march=armv8.4-a</code> option. + </li> + <li> + The Dot Product instructions are now supported as an optional extension to the + Armv8.2-A architecture and newer and are mandatory on Armv8.4-A. The extension can be used by + specifying the <code>+dotprod</code> architecture extension. E.g. <code>-march=armv8.2-a+dotprod</code>. + </li> + <li> + The Armv8-A <code>+crypto</code> extension has now been split into two extensions for finer grained control: + <ul> + <li><code>+aes</code> which contains the Armv8-A AES crytographic instructions.</li> + <li><code>+sha2</code> which contains the Armv8-A SHA2 and SHA1 cryptographic instructions.</li> + </ul> + Using <code>+crypto<code> will now enable these two extensions. + </li> + <li> + New Armv8.4-A FP16 Floating Point Multiplication Variant instructions have been added. These instructions are + mandatory in Armv8.4-A but available as an optional extension to Armv8.2-A and Armv8.3-A. The new extension + can be used by specifying the <code>+fp16fml</code> architectural extension on Armv8.2-A and Armv8.3-A. On Armv8.4-A + the instructions can be enabled by specifying <code>+fp16</code>. + </li> + <li> + New cryptographic instructions have been added as optional extensions to Armv8.2-A and newer. These instructions can + be enabled with: + <ul> + <li><code>+sha3</code> New SHA3 and SHA2 instructions from Armv8.4-A. This implies <code>+sha2</code>. + <li><code>+sm4</code> New SM3 and SM4 instructions from Armv8.4-A. + </ul> + </li> + <li> + Support has been added for the following processors + (GCC identifiers in parentheses): + <ul> + <li>Arm Cortex-A75 (<code>cortex-a75</code>).</li> + <li>Arm Cortex-A55 (<code>cortex-a55</code>).</li> + <li>Arm Cortex-A55/Cortex-A75 DynamIQ big.LITTLE (<code>cortex-a75.cortex-a55</code>).</li> + </ul> + The GCC identifiers can be used + as arguments to the <code>-mcpu</code> or <code>-mtune</code> options, + for example: <code>-mcpu=cortex-a75</code> or + <code>-mtune=thunderx2t99p1</code> or as arguments to the equivalent target + attributes and pragmas. + </li> </ul> <h3 id="arm">ARM</h3> @@ -169,14 +213,58 @@ removed in a future release. </li> <li> - The default link behavior for ARMv6 and ARMv7-R targets has been + The default link behavior for Armv6 and Armv7-R targets has been changed to produce BE8 format when generating big-endian images. A new flag <code>-mbe32</code> can be used to force the linker to produce legacy BE32 format images. There is no change of behavior for - ARMv6-m and other ARMv7 or later targets: these already defaulted + Armv6-M and other Armv7 or later targets: these already defaulted to BE8 format. This change brings GCC into alignment with other compilers for the ARM architecture. </li> + <li> + The Armv8-R architecture is now supported. It can be used by specifying the + <code>-march=armv8-r</code> option. + </li> + <li> + The Armv8.3-A architecture is now supported. It can be used by + specifying the <code>-march=armv8.3-a</code> option. + </li> + <li> + The Armv8.4-A architecture is now supported. It can be used by + specifying the <code>-march=armv8.4-a</code> option. + </li> + <li> + The Dot Product instructions are now supported as an optional extension to the + Armv8.2-A architecture and newer and are mandatory on Armv8.4-A. The extension can be used by + specifying the <code>+dotprod</code> architecture extension. E.g. <code>-march=armv8.2-a+dotprod</code>. + </li> + + <li> + Support for setting extensions and architectures using the GCC target pragma and attribute has been added. + It can be used by specifying <code>#pragma GCC target ("arch=...")</code>, <code>#pragma GCC target ("+extension")</code>, + <code>__attribute__((target("arch=...")))</code> or <code>__attribute__((target("+extension")))</code>. + </li> + <li> + New Armv8.4-A FP16 Floating Point Multiplication Variant instructions have been added. These instructions are + mandatory in Armv8.4-A but available as an optional extension to Armv8.2-A and Armv8.3-A. The new extension + can be used by specifying the <code>+fp16fml</code> architectural extension on Armv8.2-A and Armv8.3-A. On Armv8.4-A + the instructions can be enabled by specifying <code>+fp16</code>. + </li> + <li> + Support has been added for the following processors + (GCC identifiers in parentheses): + <ul> + <li>Arm Cortex-A75 (<code>cortex-a75</code>).</li> + <li>Arm Cortex-A55 (<code>cortex-a55</code>).</li> + <li>Arm Cortex-A55/Cortex-A75 DynamIQ big.LITTLE (<code>cortex-a75.cortex-a55</code>).</li> + <li>Arm Cortex-R52 for Armv8-R (<code>cortex-r52</code>).</li> + </ul> + The GCC identifiers can be used + as arguments to the <code>-mcpu</code> or <code>-mtune</code> options, + for example: <code>-mcpu=cortex-a75</code> or + <code>-mtune=cortex-r52</code> or as arguments to the equivalent target + attributes and pragmas. + </li> </ul> <h3 id="avr">AVR</h3>