aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
authorDelia Burduv <delia.burduv@arm.com>2020-03-05 11:18:04 +0000
committerKyrylo Tkachov <kyrylo.tkachov@arm.com>2020-03-05 11:19:43 +0000
commit43031fbdda7d4edbd607365a4f3bbec069fe3983 (patch)
tree8386e7f7dcba7b17dafa82d913c46b49e2b570a2 /gcc/fortran/decl.c
parent7d6b3a788f75faee6e885ea0db5a3bf7d1798c91 (diff)
downloadgcc-43031fbdda7d4edbd607365a4f3bbec069fe3983.zip
gcc-43031fbdda7d4edbd607365a4f3bbec069fe3983.tar.gz
gcc-43031fbdda7d4edbd607365a4f3bbec069fe3983.tar.bz2
[AArch32] ACLE intrinsics bfloat16 vmmla and vfma<b/t> for AArch32 AdvSIMD
This patch adds the ARMv8.6 ACLE intrinsics for vmmla, vfmab and vfmat as part of the BFloat16 extension. (https://developer.arm.com/docs/101028/latest.) The intrinsics are declared in arm_neon.h and the RTL patterns are defined in neon.md. Two new tests are added to check assembler output and lane indices. 2020-03-05 Delia Burduv <delia.burduv@arm.com> * config/arm/arm_neon.h (vbfmmlaq_f32): New. (vbfmlalbq_f32): New. (vbfmlaltq_f32): New. (vbfmlalbq_lane_f32): New. (vbfmlaltq_lane_f32): New. (vbfmlalbq_laneq_f32): New. (vbfmlaltq_laneq_f32): New. * config/arm/arm_neon_builtins.def (vmmla): New. (vfmab): New. (vfmat): New. (vfmab_lane): New. (vfmat_lane): New. (vfmab_laneq): New. (vfmat_laneq): New. * config/arm/iterators.md (BF_MA): New int iterator. (bt): New int attribute. (VQXBF): Copy of VQX with V8BF. * config/arm/neon.md (neon_vmmlav8bf): New insn. (neon_vfma<bt>v8bf): New insn. (neon_vfma<bt>_lanev8bf): New insn. (neon_vfma<bt>_laneqv8bf): New expand. (neon_vget_high<mode>): Changed iterator to VQXBF. * config/arm/unspecs.md (UNSPEC_BFMMLA): New UNSPEC. (UNSPEC_BFMAB): New UNSPEC. (UNSPEC_BFMAT): New UNSPEC. 2020-03-05 Delia Burduv <delia.burduv@arm.com> * gcc.target/arm/simd/bf16_ma_1.c: New test. * gcc.target/arm/simd/bf16_ma_2.c: New test. * gcc.target/arm/simd/bf16_mmla_1.c: New test.
Diffstat (limited to 'gcc/fortran/decl.c')
0 files changed, 0 insertions, 0 deletions