[PATCH 0/2] RISC-V: Reflect v1.0.4-1 of the code size reduction spec

Tsukasa OI research_trasio@irq.a4lg.com
Mon Jul 24 05:38:50 GMT 2023


Hello again,

I am pleased to announce that I can contribute to GNU Binutils again!


This is a follow-up patch set for the code size reduction specification
by Jiawei et al. (partial support excluding those that conflict with 'Zcd').

This is compliant with the initial ratified version but there is a new
version of the specification including minor additions.

cf: The version 1.0.4-1 of the specification
<https://github.com/riscv/riscv-code-size-reduction/releases/tag/v1.0.4-1>

1.  'Zcf' is only allowed on RV32 (as no instruction exists on RV64/128).
2.  'Zcf' implies 'F' and 'Zcd' implies D.

This patch set makes GNU Binutils compliant with the latest code size
reduction specification (a subset where GNU Binutils has already
implemented) except a minor issue: 'C' does not imply 'Zca', 'Zcd' and
'Zcf' (only on RV32).  Note that this is a consequence from handling of the
'Zmmul' extension (a subset of 'M').

Thanks,
Tsukasa




Tsukasa OI (2):
  RISC-V: Prohibit the 'Zcf' extension on RV64
  RISC-V: Implications from 'Zc[fd]' extensions

 bfd/elfxx-riscv.c                              | 9 +++++++++
 gas/testsuite/gas/riscv/march-fail-rv64i_zcf.d | 3 +++
 gas/testsuite/gas/riscv/march-fail-rv64i_zcf.l | 2 ++
 gas/testsuite/gas/riscv/march-imply-zcd.d      | 6 ++++++
 gas/testsuite/gas/riscv/march-imply-zcf.d      | 6 ++++++
 5 files changed, 26 insertions(+)
 create mode 100644 gas/testsuite/gas/riscv/march-fail-rv64i_zcf.d
 create mode 100644 gas/testsuite/gas/riscv/march-fail-rv64i_zcf.l
 create mode 100644 gas/testsuite/gas/riscv/march-imply-zcd.d
 create mode 100644 gas/testsuite/gas/riscv/march-imply-zcf.d


base-commit: 5cbe549257b0aed1b615714e74bb6a3f066f3253
-- 
2.41.0



More information about the Binutils mailing list