[RFC 00/10] add the rest of riscv bitmapip-0.93 instructions

Eric Tang posted 10 patches 2 years, 7 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210918062816.7546-1-tangxingxin1008@gmail.com
Maintainers: Bin Meng <bin.meng@windriver.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>
target/riscv/bitmanip_helper.c          | 351 ++++++++++++++++++++++++
target/riscv/helper.h                   |  28 ++
target/riscv/insn32.decode              |  36 +++
target/riscv/insn_trans/trans_rvb.c.inc | 215 ++++++++++++++-
target/riscv/translate.c                |  14 +
5 files changed, 641 insertions(+), 3 deletions(-)
[RFC 00/10] add the rest of riscv bitmapip-0.93 instructions
Posted by Eric Tang 2 years, 7 months ago
These patches fixed some issues about srow/sroiw/clzw instructions and
add the rest of riscv bitmapip-0.93 instructions except fsri/fsriw &
bext/bdep & bextw/bdepw for opcode coding or name conflict problems. The
problems had been fixed in riscv bitmapip-1.0 version.

I have tested these bitmapip instructions, passed by compare the results
that produced by qemu and spike.

Please review and give your opinion kindly :)

Eric Tang (10):
  target/riscv: rvb: fixed an error about srow/sroiw instructions
  target/riscv: rvb: add carry-less multiply instructions
  target/riscv: rvb: add cmix/cmov instructions
  target/riscv: rvb: add generalized shuffle instructions
  target/riscv: rvb: add crossbar permutation instructions
  target/riscv: rvb: add bfp/bfpw instructions
  target/riscv: rvb: add CRC instructions
  target/riscv: rvb: add bit-matrix instructions
  target/riscv: rvb: fixed an issue about clzw instruction
  target/riscv: rvb: add funnel shfit instructions

 target/riscv/bitmanip_helper.c          | 351 ++++++++++++++++++++++++
 target/riscv/helper.h                   |  28 ++
 target/riscv/insn32.decode              |  36 +++
 target/riscv/insn_trans/trans_rvb.c.inc | 215 ++++++++++++++-
 target/riscv/translate.c                |  14 +
 5 files changed, 641 insertions(+), 3 deletions(-)

-- 
2.17.1


Re: [RFC 00/10] add the rest of riscv bitmapip-0.93 instructions
Posted by Alistair Francis 2 years, 7 months ago
On Sat, Sep 18, 2021 at 6:20 PM Eric Tang <tangxingxin1008@gmail.com> wrote:
>
> These patches fixed some issues about srow/sroiw/clzw instructions and
> add the rest of riscv bitmapip-0.93 instructions except fsri/fsriw &
> bext/bdep & bextw/bdepw for opcode coding or name conflict problems. The
> problems had been fixed in riscv bitmapip-1.0 version.
>
> I have tested these bitmapip instructions, passed by compare the results
> that produced by qemu and spike.
>
> Please review and give your opinion kindly :)

Hey Eric,

Thanks for the patches!

Unfortunately there is already a series "target/riscv: Update QEmu for
Zb[abcs] 1.0.0"
(https://www.mail-archive.com/qemu-devel@nongnu.org/msg839086.html)
that adds support for the v1.0.0 bit manip extension. That has been
reviewed and queued to be merged.

If you have fixes or features that apply on top of that please send
them though :)

Alistair

>
> Eric Tang (10):
>   target/riscv: rvb: fixed an error about srow/sroiw instructions
>   target/riscv: rvb: add carry-less multiply instructions
>   target/riscv: rvb: add cmix/cmov instructions
>   target/riscv: rvb: add generalized shuffle instructions
>   target/riscv: rvb: add crossbar permutation instructions
>   target/riscv: rvb: add bfp/bfpw instructions
>   target/riscv: rvb: add CRC instructions
>   target/riscv: rvb: add bit-matrix instructions
>   target/riscv: rvb: fixed an issue about clzw instruction
>   target/riscv: rvb: add funnel shfit instructions
>
>  target/riscv/bitmanip_helper.c          | 351 ++++++++++++++++++++++++
>  target/riscv/helper.h                   |  28 ++
>  target/riscv/insn32.decode              |  36 +++
>  target/riscv/insn_trans/trans_rvb.c.inc | 215 ++++++++++++++-
>  target/riscv/translate.c                |  14 +
>  5 files changed, 641 insertions(+), 3 deletions(-)
>
> --
> 2.17.1
>
>

Re: [RFC 00/10] add the rest of riscv bitmapip-0.93 instructions
Posted by eric tang 2 years, 7 months ago
Ok, thanks. ^ ^!

Alistair Francis <alistair23@gmail.com> 于2021年9月24日周五 下午12:39写道:

> On Sat, Sep 18, 2021 at 6:20 PM Eric Tang <tangxingxin1008@gmail.com>
> wrote:
> >
> > These patches fixed some issues about srow/sroiw/clzw instructions and
> > add the rest of riscv bitmapip-0.93 instructions except fsri/fsriw &
> > bext/bdep & bextw/bdepw for opcode coding or name conflict problems. The
> > problems had been fixed in riscv bitmapip-1.0 version.
> >
> > I have tested these bitmapip instructions, passed by compare the results
> > that produced by qemu and spike.
> >
> > Please review and give your opinion kindly :)
>
> Hey Eric,
>
> Thanks for the patches!
>
> Unfortunately there is already a series "target/riscv: Update QEmu for
> Zb[abcs] 1.0.0"
> (https://www.mail-archive.com/qemu-devel@nongnu.org/msg839086.html)
> that adds support for the v1.0.0 bit manip extension. That has been
> reviewed and queued to be merged.
>
> If you have fixes or features that apply on top of that please send
> them though :)
>
> Alistair
>
> >
> > Eric Tang (10):
> >   target/riscv: rvb: fixed an error about srow/sroiw instructions
> >   target/riscv: rvb: add carry-less multiply instructions
> >   target/riscv: rvb: add cmix/cmov instructions
> >   target/riscv: rvb: add generalized shuffle instructions
> >   target/riscv: rvb: add crossbar permutation instructions
> >   target/riscv: rvb: add bfp/bfpw instructions
> >   target/riscv: rvb: add CRC instructions
> >   target/riscv: rvb: add bit-matrix instructions
> >   target/riscv: rvb: fixed an issue about clzw instruction
> >   target/riscv: rvb: add funnel shfit instructions
> >
> >  target/riscv/bitmanip_helper.c          | 351 ++++++++++++++++++++++++
> >  target/riscv/helper.h                   |  28 ++
> >  target/riscv/insn32.decode              |  36 +++
> >  target/riscv/insn_trans/trans_rvb.c.inc | 215 ++++++++++++++-
> >  target/riscv/translate.c                |  14 +
> >  5 files changed, 641 insertions(+), 3 deletions(-)
> >
> > --
> > 2.17.1
> >
> >
>