arm: MVE: Add C++ polymorphism and fix some more issues
authorAndre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com>
Tue, 7 Apr 2020 14:40:15 +0000 (15:40 +0100)
committerAndre Vieira <andre.simoesdiasvieira@arm.com>
Tue, 7 Apr 2020 14:44:52 +0000 (15:44 +0100)
commit6a90680bfff0a3803b3dc950c847046abb2d7d54
tree09be06b175e6c5148cd6d3d5a917238bd9a75a34
parentff0597dcd99d43a4bb0c199dc506205af379b3d4
arm: MVE: Add C++ polymorphism and fix some more issues

This patch adds C++ polymorphism for the MVE intrinsics, by using the native C++
polymorphic functions when C++ is used.

It also moves the PRESERVE name macro definitions to the right place so that the
variants without the '__arm_' prefix are not available if we define the PRESERVE
NAMESPACE macro.

This patch further fixes two testisms that were brought to light by C++ testing
added in this patch.

gcc/ChangeLog:
2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* config/arm/arm_mve.h: Add C++ polymorphism and fix preserve MACROs.

gcc/testsuite/ChangeLog:
2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* g++.target/arm/mve.exp: New.
* gcc.target/arm/mve/intrinsics/vcmpneq_n_f16: Fix testism.
* gcc.target/arm/mve/intrinsics/vcmpneq_n_f32: Likewise.
gcc/ChangeLog
gcc/config/arm/arm_mve.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.target/arm/mve.exp [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/mve/intrinsics/vcmpgeq_n_f16.c
gcc/testsuite/gcc.target/arm/mve/intrinsics/vcmpgeq_n_f32.c