aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.cc
diff options
context:
space:
mode:
authorVictor Do Nascimento <victor.donascimento@arm.com>2023-10-29 00:38:59 +0100
committerVictor Do Nascimento <victor.donascimento@arm.com>2023-12-06 21:20:36 +0000
commit88157c88172b06f1afb6136e9bd8fce1de5ba823 (patch)
tree65b31cb920b8cecbf8512c11cdad17be95cb0e57 /gcc/expr.cc
parenteac59af05aa5d7b420408b12865437dbc8a54218 (diff)
downloadgcc-88157c88172b06f1afb6136e9bd8fce1de5ba823.zip
gcc-88157c88172b06f1afb6136e9bd8fce1de5ba823.tar.gz
gcc-88157c88172b06f1afb6136e9bd8fce1de5ba823.tar.bz2
aarch64: Implement 128-bit extension to ACLE sysreg r/w builtins
Implement the ACLE builtins for 128-bit system register manipulation: * __uint128_t __arm_rsr128(const char *special_register); * void __arm_wsr128(const char *special_register, __uint128_t value); gcc/ChangeLog: * config/aarch64/aarch64-builtins.cc (AARCH64_RSR128): New `enum aarch64_builtins' value. (AARCH64_WSR128): Likewise. (aarch64_init_rwsr_builtins): Init `__builtin_aarch64_rsr128' and `__builtin_aarch64_wsr128' builtins. (aarch64_expand_rwsr_builtin): Extend function to handle `__builtin_aarch64_{rsr|wsr}128'. * config/aarch64/aarch64-protos.h (aarch64_retrieve_sysreg): Update function signature. * config/aarch64/aarch64.cc (F_REG_128): New. (aarch64_retrieve_sysreg): Add 128-bit register mode check. * config/aarch64/aarch64.md (UNSPEC_SYSREG_RTI): New. (UNSPEC_SYSREG_WTI): Likewise. (aarch64_read_sysregti): Likewise. (aarch64_write_sysregti): Likewise. * config/aarch64/arm_acle.h (__arm_rsr128): New. (__arm_wsr128): Likewise.
Diffstat (limited to 'gcc/expr.cc')
0 files changed, 0 insertions, 0 deletions