]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/arm/arm-builtins.c
[ARM] Implement support for ACLE Coprocessor MCR and MRC intrinsics
authoravieira <avieira@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Jan 2017 17:40:50 +0000 (17:40 +0000)
committeravieira <avieira@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Jan 2017 17:40:50 +0000 (17:40 +0000)
commit415e9b1ffa8ab75fe9c5cec369c31f3dae6323e3
treee809201218c7b28fba82037fe84f11ba498eab1a
parent638b44bdb0500057711811a5d6908fa49059cd20
[ARM] Implement support for ACLE Coprocessor MCR and MRC intrinsics

gcc/ChangeLog:
2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* config/arm/arm.md (<mcr>): New.
(<mrc>): New.
* config/arm/arm.c (arm_coproc_builtin_available): Add
support for mcr, mrc, mcr2 and mrc2.
* config/arm/arm-builtins.c (MCR_QUALIFIERS): Define to...
(arm_mcr_qualifiers): ... this. New.
(MRC_QUALIFIERS): Define to ...
(arm_mrc_qualifiers): ... this. New.
(MCR_QUALIFIERS): Define to ...
(arm_mcr_qualifiers): ... this. New.
* config/arm/arm_acle.h (__arm_mcr, __arm_mrc, __arm_mcr2,
__arm_mrc2): New.
* config/arm/arm_acle_builtins.def (mcr, mcr2, mrc, mrc2): New.
* config/arm/iterators.md (MCRI, mcr, MCR, MRCI, mrc, MRC): New.
* config/arm/unspecs.md (VUNSPEC_MCR, VUNSPEC_MCR2, VUNSPEC_MRC,
VUNSPEC_MRC2): New.

gcc/testsuite/ChangeLog:
2017-01-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* gcc.target/arm/acle/mcr.c: New.
* gcc.target/arm/acle/mrc.c: New.
* gcc.target/arm/acle/mcr2.c: New.
* gcc.target/arm/acle/mrc2.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244174 138bc75d-0d04-0410-961f-82ee72b054a4
13 files changed:
gcc/ChangeLog
gcc/config/arm/arm-builtins.c
gcc/config/arm/arm.c
gcc/config/arm/arm.md
gcc/config/arm/arm_acle.h
gcc/config/arm/arm_acle_builtins.def
gcc/config/arm/iterators.md
gcc/config/arm/unspecs.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/acle/mcr.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/acle/mcr2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/acle/mrc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arm/acle/mrc2.c [new file with mode: 0644]