[REVIEW ONLY v2 0/1] UNRATIFIED RISC-V: Add 'ZiCondOps' extension (encodings changed!)

Tsukasa OI research_trasio@irq.a4lg.com
Tue Nov 29 02:40:12 GMT 2022


IMPORTANT NOTE:

I just received an e-mail from Andrew.
Considering his statements...

1.  Actual encodings will change **again** and
2.  The extension name is going to be 'Zicond', not 'Zicondops'.

I'll submit PATCH v3 after both are reflected.

Regards,
Tsukasa

On 2022/11/29 11:06, Tsukasa OI wrote:
> *** WAIT FOR SPECIFICATION FREEZE ***
> This is an implementation for unratified and not frozen RISC-V extension
> and not intended to be merged for now.
> The only intent to submit this patchset is to test new instructions for
> your (possibly virtual) environment and early review for fast adoption
> after ratification.
> 
> 
> Just two hours ago, the encodings of "czero.eqz" and "czero.nez"
> instructions have changed in the commit 8c5faf4c6d73.
> 
> This PATCH v2 reflects this change.
> 
> 
> This patchset adds following unratified extension to GNU Binutils:
> 
> -   'ZiCondOps' (Integer Conditional Operations)
>     version 1.0 in development
> 
> which adds 2 instructions ("czero.eqz" and "czero.nez").
> 
> This extension makes conditional arithmetic feature much simpler (fewer
> instructions when no branches are allowed).  Note that constant timing
> guarantee (data-independence / certain side-channel resistance) for this
> extension is being discussed and may not be guaranteed.
> 
> 
> This is based on the commit 8c5faf4c6d73 of the specification document:
> <https://github.com/riscv/riscv-zicondops>
> 
> 
> 
> 
> Tsukasa OI (1):
>   UNRATIFIED RISC-V: Add 'ZiCondOps' extension
> 
>  bfd/elfxx-riscv.c                          |  5 +++++
>  gas/testsuite/gas/riscv/zicondops-noarch.d |  3 +++
>  gas/testsuite/gas/riscv/zicondops-noarch.l |  3 +++
>  gas/testsuite/gas/riscv/zicondops.d        | 11 +++++++++++
>  gas/testsuite/gas/riscv/zicondops.s        |  3 +++
>  include/opcode/riscv-opc.h                 |  8 ++++++++
>  include/opcode/riscv.h                     |  1 +
>  opcodes/riscv-opc.c                        |  4 ++++
>  8 files changed, 38 insertions(+)
>  create mode 100644 gas/testsuite/gas/riscv/zicondops-noarch.d
>  create mode 100644 gas/testsuite/gas/riscv/zicondops-noarch.l
>  create mode 100644 gas/testsuite/gas/riscv/zicondops.d
>  create mode 100644 gas/testsuite/gas/riscv/zicondops.s
> 
> 
> base-commit: cb44f89ce977b1ab2d4063f2487950bddfb75bc7


More information about the Binutils mailing list