diff options
author | Michael Clark <michaeljclark@mac.com> | 2017-04-27 16:08:46 +1200 |
---|---|---|
committer | Palmer Dabbelt <palmer@dabbelt.com> | 2017-05-02 15:19:07 -0700 |
commit | 43e379d74c994fe431368b5f25f778bf601a2981 (patch) | |
tree | c35649586f7b5caa472a2c5a6e55079cae3e8372 /ld/ldexp.c | |
parent | 763a5fa4f330d6d3859c94a69ba1fcab09330cf9 (diff) | |
download | binutils-43e379d74c994fe431368b5f25f778bf601a2981.zip binutils-43e379d74c994fe431368b5f25f778bf601a2981.tar.gz binutils-43e379d74c994fe431368b5f25f778bf601a2981.tar.bz2 |
RISC-V: Change CALL macro to use ra as the temporary address register
e.g.
1: auipc ra, %pcrel_hi(symbol)
jalr ra, %pcrel_lo(1b)(ra)
The use of ra instead of t1 for address construction provides an
opportunity for a microarchitecture to elide the write of the
destination address, and instead read the target address as an
immediate spread across the fused auipc+jalr pair. The link
register ra in the jalr overwrites the target address temporary.
2017-05-01 Michael Clark <michaeljclark@mac.com>
* riscv-opc.c (riscv_opcodes) <call>: Use RA not T1 as a temporary
register.
Diffstat (limited to 'ld/ldexp.c')
0 files changed, 0 insertions, 0 deletions