diff options
author | MITSUNARI Shigeo <[email protected]> | 2016-07-14 10:41:54 +0900 |
---|---|---|
committer | MITSUNARI Shigeo <[email protected]> | 2016-07-14 10:41:54 +0900 |
commit | 2540a7c6520c83eec214d481bfc3dc74cb0125a1 (patch) | |
tree | 9cbbc2fafd3b27459dc3b22d8124c08a856e6092 /gen | |
parent | cd650aba4d35a915275df13d0f3e06708f28b026 (diff) | |
download | xbyak-2540a7c6520c83eec214d481bfc3dc74cb0125a1.tar.gz xbyak-2540a7c6520c83eec214d481bfc3dc74cb0125a1.zip |
add vextractf{32x4,64x2,32x8,64x4}
Diffstat (limited to 'gen')
-rw-r--r-- | gen/gen_avx512.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gen/gen_avx512.cpp b/gen/gen_avx512.cpp index 1b0d489..a51a07a 100644 --- a/gen/gen_avx512.cpp +++ b/gen/gen_avx512.cpp @@ -224,6 +224,24 @@ void putShift() } } +void putEtc() +{ +/* +EVEX.256.66.0F3A.W0 19 VEXTRACTF32X4 xmm1/m128 {k1}{z}, ymm2, imm8 +EVEX.512.66.0F3A.W0 19 VEXTRACTF32x4 xmm1/m128 {k1}{z}, zmm2, imm8 + +EVEX.256.66.0F3A.W1 19 VEXTRACTF64X2 xmm1/m128 {k1}{z}, ymm2, imm8 +EVEX.512.66.0F3A.W1 19 VEXTRACTF64X2 xmm1/m128 {k1}{z}, zmm2, imm8 + +EVEX.512.66.0F3A.W0 1B VEXTRACTF32X8 ymm1/m256 {k1}{z}, zmm2, imm8 +EVEX.512.66.0F3A.W1 1B VEXTRACTF64x4 ymm1/m256 {k1}{z}, zmm2, imm8 +*/ + puts("void vextractf32x4(const Operand& op, const Ymm& y, uint8 imm) { opAVX_X_X_XMcvt(y, cvtIdx0(y), op, op.isXMM(), Operand::YMM, T_66 | T_0F3A | T_MUST_EVEX | T_EW0 | T_YMM, 0x19, imm); }"); + puts("void vextractf64x2(const Operand& op, const Ymm& y, uint8 imm) { opAVX_X_X_XMcvt(y, cvtIdx0(y), op, op.isXMM(), Operand::YMM, T_66 | T_0F3A | T_MUST_EVEX | T_EW1 | T_YMM, 0x19, imm); }"); + puts("void vextractf32x8(const Operand& op, const Zmm& z, uint8 imm) { opAVX_X_X_XMcvt(z, cvtIdx0(z), op, op.isXMM(), Operand::YMM, T_66 | T_0F3A | T_MUST_EVEX | T_EW0 | T_YMM, 0x1B, imm); }"); + puts("void vextractf64x4(const Operand& op, const Zmm& z, uint8 imm) { opAVX_X_X_XMcvt(z, cvtIdx0(z), op, op.isXMM(), Operand::YMM, T_66 | T_0F3A | T_MUST_EVEX | T_EW1 | T_YMM, 0x1B, imm); }"); +} + int main() { puts("#ifndef XBYAK_DISABLE_AVX512"); @@ -233,5 +251,6 @@ int main() putM_X(); putX_X_XM_IMM(); putShift(); + putEtc(); puts("#endif"); } |