aarch64: Add 64 bit setter getter fpsr fpcr
authorAndrea Corallo <andrea.corallo@arm.com>
Thu, 28 May 2020 07:49:42 +0000 (08:49 +0100)
committerAndrea Corallo <andrea.corallo@arm.com>
Wed, 1 Jul 2020 15:31:07 +0000 (17:31 +0200)
commit0d7e5fa655e59c99035bf94a46c912e369bb9fa0
tree5654641a941c08b2ce1072613185993f65f129ca
parent685d8dafb4a1cb29ee219ad7857614ff66a78022
aarch64: Add 64 bit setter getter fpsr fpcr

gcc/ChangeLog

* config/aarch64/aarch64-builtins.c (aarch64_builtins): Add enums
for 64bits fpsr/fpcr getter setters builtin variants.
(aarch64_init_fpsr_fpcr_builtins): New function.
(aarch64_general_init_builtins): Modify to make use of the later.
(aarch64_expand_fpsr_fpcr_setter): New function.
(aarch64_general_expand_builtin): Modify to make use of the later.
* config/aarch64/aarch64.md (@aarch64_set_<fpscr_name><GPI:mode>)
(@aarch64_get_<fpscr_name><GPI:mode>): New patterns replacing and
generalizing 'get_fpcr', 'set_fpsr'.
* config/aarch64/iterators.md (GET_FPSCR, SET_FPSCR): New int
iterators.
(fpscr_name): New int attribute.
* doc/extend.texi (__builtin_aarch64_get_fpcr64)
(__builtin_aarch64_set_fpcr64, __builtin_aarch64_get_fpsr64)
(__builtin_aarch64_set_fpsr64): Add into AArch64 Built-in
Functions.

gcc/testsuite/ChangeLog

* gcc.target/aarch64/get_fpcr64_1.c: New test.
* gcc.target/aarch64/set_fpcr64_1.c: New test.
* gcc.target/aarch64/get_fpsr64_1.c: New test.
* gcc.target/aarch64/set_fpsr64_1.c: New test.
gcc/config/aarch64/aarch64-builtins.c
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/iterators.md
gcc/doc/extend.texi
gcc/testsuite/gcc.target/aarch64/get_fpcr64_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/get_fpsr64_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/set_fpcr64_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/set_fpsr64_1.c [new file with mode: 0644]