[REVIEW,ONLY,0/3] RISC-V: MOCK: Add 'Zce' extension support

Message ID cover.1690595772.git.research_trasio@irq.a4lg.com
Headers
Series RISC-V: MOCK: Add 'Zce' extension support |

Message

Tsukasa OI July 29, 2023, 1:56 a.m. UTC
  Hi,

This patch set reflects rather complex implications derived
from 'Zce' and 'F'.

They are the expansions related in this context:

'Zce'       == 'Zce' + 'Zca' + 'Zcb' + 'Zcmp' + 'Zcmt'
'Zce' + 'F' == 'Zce' + 'Zca' + 'Zcb' + 'Zcmp' + 'Zcmt' + 'Zcf' + 'F' (RV32)
'Zce' + 'F' == 'Zce' + 'Zca' + 'Zcb' + 'Zcmp' + 'Zcmt'         + 'F' (RV64)

Unlike my related patchset ('C' expansions)
<https://sourceware.org/pipermail/binutils/2023-July/128639.html>,

this is going to be mandatory because those expansions are explicitly stated
in the code size reduction specification.  So, even if 'C' extension should
not be expanded, new complex implication (as in PATCH 1) will be required.


Note however, that 'Zcmp' and 'Zcmt' extensions are not merged into GNU
Binutils yet.  So, this patch set cannot be applied as-is.

So, **consider PATCH 2-3 of this patch set to be a mockup** outlining what
will be required when support for 'Zcmp' and 'Zcmt' extensions are merged
and we are ready to implement support for the 'Zce' superset extension.

On the other hand, I think PATCH 1 can be merged into master because it
does not contain any unratified extensions / debatable choices.


Thanks,
Tsukasa




Tsukasa OI (3):
  RISC-V: Base for complex extension implications
  MOCK: RISC-V: Add 'Zce' extension support
  MOCK: RISC-V: Tests for 'Zce' implications

 bfd/elfxx-riscv.c                             | 61 ++++++++++++++-----
 .../gas/riscv/march-imply-zce-f-32.d          |  6 ++
 .../gas/riscv/march-imply-zce-f-64.d          |  6 ++
 gas/testsuite/gas/riscv/march-imply-zce.d     |  6 ++
 4 files changed, 65 insertions(+), 14 deletions(-)
 create mode 100644 gas/testsuite/gas/riscv/march-imply-zce-f-32.d
 create mode 100644 gas/testsuite/gas/riscv/march-imply-zce-f-64.d
 create mode 100644 gas/testsuite/gas/riscv/march-imply-zce.d


base-commit: 8e72ee1de8df0789c0ac593467d34387af388c83