[PATCH][AArch64] ACLE 8-bit integer matrix multiply-accumulate intrinsics

Dennis Zhang Dennis.Zhang@arm.com
Mon Dec 16 13:54:00 GMT 2019


Hi all,

This patch is part of a series adding support for Armv8.6-A features.
It depends on the Armv8.6-A effective target checking patch, 
https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00857.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 & bootstrapped for aarch64-none-linux-gnu.

Is it OK for trunk please?

Thanks
Dennis

gcc/ChangeLog:

2019-12-13  Dennis Zhang  <dennis.zhang@arm.com>

	* config/aarch64/aarch64-builtins.c (TYPES_TERNOP_SSUS): New macro.
	* config/aarch64/aarch64-simd-builtins.def (simd_smmla): New.
	(simd_ummla, simd_usmmla): New.
	* config/aarch64/aarch64-simd.md (aarch64_simd_<sur>mmlav16qi): New.
	* config/aarch64/arm_neon.h (vmmlaq_s32, vmmlaq_u32): New.
	(vusmmlaq_s32): New.
	* config/aarch64/iterators.md (unspec): Add UNSPEC_SMATMUL,
	UNSPEC_UMATMUL, and UNSPEC_USMATMUL.
	(sur): Likewise.
	(MATMUL): New.

gcc/testsuite/ChangeLog:

2019-12-13  Dennis Zhang  <dennis.zhang@arm.com>

	* gcc.target/aarch64/advsimd-intrinsics/vmmla.c: New test.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aarch-i8mm-mmla-20191210.patch
Type: text/x-patch
Size: 6097 bytes
Desc: aarch-i8mm-mmla-20191210.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20191216/8d6a5e1f/attachment.bin>


More information about the Gcc-patches mailing list