aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-intrinsic.c
diff options
context:
space:
mode:
authorAndre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com>2020-04-07 15:06:37 +0100
committerAndre Vieira <andre.simoesdiasvieira@arm.com>2020-04-07 15:44:51 +0100
commit9ce780efc4a8f47cf1fbba8e0494e65e87b0749c (patch)
tree7eeec3628a5539049a2d9eda8941a05747355d13 /gcc/fortran/trans-intrinsic.c
parentb094133c1c5bf21ccd60c344de6f4a798140e61b (diff)
downloadgcc-9ce780efc4a8f47cf1fbba8e0494e65e87b0749c.zip
gcc-9ce780efc4a8f47cf1fbba8e0494e65e87b0749c.tar.gz
gcc-9ce780efc4a8f47cf1fbba8e0494e65e87b0749c.tar.bz2
arm: MVE: Fix v[id]wdup's
This patch fixes v[id]wdup intrinsics. They had two issues: 1) the predicated versions did not link the incoming inactive vector parameter to the output 2) The backend didn't enforce the wrap limit operand be in an odd register. 1) was fixed like we did for all other predicated intrinsics 2) requires a temporary hack where we pass the value in the top end of DImode operand. The proper fix would be to add a register CLASS but this interacted badly with other existing targets codegen. We will look to fix this properly in GCC 11. gcc/ChangeLog: 2020-04-07 Andre Vieira <andre.simoesdiasvieira@arm.com> * config/arm/arm_mve.h: Fix v[id]wdup intrinsics. * config/arm/mve/md: Fix v[id]wdup patterns.
Diffstat (limited to 'gcc/fortran/trans-intrinsic.c')
0 files changed, 0 insertions, 0 deletions