# This file contains unratified instructions that have been proposed
# by the Bit Manipulation TG but have not been ratified.  (Spike
# supports them via the Xbitmanip extension, hence the filename.)

slo        rd rs1 rs2 31..25=16 14..12=1 6..2=0x0C 1..0=3
sro        rd rs1 rs2 31..25=16 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
grev       rd rs1 rs2 31..25=52 14..12=5 6..2=0x0C 1..0=3

sloi       rd rs1 31..26=8  shamt 14..12=1 6..2=0x04 1..0=3
sroi       rd rs1 31..26=8  shamt 14..12=5 6..2=0x04 1..0=3

# These are marked as pseudos to avoid conflicting with orc.b and rev8
@gorci     rd rs1 31..26=10 shamt 14..12=5 6..2=0x04 1..0=3
@grevi     rd rs1 31..26=26 shamt 14..12=5 6..2=0x04 1..0=3

cmix       rd rs1 rs2 rs3 26..25=3 14..12=1 6..2=0x0C 1..0=3
cmov       rd rs1 rs2 rs3 26..25=3 14..12=5 6..2=0x0C 1..0=3

fsl        rd rs1 rs2 rs3 26..25=2 14..12=1 6..2=0x0C 1..0=3
fsr        rd rs1 rs2 rs3 26..25=2 14..12=5 6..2=0x0C 1..0=3
fsri       rd rs1 shamt rs3   26=1 14..12=5 6..2=0x04 1..0=3

crc32.b    rd rs1 31..20=0x610 14..12=1 6..2=0x04 1..0=3
crc32.h    rd rs1 31..20=0x611 14..12=1 6..2=0x04 1..0=3
crc32.w    rd rs1 31..20=0x612 14..12=1 6..2=0x04 1..0=3
crc32c.b   rd rs1 31..20=0x618 14..12=1 6..2=0x04 1..0=3
crc32c.h   rd rs1 31..20=0x619 14..12=1 6..2=0x04 1..0=3
crc32c.w   rd rs1 31..20=0x61A 14..12=1 6..2=0x04 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
bcompress  rd rs1 rs2 31..25=4  14..12=6 6..2=0x0C 1..0=3
bdecompress rd rs1 rs2 31..25=36 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
bfp        rd rs1 rs2 31..25=36 14..12=7 6..2=0x0C 1..0=3

shfli      rd rs1 31..25=4 shamtw 14..12=1 6..2=0x04 1..0=3
unshfli    rd rs1 31..25=4 shamtw 14..12=5 6..2=0x04 1..0=3

xperm16    rd rs1 rs2 31..25=20 14..12=6 6..2=0x0C 1..0=3
