aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--unratified/rv32_p3
-rw-r--r--unratified/rv64_p81
-rw-r--r--unratified/rv_p (renamed from opcodes-rvp)81
-rw-r--r--unratified/rv_zbp15
-rw-r--r--unratified/rv_zbpbo6
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