Skip to content
Open
20 changes: 20 additions & 0 deletions opcodes-shuffling
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Floating-point shuffling instructions

# 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

vfshuffle.s rd rs1 rs2 31..30=2 29..25=0x1F 14=0 13..12=0 6..2=0x0C 1..0=3
vfshuffle.h rd rs1 rs2 31..30=2 29..25=0x1F 14=0 13..12=2 6..2=0x0C 1..0=3
vfshuffle.b rd rs1 rs2 31..30=2 29..25=0x1F 14=0 13..12=3 6..2=0x0C 1..0=3
vfshuffle2.s rd rs1 rs2 31..30=2 29..25=0x1F 14=1 13..12=0 6..2=0x0C 1..0=3
vfshuffle2.h rd rs1 rs2 31..30=2 29..25=0x1F 14=1 13..12=2 6..2=0x0C 1..0=3
vfshuffle2.b rd rs1 rs2 31..30=2 29..25=0x1F 14=1 13..12=3 6..2=0x0C 1..0=3