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

Message ID cover.1690177089.git.research_trasio@irq.a4lg.com
Headers
Series RISC-V: Reflect v1.0.4-1 of the code size reduction spec |

Message

Tsukasa OI July 24, 2023, 5:38 a.m. UTC
  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
  

Comments

Nelson Chu July 24, 2023, 11:22 p.m. UTC | #1
ok, please commit these, thanks.

Nelson

On Mon, Jul 24, 2023 at 1:39 PM Tsukasa OI <research_trasio@irq.a4lg.com>
wrote:

> 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
>
>