mbox

[0/2] arm: Define MVE types internally

Message ID c4ac90ca-391d-37c8-78b5-46fcf7696fba@arm.com
Headers

Message

Murray Steele Nov. 16, 2021, 10:14 a.m. UTC
  Hi all,

This patch series implements the arm MVE ACLE types currently found
under config/arm/arm_mve_types.h internally via a new pragma. Exposing
the MVE ACLE types internally allows for an MVE intrinsics
implementation similar to the current SVE implementation.

Any prefix of the patch series should build and pass regression tests.

Thanks,
Murray

---

Murray Steele (2):
  arm: Move arm_simd_info array declaration into header
  arm: Define MVE types internally via pragma

 gcc/config.gcc                                |   2 +-
 gcc/config/arm/arm-builtins.c                 |  87 +-------
 gcc/config/arm/arm-builtins.h                 |  87 ++++++++
 gcc/config/arm/arm-c.c                        |  21 ++
 gcc/config/arm/arm-mve-builtins.cc            | 192 ++++++++++++++++++
 gcc/config/arm/arm-mve-builtins.def           |  41 ++++
 gcc/config/arm/arm-mve-builtins.h             |  34 ++++
 gcc/config/arm/arm-protos.h                   |   5 +
 gcc/config/arm/arm_mve_types.h                |  30 +--
 gcc/config/arm/t-arm                          |  10 +
 .../arm/mve/general-c/type_redef_1.c          |   7 +
 .../arm/mve/general-c/type_redef_10.c         |   7 +
 .../arm/mve/general-c/type_redef_11.c         |   7 +
 .../arm/mve/general-c/type_redef_12.c         |   7 +
 .../arm/mve/general-c/type_redef_13.c         |   7 +
 .../arm/mve/general-c/type_redef_14.c         |   7 +
 .../arm/mve/general-c/type_redef_15.c         |   7 +
 .../arm/mve/general-c/type_redef_16.c         |   7 +
 .../arm/mve/general-c/type_redef_17.c         |   7 +
 .../arm/mve/general-c/type_redef_18.c         |   7 +
 .../arm/mve/general-c/type_redef_19.c         |   7 +
 .../arm/mve/general-c/type_redef_2.c          |   7 +
 .../arm/mve/general-c/type_redef_20.c         |   7 +
 .../arm/mve/general-c/type_redef_21.c         |   7 +
 .../arm/mve/general-c/type_redef_22.c         |   7 +
 .../arm/mve/general-c/type_redef_23.c         |   7 +
 .../arm/mve/general-c/type_redef_24.c         |   7 +
 .../arm/mve/general-c/type_redef_25.c         |   7 +
 .../arm/mve/general-c/type_redef_26.c         |   7 +
 .../arm/mve/general-c/type_redef_27.c         |   7 +
 .../arm/mve/general-c/type_redef_28.c         |   7 +
 .../arm/mve/general-c/type_redef_29.c         |   7 +
 .../arm/mve/general-c/type_redef_3.c          |   7 +
 .../arm/mve/general-c/type_redef_30.c         |   7 +
 .../arm/mve/general-c/type_redef_31.c         |   7 +
 .../arm/mve/general-c/type_redef_4.c          |   7 +
 .../arm/mve/general-c/type_redef_5.c          |   7 +
 .../arm/mve/general-c/type_redef_6.c          |   7 +
 .../arm/mve/general-c/type_redef_7.c          |   7 +
 .../arm/mve/general-c/type_redef_8.c          |   7 +
 .../arm/mve/general-c/type_redef_9.c          |   7 +
 .../arm/mve/general/double_pragmas_1.c        |   8 +
 .../gcc.target/arm/mve/general/nomve_1.c      |   3 +
 gcc/testsuite/gcc.target/arm/mve/mve.exp      |   6 +
 44 files changed, 627 insertions(+), 116 deletions(-)
 create mode 100644 gcc/config/arm/arm-mve-builtins.cc
 create mode 100644 gcc/config/arm/arm-mve-builtins.def
 create mode 100644 gcc/config/arm/arm-mve-builtins.h
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_1.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_10.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_11.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_12.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_13.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_14.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_15.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_16.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_17.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_18.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_19.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_2.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_20.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_21.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_22.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_23.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_24.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_25.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_26.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_27.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_28.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_29.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_3.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_30.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_31.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_4.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_5.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_6.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_7.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_8.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_9.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general/double_pragmas_1.c
 create mode 100644 gcc/testsuite/gcc.target/arm/mve/general/nomve_1.c