Hi Dennis,
On 2/11/20 12:03 PM, Dennis Zhang wrote:
Hi all,
On 16/12/2019 13:45, Dennis Zhang wrote:
> Hi all,
>
> This patch is part of a series adding support for Armv8.6-A features.
> It depends on the Arm Armv8.6-A CLI patch,
> https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02195.html.
> It also depends on the Armv8.6-A effective target checking patch,
> https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00857.html.
> It also depends on the ARMv8.6-A I8MM dot product patch for using the
> same builtin qualifier
> https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00945.html.
>
> This patch adds intrinsics for matrix multiply-accumulate operations
> including vmmlaq_s32, vmmlaq_u32, and vusmmlaq_s32.
>
> ACLE documents are at https://developer.arm.com/docs/101028/latest
> ISA documents are at https://developer.arm.com/docs/ddi0596/latest
>
> Regtested for arm-none-linux-gnueabi-armv8.2-a.
>
> Is it OK for trunk please?
>
This is ok.
Thanks,
Kyrill
> Thanks,
> Dennis
>
> gcc/ChangeLog:
>
> 2019-12-10 Dennis Zhang <dennis.zh...@arm.com>
>
> * config/arm/arm_neon.h (vmmlaq_s32, vmmlaq_u32, vusmmlaq_s32):
New.
> * config/arm/arm_neon_builtins.def (smmla, ummla, usmmla): New.
> * config/arm/iterators.md (MATMUL): New.
> (sup): Add UNSPEC_MATMUL_S, UNSPEC_MATMUL_U, and UNSPEC_MATMUL_US.
> (mmla_sfx): New.
> * config/arm/neon.md (neon_<sup>mmlav16qi): New.
> * config/arm/unspecs.md (UNSPEC_MATMUL_S): New.
> (UNSPEC_MATMUL_U, UNSPEC_MATMUL_US): New.
>
> gcc/testsuite/ChangeLog:
>
> 2019-12-10 Dennis Zhang <dennis.zh...@arm.com>
>
> * gcc.target/arm/simd/vmmla_1.c: New test.
This patch has been updated according to the feedback on related AArch64
version at https://gcc.gnu.org/ml/gcc-patches/2020-01/msg01591.html
Regtested. OK to commit please?
Many thanks
Dennis
gcc/ChangeLog:
2020-02-11 Dennis Zhang <dennis.zh...@arm.com>
* config/arm/arm-builtins.c (USTERNOP_QUALIFIERS): New macro.
* config/arm/arm_neon.h (vmmlaq_s32, vmmlaq_u32,
vusmmlaq_s32): New.
* config/arm/arm_neon_builtins.def (smmla, ummla, usmmla): New.
* config/arm/iterators.md (MATMUL): New iterator.
(sup): Add UNSPEC_MATMUL_S, UNSPEC_MATMUL_U, and UNSPEC_MATMUL_US.
(mmla_sfx): New attribute.
* config/arm/neon.md (neon_<sup>mmlav16qi): New.
* config/arm/unspecs.md (UNSPEC_MATMUL_S, UNSPEC_MATMUL_U): New.
(UNSPEC_MATMUL_US): New.
gcc/testsuite/ChangeLog:
2020-02-11 Dennis Zhang <dennis.zh...@arm.com>
* gcc.target/arm/simd/vmmla_1.c: New test.