aboutsummaryrefslogtreecommitdiff
path: root/gcc/real.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-10-29 08:45:44 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-10-29 08:45:44 +0000
commit183bfdafc6f1f98711c5400498a7268cc1441096 (patch)
tree122a5518fc5cda98c2c8482bd9d700f89ee8cd6f /gcc/real.c
parent50a2d3be7bf473c7590f77350fadf3471427ce09 (diff)
downloadgcc-183bfdafc6f1f98711c5400498a7268cc1441096.zip
gcc-183bfdafc6f1f98711c5400498a7268cc1441096.tar.gz
gcc-183bfdafc6f1f98711c5400498a7268cc1441096.tar.bz2
[AArch64] Add FFR and FFRT registers
This patch adds the First Fault Register to the AArch64 port, as well as a fake register known as the FFR Token or FFRT. The main ACLE patch explains what the FFRT does and how it works. 2019-10-29 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/aarch64.md (FFR_REGNUM, FFRT_REGNUM): New constants. * config/aarch64/aarch64.h (FIRST_PSEUDO_REGISTER): Bump to FFRT_REGNUM + 1. (FFR_REGS, PR_AND_FFR_REGS): New register classes. (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for them. * config/aarch64/aarch64.c (pr_or_ffr_regnum_p): New function. (aarch64_hard_regno_nregs): Handle the new register classes. (aarch64_hard_regno_mode_ok): Likewise. (aarch64_regno_regclass): Likewise. (aarch64_class_max_nregs): Likewise. (aarch64_register_move_cost): Likewise. (aarch64_conditional_register_usage): Don't treat FFR and FFRT as general register_operands. From-SVN: r277561
Diffstat (limited to 'gcc/real.c')
0 files changed, 0 insertions, 0 deletions