]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/arm/arm-protos.h
arm: Declare MVE types internally via pragma
authorMurray Steele <murray.steele@arm.com>
Wed, 22 Dec 2021 14:55:07 +0000 (14:55 +0000)
committerRichard Earnshaw <rearnsha@arm.com>
Wed, 22 Dec 2021 14:57:46 +0000 (14:57 +0000)
commit9c1ce17bc4aed37bc42bbe47210c562ea4fa6864
treea6bedb2ec34545616c774bc86b24cb860e176703
parent8c61cefe2b5091e5361a85768f847732463275d5
arm: Declare MVE types internally via pragma

Move the implementation of MVE ACLE types from arm_mve_types.h to
inside GCC via a new pragma, which replaces the prior type
definitions.  This allows for the types to be used internally for
intrinsic function definitions.

gcc/ChangeLog:

* config.gcc (arm*-*-*): Add arm-mve-builtins.o to extra_objs.
* config/arm/arm-c.c (arm_pragma_arm): Handle "#pragma GCC arm".
(arm_register_target_pragmas): Register it.
* config/arm/arm-protos.h: (arm_mve::arm_handle_mve_types_h): New
prototype.
* config/arm/arm_mve_types.h: Replace MVE type definitions with
new pragma.
* config/arm/t-arm: (arm-mve-builtins.o): New target rule.
* config/arm/arm-mve-builtins.cc: New file.
* config/arm/arm-mve-builtins.def: New file.
* config/arm/arm-mve-builtins.h: New file.

gcc/testsuite/ChangeLog:

* gcc.target/arm/mve/mve.exp: Add new subdirectories.
* gcc.target/arm/mve/general-c/type_redef_1.c: New test.
* gcc.target/arm/mve/general/double_pragmas_1.c: New test.
* gcc.target/arm/mve/general/nomve_1.c: New test.
12 files changed:
gcc/config.gcc
gcc/config/arm/arm-c.c
gcc/config/arm/arm-mve-builtins.cc [new file with mode: 0644]
gcc/config/arm/arm-mve-builtins.def [new file with mode: 0644]
gcc/config/arm/arm-mve-builtins.h [new file with mode: 0644]
gcc/config/arm/arm-protos.h
gcc/config/arm/arm_mve_types.h
gcc/config/arm/t-arm
gcc/testsuite/gcc.target/arm/mve/general-c/type_redef_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/mve/general/double_pragmas_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/mve/general/nomve_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/mve/mve.exp