forked from riscv/riscv-opcodes
-
Notifications
You must be signed in to change notification settings - Fork 7
/
opcodes-xpulpvectshufflepack_CUSTOM
29 lines (26 loc) · 1.56 KB
/
opcodes-xpulpvectshufflepack_CUSTOM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Xpulp extension subset: shuffle & pack operations
# format of a line in this file:
# <instruction name> <args> <opcode>
#
# <opcode> is given by specifying one or more range/value pairs:
# hi..lo=value or bit=value or arg=value (e.g. 6..2=0x45 10=1 rd=0)
#
# <args> is one of rd, rs1, rs2, rs3, aqrl, fm, pred, succ, rm,
# funct3, imm20, jimm20, imm12, imm12hi, bimm12hi, imm12lo,
# bimm12lo, zimm, shamt, shamtw, imm5, imm6, vd, vs3, vs1, vs2,
# vm, wd, amoop, nf, simm5, zimm11, prs3, L, uimms, Luimm5,
# vseglen, stagger_max, stagger_mask
# INFO: overlaps with opcodes-rvv
pv.shuffle.h rd rs1 rs2 31..27=24 26=0 25=0 14..12=0 6..2=0x15 1..0=3
pv.shuffle.sci.h rd rs1 imm6 31..27=24 26=0 14..12=6 6..2=0x15 1..0=3
pv.shuffle.b rd rs1 rs2 31..27=24 26=0 25=0 14..12=1 6..2=0x15 1..0=3
pv.shufflei0.sci.b rd rs1 imm6 31..27=24 26=0 14..12=7 6..2=0x15 1..0=3
pv.shufflei1.sci.b rd rs1 imm6 31..27=29 26=0 14..12=7 6..2=0x15 1..0=3
pv.shufflei2.sci.b rd rs1 imm6 31..27=30 26=0 14..12=7 6..2=0x15 1..0=3
pv.shufflei3.sci.b rd rs1 imm6 31..27=31 26=0 14..12=7 6..2=0x15 1..0=3
pv.shuffle2.h rd rs1 rs2 31..27=25 26=0 25=0 14..12=0 6..2=0x15 1..0=3
pv.shuffle2.b rd rs1 rs2 31..27=25 26=0 25=0 14..12=1 6..2=0x15 1..0=3
pv.pack rd rs1 rs2 31..27=26 26=0 25=0 14..12=0 6..2=0x15 1..0=3
pv.pack.h rd rs1 rs2 31..27=26 26=0 25=1 14..12=0 6..2=0x15 1..0=3
pv.packhi.b rd rs1 rs2 31..27=27 26=0 25=0 14..12=1 6..2=0x15 1..0=3
pv.packlo.b rd rs1 rs2 31..27=28 26=0 25=0 14..12=1 6..2=0x15 1..0=3