diff options
author | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2024-02-14 16:46:38 +0000 |
---|---|---|
committer | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2024-03-04 18:16:03 +0000 |
commit | 8594dfed927e4eda3d2b02f801538af04f549679 (patch) | |
tree | 06827b33738b3a65c9980e701ad479714b983797 /libgfortran/io/unix.c | |
parent | 0b49dfcf14aa428b67ffe308d1cb2bcd98f1cb95 (diff) | |
download | gcc-8594dfed927e4eda3d2b02f801538af04f549679.zip gcc-8594dfed927e4eda3d2b02f801538af04f549679.tar.gz gcc-8594dfed927e4eda3d2b02f801538af04f549679.tar.bz2 |
arm: Annotate instructions with mve_safe_imp_xlane_pred
This patch annotates some MVE across lane instructions with a new attribute.
We use this attribute to let the compiler know that these instructions can be
safely implicitly predicated when tail predicating if their operands are
guaranteed to have zeroed tail predicated lanes. These instructions were
selected because having the value 0 in those lanes or 'tail-predicating' those
lanes have the same effect.
gcc/ChangeLog:
* config/arm/arm.md (mve_safe_imp_xlane_pred): New attribute.
* config/arm/iterators.md (mve_vmaxmin_safe_imp): New iterator
attribute.
* config/arm/mve.md (vaddvq_s, vaddvq_u, vaddlvq_s, vaddlvq_u,
vaddvaq_s, vaddvaq_u, vmaxavq_s, vmaxvq_u, vmladavq_s, vmladavq_u,
vmladavxq_s, vmlsdavq_s, vmlsdavxq_s, vaddlvaq_s, vaddlvaq_u,
vmlaldavq_u, vmlaldavq_s, vmlaldavq_u, vmlaldavxq_s, vmlsldavq_s,
vmlsldavxq_s, vrmlaldavhq_u, vrmlaldavhq_s, vrmlaldavhxq_s,
vrmlsldavhq_s, vrmlsldavhxq_s, vrmlaldavhaq_s, vrmlaldavhaq_u,
vrmlaldavhaxq_s, vrmlsldavhaq_s, vrmlsldavhaxq_s, vabavq_s, vabavq_u,
vmladavaq_u, vmladavaq_s, vmladavaxq_s, vmlsdavaq_s, vmlsdavaxq_s,
vmlaldavaq_s, vmlaldavaq_u, vmlaldavaxq_s, vmlsldavaq_s,
vmlsldavaxq_s): Added mve_safe_imp_xlane_pred.
Diffstat (limited to 'libgfortran/io/unix.c')
0 files changed, 0 insertions, 0 deletions