Hi Kyrill,

On 8 January 2018 at 18:55, Kyrill  Tkachov <kyrylo.tkac...@foss.arm.com> wrote:
> [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?

As briefly discussed on IRC, I ran the tests with the original series,
and also after replacing arm_fp16fml_neon_ok object with
arm_fp16fml_neon_ok assembly.

As expected, in the 1st case, all the new tests were unsupported,
and the second version almost works, except in cases where the
compiler is configured with an 'hf' target (eg arm-none-linux-gnueabihf)
and --with-fpu=vfpXXX. In this case, arm_fp16fml_neon_ok thinks
it's safe to use -mfloat-abi=softfp, but when actually compiling the
testscases, we get the usual:
fatal error: gnu/stubs-soft.h: No such file or directory

Christophe



> 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.tkac...@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.tkac...@arm.com>
>
>     * gcc.target/arm/multilib.exp: Add some -march=armv8.4-a
>     combination tests.

Reply via email to