diff options
author | Andrew Waterman <andrew@sifive.com> | 2022-02-13 05:12:46 -0800 |
---|---|---|
committer | Andrew Waterman <andrew@sifive.com> | 2022-02-13 05:12:46 -0800 |
commit | 2497a8cc120a9d30d0cc9bf01372dc2efbefbc25 (patch) | |
tree | 0c3c894abe4131379d0dc0cf247ba564b6dc7ae2 /opcodes-rv32zbb | |
parent | 9780234be4e34702f69d7bcce503f488cf14b327 (diff) | |
download | riscv-opcodes-2497a8cc120a9d30d0cc9bf01372dc2efbefbc25.zip riscv-opcodes-2497a8cc120a9d30d0cc9bf01372dc2efbefbc25.tar.gz riscv-opcodes-2497a8cc120a9d30d0cc9bf01372dc2efbefbc25.tar.bz2 |
Clean up handling of bitmanip extensions
There's no such thing as "B", which continues to be a source of
confusion. Time to fix that.
cc @ben-marshall since I added Zbkb/Zbkx.
Resolves #101
Diffstat (limited to 'opcodes-rv32zbb')
-rw-r--r-- | opcodes-rv32zbb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/opcodes-rv32zbb b/opcodes-rv32zbb new file mode 100644 index 0000000..ed80dfe --- /dev/null +++ b/opcodes-rv32zbb @@ -0,0 +1,24 @@ +andn rd rs1 rs2 31..25=32 14..12=7 6..2=0x0C 1..0=3 +orn rd rs1 rs2 31..25=32 14..12=6 6..2=0x0C 1..0=3 +xnor rd rs1 rs2 31..25=32 14..12=4 6..2=0x0C 1..0=3 + +rol rd rs1 rs2 31..25=48 14..12=1 6..2=0x0C 1..0=3 +ror rd rs1 rs2 31..25=48 14..12=5 6..2=0x0C 1..0=3 + +rori rd rs1 31..26=24 shamt 14..12=5 6..2=0x04 1..0=3 + +clz rd rs1 31..20=0x600 14..12=1 6..2=0x04 1..0=3 +ctz rd rs1 31..20=0x601 14..12=1 6..2=0x04 1..0=3 +cpop rd rs1 31..20=0x602 14..12=1 6..2=0x04 1..0=3 +sext.b rd rs1 31..20=0x604 14..12=1 6..2=0x04 1..0=3 +sext.h rd rs1 31..20=0x605 14..12=1 6..2=0x04 1..0=3 + +min rd rs1 rs2 31..25=5 14..12=4 6..2=0x0C 1..0=3 +minu rd rs1 rs2 31..25=5 14..12=5 6..2=0x0C 1..0=3 +max rd rs1 rs2 31..25=5 14..12=6 6..2=0x0C 1..0=3 +maxu rd rs1 rs2 31..25=5 14..12=7 6..2=0x0C 1..0=3 + +orc.b rd rs1 31..26=10 25..20=7 14..12=5 6..2=0x04 1..0=3 + +@rev8.rv32 rd rs1 31..26=26 25..20=24 14..12=5 6..2=0x04 1..0=3 +@zext.h.rv32 rd rs1 31..25=4 24..20=0 14..12=4 6..2=0x0C 1..0=3 |