[PATCH][arm][1/3] Add -march=armv8.4-a option

Kyrill Tkachov kyrylo.tkachov@foss.arm.com
Mon Jan 8 18:02:00 GMT 2018


[resending due to mailer problems...]

Hi all,

This patch adds support for the Armv8.4-A architecture [1]
in the arm backend. This is done through the new
-march=armv8.4-a option.

With this patch armv8.4-a is recognised as an argument
and supports the extensions: simd, fp16, crypto, nocrypto,
nofp with the familiar meaning of these options.
Worth noting that there is no dotprod option like in
armv8.2-a and armv8.3-a because Dot Product support is
mandatory in Armv8.4-A when simd is available, so when using
+simd (of fp16 which enables +simd), the +dotprod is implied.

The various multilib selection makefile fragments are updated
too and the mutlilib.exp test gets a few armv8.4-a combination
tests.

Bootstrapped and tested on arm-none-linux-gnueabihf.

Christophe: Can I ask you for a huge favour to give these 3
patches a run through your testing infrastructure if you get
the chance?
The changes should be fairly self-contained
(i.e. touching only -march=armv8.4-a support) but I've gotten
various edge cases with testsuite setup wrong in the past...

Thanks,
Kyrill

[1] 
https://community.arm.com/processors/b/blog/posts/introducing-2017s-extensions-to-the-arm-architecture

2017-01-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     * config/arm/arm-cpus.in (armv8_4): New feature.
     (ARMv8_4a): New fgroup.
     (armv8.4-a): New arch.
     * config/arm/arm-tables.opt: Regenerate.
     * config/arm/t-aprofile: Add matching rules for -march=armv8.4-a.
     * config/arm/t-arm-elf (all_v8_archs): Add armv8.4-a.
     * config/arm/t-multilib (v8_4_a_simd_variants): New variable.
     Add matching rules for -march=armv8.4-a and extensions.
     * doc/invoke.texi (ARM Options): Document -march=armv8.4-a.

2017-01-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     * gcc.target/arm/multilib.exp: Add some -march=armv8.4-a
     combination tests.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: arm-v84-1.patch
Type: text/x-patch
Size: 7472 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20180108/8fae34a4/attachment.bin>


More information about the Gcc-patches mailing list