diff options
author | MITSUNARI Shigeo <[email protected]> | 2018-01-05 14:38:20 +0900 |
---|---|---|
committer | MITSUNARI Shigeo <[email protected]> | 2018-01-05 14:38:20 +0900 |
commit | 457f4fd060c0deb314caf2b7ada0b0326afee025 (patch) | |
tree | ec0417a956f28a17cf1d6828569ec4d2010bf9b9 /gen | |
parent | 5af0ba39771468d1438e8d768cda65e8eda75f5f (diff) | |
download | xbyak-457f4fd060c0deb314caf2b7ada0b0326afee025.tar.gz xbyak-457f4fd060c0deb314caf2b7ada0b0326afee025.zip |
add vpshufbitqmb
Diffstat (limited to 'gen')
-rw-r--r-- | gen/gen_avx512.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gen/gen_avx512.cpp b/gen/gen_avx512.cpp index 6f3ea78..5e0591e 100644 --- a/gen/gen_avx512.cpp +++ b/gen/gen_avx512.cpp @@ -694,6 +694,8 @@ void putMisc() puts("void vfpclassps(const Opmask& k, const Operand& op, uint8 imm) { if (!op.isBit(128|256|512)) throw Error(ERR_BAD_MEM_SIZE); Reg x = k; x.setBit(op.getBit()); opVex(x, 0, op, T_66 | T_0F3A | T_MUST_EVEX | T_YMM | T_EW0 | T_B32, 0x66, imm); }"); puts("void vfpclasssd(const Opmask& k, const Operand& op, uint8 imm) { if (!op.isXMEM()) throw Error(ERR_BAD_MEM_SIZE); opVex(k, 0, op, T_66 | T_0F3A | T_MUST_EVEX | T_EW1 | T_N8, 0x67, imm); }"); puts("void vfpclassss(const Opmask& k, const Operand& op, uint8 imm) { if (!op.isXMEM()) throw Error(ERR_BAD_MEM_SIZE); opVex(k, 0, op, T_66 | T_0F3A | T_MUST_EVEX | T_EW0 | T_N4, 0x67, imm); }"); + + puts("void vpshufbitqmb(const Opmask& k, const Xmm& x, const Operand& op) { opVex(k, &x, op, T_66 | T_0F38 | T_EW0 | T_YMM | T_MUST_EVEX, 0x8F); }"); } void putV4FMA() |