e2k: add qpack* from v7

This commit is contained in:
Denis Drakhnia 2024-02-14 15:56:29 +02:00
parent a1a54bb46f
commit bf3961270b
2 changed files with 17 additions and 0 deletions

View File

@ -801,6 +801,10 @@ enum {
OP_QPLOG_0x00,
OP_QPLOG_0x80,
OP_QPSRAD,
OP_QPACKHBSS,
OP_QPACKHBUS,
OP_QPACKWHSS,
OP_QPACKWHUS,
};
typedef enum {
@ -1826,6 +1830,10 @@ static AlopDesc alops[] = {
{ X(OP_QPFMSAS), ALOPF21, ARGS_PPPP, ALOP_EXT2, 0x12, 6, -1, CHAN_012345, { -1 }, 0xc0 },
{ X(OP_QPFMASD), ALOPF21, ARGS_PPPP, ALOP_EXT2, 0x11, 6, -1, CHAN_012345, { -1 }, 0xc0 },
{ X(OP_QPFMSAD), ALOPF21, ARGS_PPPP, ALOP_EXT2, 0x13, 6, -1, CHAN_012345, { -1 }, 0xc0 },
{ X(OP_QPACKHBSS), ALOPF11, ARGS_PPP, ALOP_EXT2, 0x16, 7, -1, CHAN_0134, { -1 }, 0xc0, 0 },
{ X(OP_QPACKHBUS), ALOPF11, ARGS_PPP, ALOP_EXT2, 0x16, 7, -1, CHAN_0134, { -1 }, 0xc1, 0 },
{ X(OP_QPACKWHSS), ALOPF11, ARGS_PPP, ALOP_EXT2, 0x16, 7, -1, CHAN_0134, { -1 }, 0xc2, 0 },
{ X(OP_QPACKWHUS), ALOPF11, ARGS_PPP, ALOP_EXT2, 0x16, 7, -1, CHAN_0134, { -1 }, 0xc3, 0 },
};
#undef X

View File

@ -3602,6 +3602,11 @@ IMPL_GEN_ALOPF1_ALT_QQQ(gen_qpacksswh, gen_helper_packsswh)
IMPL_GEN_ALOPF1_ALT_QQQ(gen_qpackushb, gen_helper_packushb)
IMPL_GEN_ALOPF1_ALT_QQQ(gen_qpackuswh, gen_helper_packuswh)
IMPL_GEN_ALOPF1_ALT_QQQ(gen_qpackhbss, gen_helper_packsshb)
IMPL_GEN_ALOPF1_ALT_QQQ(gen_qpackwhss, gen_helper_packsswh)
IMPL_GEN_ALOPF1_ALT_QQQ(gen_qpackhbus, gen_helper_packushb)
IMPL_GEN_ALOPF1_ALT_QQQ(gen_qpackwhus, gen_helper_packuswh)
#define IMPL_GEN_ALOPF1_QDQ(name, op) \
static void name(TCGv_i128 ret, TCGv_i128 s1, TCGv_i64 s2) \
{ \
@ -5860,6 +5865,10 @@ static AlopResult gen_alop_simple(Alop *alop)
case OP_CCTOPLE: return gen_alopf8(alop, X86_ZF | X86_SF | X86_OF);
case OP_ICALLD: return gen_icalld(alop);
case OP_IBRANCHD: return gen_ibranchd(alop);
case OP_QPACKHBSS: return gen_alopf1_qqq(alop, gen_qpackhbss);
case OP_QPACKHBUS: return gen_alopf1_qqq(alop, gen_qpackhbus);
case OP_QPACKWHSS: return gen_alopf1_qqq(alop, gen_qpackwhss);
case OP_QPACKWHUS: return gen_alopf1_qqq(alop, gen_qpackwhus);
case OP_VFSI:
case OP_MOVTRS:
case OP_MOVTRCS: