You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
xUNPKD821 is not that trivial so probably it may be an instruction. #37 comment says there is no usecase for it.
If unpack instructions are not too common, they probably should be implemented via shuffles and/or shifts, e.g. ZUNPKD820 rd, rs1 => SLLI rd, rs1, 8; SRLI16 rd, rd, 8 ZUNPKD832 rd, rs1 => SHFLI rd, rs1, 8; SRLI16 rd, rd, 8
same for SUNPKD8XX with SRAI16
Other unpacks may be more tricky to implement in just two insns, e.g. ZUNPKD810 rd, rs1 => URSTSA16 rd, rs1, rs1; SHFLI rd, rd, 8
Actually it seems like ZUNPKD8XY rd, rs1 may be generalized via XPERM8 rd, rs1, rs2.
RS2 will contain the following:
So effectively any ZUNPKD is a LI + XPERM8.
While thees are very specific constants, I am still not sure if it is effective (i.e. more effective then shift + shuffle + SIMD shift).
The text was updated successfully, but these errors were encountered:
marcfedorow
changed the title
xUNPKD820 rd, rs1 insn should be an alias of SRxI16 rd, rs1, 8
xUNPKD831 rd, rs1 insn should be an alias of SRxI16 rd, rs1, 8
Dec 15, 2021
xUNPKD821 is not that trivial so probably it may be an instruction. #37 comment says there is no usecase for it.If unpack instructions are not too common, they probably should be implemented via shuffles and/or shifts, e.g.
ZUNPKD820 rd, rs1
=>SLLI rd, rs1, 8; SRLI16 rd, rd, 8
ZUNPKD832 rd, rs1
=>SHFLI rd, rs1, 8; SRLI16 rd, rd, 8
same for
SUNPKD8XX
withSRAI16
Other unpacks may be more tricky to implement in just two insns, e.g.
ZUNPKD810 rd, rs1
=>URSTSA16 rd, rs1, rs1; SHFLI rd, rd, 8
Actually it seems like
ZUNPKD8XY rd, rs1
may be generalized viaXPERM8 rd, rs1, rs2
.RS2 will contain the following:
So effectively any
ZUNPKD
is aLI + XPERM8
.While thees are very specific constants, I am still not sure if it is effective (i.e. more effective then shift + shuffle + SIMD shift).
The text was updated successfully, but these errors were encountered: