diff options
author | Murray Steele <murray.steele@arm.com> | 2021-12-22 14:55:07 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@arm.com> | 2021-12-22 14:57:46 +0000 |
commit | 9c1ce17bc4aed37bc42bbe47210c562ea4fa6864 (patch) | |
tree | a6bedb2ec34545616c774bc86b24cb860e176703 /gcc/config.gcc | |
parent | 8c61cefe2b5091e5361a85768f847732463275d5 (diff) | |
download | gcc-9c1ce17bc4aed37bc42bbe47210c562ea4fa6864.zip gcc-9c1ce17bc4aed37bc42bbe47210c562ea4fa6864.tar.gz gcc-9c1ce17bc4aed37bc42bbe47210c562ea4fa6864.tar.bz2 |
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.
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 91806aa..bf1c745 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -353,14 +353,14 @@ arc*-*-*) ;; arm*-*-*) cpu_type=arm - extra_objs="arm-builtins.o aarch-common.o" + extra_objs="arm-builtins.o arm-mve-builtins.o aarch-common.o" extra_headers="mmintrin.h arm_neon.h arm_acle.h arm_fp16.h arm_cmse.h arm_bf16.h arm_mve_types.h arm_mve.h arm_cde.h" target_type_format_char='%' c_target_objs="arm-c.o" cxx_target_objs="arm-c.o" d_target_objs="arm-d.o" extra_options="${extra_options} arm/arm-tables.opt" - target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c" + target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c \$(srcdir)/config/arm/arm-mve-builtins.h \$(srcdir)/config/arm/arm-mve-builtins.cc" ;; avr-*-*) cpu_type=avr |