diff options
-rw-r--r-- | unratified/rv32_p | 3 | ||||
-rw-r--r-- | unratified/rv64_p | 81 | ||||
-rw-r--r-- | unratified/rv_p (renamed from opcodes-rvp) | 81 | ||||
-rw-r--r-- | unratified/rv_zbp | 15 | ||||
-rw-r--r-- | unratified/rv_zbpbo | 6 |
5 files changed, 105 insertions, 81 deletions
diff --git a/unratified/rv32_p b/unratified/rv32_p new file mode 100644 index 0000000..b2172f5 --- /dev/null +++ b/unratified/rv32_p @@ -0,0 +1,3 @@ +add64 31..25=0b1100000 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 +sub64 31..25=0b1100001 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 + diff --git a/unratified/rv64_p b/unratified/rv64_p new file mode 100644 index 0000000..db8ec29 --- /dev/null +++ b/unratified/rv64_p @@ -0,0 +1,81 @@ +add32 31..25=0b0100000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +radd32 31..25=0b0000000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +uradd32 31..25=0b0010000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kadd32 31..25=0b0001000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +ukadd32 31..25=0b0011000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +sub32 31..25=0b0100001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +rsub32 31..25=0b0000001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +ursub32 31..25=0b0010001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +ksub32 31..25=0b0001001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +uksub32 31..25=0b0011001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +cras32 31..25=0b0100010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +rcras32 31..25=0b0000010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +urcras32 31..25=0b0010010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kcras32 31..25=0b0001010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +ukcras32 31..25=0b0011010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +crsa32 31..25=0b0100011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +rcrsa32 31..25=0b0000011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +urcrsa32 31..25=0b0010011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kcrsa32 31..25=0b0001011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +ukcrsa32 31..25=0b0011011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +stas32 31..25=0b1111000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +rstas32 31..25=0b1011000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +urstas32 31..25=0b1101000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kstas32 31..25=0b1100000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +ukstas32 31..25=0b1110000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +stsa32 31..25=0b1111001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +rstsa32 31..25=0b1011001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +urstsa32 31..25=0b1101001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kstsa32 31..25=0b1100001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +ukstsa32 31..25=0b1110001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +sra32 31..25=0b0101000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +srai32 31..25=0b0111000 imm5 rs1 14..12=0b010 rd 6..0=0b1110111 +sra32.u 31..25=0b0110000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +srai32.u 31..25=0b1000000 imm5 rs1 14..12=0b010 rd 6..0=0b1110111 +srl32 31..25=0b0101001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +srli32 31..25=0b0111001 imm5 rs1 14..12=0b010 rd 6..0=0b1110111 +srl32.u 31..25=0b0110001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +srli32.u 31..25=0b1000001 imm5 rs1 14..12=0b010 rd 6..0=0b1110111 +sll32 31..25=0b0101010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +slli32 31..25=0b0111010 imm5 rs1 14..12=0b010 rd 6..0=0b1110111 +ksll32 31..25=0b0110010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kslli32 31..25=0b1000010 imm5 rs1 14..12=0b010 rd 6..0=0b1110111 +kslra32 31..25=0b0101011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kslra32.u 31..25=0b0110011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +smin32 31..25=0b1001000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +umin32 31..25=0b1010000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +smax32 31..25=0b1001001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +umax32 31..25=0b1010001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kabs32 31..25=0b1010110 24..20=0b10010 rs1 14..12=0b000 rd 6..0=0b1110111 +khmbb16 31..25=0b1101110 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 +khmbt16 31..25=0b1110110 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 +khmtt16 31..25=0b1111110 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 +kdmbb16 31..25=0b1101101 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 +kdmbt16 31..25=0b1110101 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 +kdmtt16 31..25=0b1111101 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 +kdmabb16 31..25=0b1101100 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 +kdmabt16 31..25=0b1110100 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 +kdmatt16 31..25=0b1111100 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 +# smbb32 is missing +smbt32 31..25=0b0001100 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +smtt32 31..25=0b0010100 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kmabb32 31..25=0b0101101 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kmabt32 31..25=0b0110101 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kmatt32 31..25=0b0111101 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kmda32 31..25=0b0011100 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kmxda32 31..25=0b0011101 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +# kmada32 is missing +kmaxda32 31..25=0b0100101 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kmads32 31..25=0b0101110 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kmadrs32 31..25=0b0110110 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kmaxds32 31..25=0b0111110 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kmsda32 31..25=0b0100110 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +kmsxda32 31..25=0b0100111 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +smds32 31..25=0b0101100 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +smdrs32 31..25=0b0110100 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +smxds32 31..25=0b0111100 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +sraiw.u 31..25=0b0011010 imm5 rs1 14..12=0b001 rd 6..0=0b1110111 +pkbb32 31..25=0b0000111 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +pkbt32 31..25=0b0001111 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +pktt32 31..25=0b0010111 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 +pktb32 31..25=0b0011111 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 diff --git a/opcodes-rvp b/unratified/rv_p index 4cb8a68..c239c10 100644 --- a/opcodes-rvp +++ b/unratified/rv_p @@ -1,6 +1,5 @@ add8 31..25=0b0100100 rs2 rs1 14..12=0b000 rd 6..0=0b1110111 add16 31..25=0b0100000 rs2 rs1 14..12=0b000 rd 6..0=0b1110111 -add64 31..25=0b1100000 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 ave 31..25=0b1110000 rs2 rs1 14..12=0b000 rd 6..0=0b1110111 bitrev 31..25=0b1110011 rs2 rs1 14..12=0b000 rd 6..0=0b1110111 bitrevi 31..26=0b111010 imm6 rs1 14..12=0b000 rd 6..0=0b1110111 @@ -185,7 +184,6 @@ stas16 31..25=0b1111010 rs2 rs1 14..12=0b010 rd 6..0=0b11 stsa16 31..25=0b1111011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 sub8 31..25=0b0100101 rs2 rs1 14..12=0b000 rd 6..0=0b1110111 sub16 31..25=0b0100001 rs2 rs1 14..12=0b000 rd 6..0=0b1110111 -sub64 31..25=0b1100001 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 sunpkd810 31..25=0b1010110 24..20=0b01000 rs1 14..12=0b000 rd 6..0=0b1110111 sunpkd820 31..25=0b1010110 24..20=0b01001 rs1 14..12=0b000 rd 6..0=0b1110111 sunpkd830 31..25=0b1010110 24..20=0b01010 rs1 14..12=0b000 rd 6..0=0b1110111 @@ -245,82 +243,3 @@ zunpkd820 31..25=0b1010110 24..20=0b01101 rs1 14..12=0b000 rd 6..0=0b11 zunpkd830 31..25=0b1010110 24..20=0b01110 rs1 14..12=0b000 rd 6..0=0b1110111 zunpkd831 31..25=0b1010110 24..20=0b01111 rs1 14..12=0b000 rd 6..0=0b1110111 zunpkd832 31..25=0b1010110 24..20=0b10111 rs1 14..12=0b000 rd 6..0=0b1110111 -add32 31..25=0b0100000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -cras32 31..25=0b0100010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -crsa32 31..25=0b0100011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kabs32 31..25=0b1010110 24..20=0b10010 rs1 14..12=0b000 rd 6..0=0b1110111 -kadd32 31..25=0b0001000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kcras32 31..25=0b0001010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kcrsa32 31..25=0b0001011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kdmbb16 31..25=0b1101101 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 -kdmbt16 31..25=0b1110101 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 -kdmtt16 31..25=0b1111101 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 -kdmabb16 31..25=0b1101100 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 -kdmabt16 31..25=0b1110100 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 -kdmatt16 31..25=0b1111100 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 -khmbb16 31..25=0b1101110 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 -khmbt16 31..25=0b1110110 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 -khmtt16 31..25=0b1111110 rs2 rs1 14..12=0b001 rd 6..0=0b1110111 -kmabb32 31..25=0b0101101 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kmabt32 31..25=0b0110101 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kmatt32 31..25=0b0111101 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kmaxda32 31..25=0b0100101 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kmda32 31..25=0b0011100 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kmxda32 31..25=0b0011101 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kmads32 31..25=0b0101110 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kmadrs32 31..25=0b0110110 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kmaxds32 31..25=0b0111110 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kmsda32 31..25=0b0100110 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kmsxda32 31..25=0b0100111 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -ksll32 31..25=0b0110010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kslli32 31..25=0b1000010 imm5 rs1 14..12=0b010 rd 6..0=0b1110111 -kslra32 31..25=0b0101011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kslra32.u 31..25=0b0110011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kstas32 31..25=0b1100000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -kstsa32 31..25=0b1100001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -ksub32 31..25=0b0001001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -pkbb32 31..25=0b0000111 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -pkbt32 31..25=0b0001111 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -pktt32 31..25=0b0010111 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -pktb32 31..25=0b0011111 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -radd32 31..25=0b0000000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -rcras32 31..25=0b0000010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -rcrsa32 31..25=0b0000011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -rstas32 31..25=0b1011000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -rstsa32 31..25=0b1011001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -rsub32 31..25=0b0000001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -sll32 31..25=0b0101010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -slli32 31..25=0b0111010 imm5 rs1 14..12=0b010 rd 6..0=0b1110111 -smax32 31..25=0b1001001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -smbt32 31..25=0b0001100 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -smtt32 31..25=0b0010100 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -smds32 31..25=0b0101100 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -smdrs32 31..25=0b0110100 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -smxds32 31..25=0b0111100 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -smin32 31..25=0b1001000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -sra32 31..25=0b0101000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -sra32.u 31..25=0b0110000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -srai32 31..25=0b0111000 imm5 rs1 14..12=0b010 rd 6..0=0b1110111 -srai32.u 31..25=0b1000000 imm5 rs1 14..12=0b010 rd 6..0=0b1110111 -sraiw.u 31..25=0b0011010 imm5 rs1 14..12=0b001 rd 6..0=0b1110111 -srl32 31..25=0b0101001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -srl32.u 31..25=0b0110001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -srli32 31..25=0b0111001 imm5 rs1 14..12=0b010 rd 6..0=0b1110111 -srli32.u 31..25=0b1000001 imm5 rs1 14..12=0b010 rd 6..0=0b1110111 -stas32 31..25=0b1111000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -stsa32 31..25=0b1111001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -sub32 31..25=0b0100001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -ukadd32 31..25=0b0011000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -ukcras32 31..25=0b0011010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -ukcrsa32 31..25=0b0011011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -ukstas32 31..25=0b1110000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -ukstsa32 31..25=0b1110001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -uksub32 31..25=0b0011001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -umax32 31..25=0b1010001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -umin32 31..25=0b1010000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -uradd32 31..25=0b0010000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -urcras32 31..25=0b0010010 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -urcrsa32 31..25=0b0010011 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -urstas32 31..25=0b1101000 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -urstsa32 31..25=0b1101001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 -ursub32 31..25=0b0010001 rs2 rs1 14..12=0b010 rd 6..0=0b1110111 diff --git a/unratified/rv_zbp b/unratified/rv_zbp new file mode 100644 index 0000000..810fe9d --- /dev/null +++ b/unratified/rv_zbp @@ -0,0 +1,15 @@ +$import rv_zbb::andn +$import rv_zbb::orn +$import rv_zbb::xnor +$import rv_zbe::pack +$import rv_zbe::packh +$import rv_zbb::rol +$import rv_zbb::ror +grev rd rs1 rs2 31..25=52 14..12=5 6..2=0x0C 1..0=3 +gorc rd rs1 rs2 31..25=20 14..12=5 6..2=0x0C 1..0=3 +shfl rd rs1 rs2 31..25=4 14..12=1 6..2=0x0C 1..0=3 +unshfl rd rs1 rs2 31..25=4 14..12=5 6..2=0x0C 1..0=3 +xperm.n rd rs1 rs2 31..25=20 14..12=2 6..2=0x0C 1..0=3 +xperm.b rd rs1 rs2 31..25=20 14..12=4 6..2=0x0C 1..0=3 +xperm.h rd rs1 rs2 31..25=20 14..12=6 6..2=0x0C 1..0=3 +packu rd rs1 rs2 31..25=36 14..12=4 6..2=0x0C 1..0=3 diff --git a/unratified/rv_zbpbo b/unratified/rv_zbpbo new file mode 100644 index 0000000..356fbb2 --- /dev/null +++ b/unratified/rv_zbpbo @@ -0,0 +1,6 @@ +$import rv_zbe::pack +$import rv_zbp::packu +$import rv_zbb::max +$import rv_zbb::min +$import rv_zbt::cmix +$pseudo_op rv64_zbp::grevi rev8.h rd rs1 31..20=0x688 14..12=5 6..0=0x13 |