diff options
author | MITSUNARI Shigeo <[email protected]> | 2017-08-22 08:31:32 +0900 |
---|---|---|
committer | MITSUNARI Shigeo <[email protected]> | 2017-08-22 08:31:32 +0900 |
commit | d0b2fb623e2f9744a6f19fec7a2f51a8e908ea65 (patch) | |
tree | 8dfe0f9d52a4ef2707b6f9ec051e01e1a1ac90e2 | |
parent | f12b5678172e6ca402e3a9d8ee33dc3e6284c893 (diff) | |
download | xbyak-d0b2fb623e2f9744a6f19fec7a2f51a8e908ea65.tar.gz xbyak-d0b2fb623e2f9744a6f19fec7a2f51a8e908ea65.zip |
add bnd(0xf2) prefix for MPX
-rw-r--r-- | gen/gen_code.cpp | 1 | ||||
-rw-r--r-- | xbyak/xbyak_mnemonic.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/gen/gen_code.cpp b/gen/gen_code.cpp index 4e5fd89..734fd83 100644 --- a/gen/gen_code.cpp +++ b/gen/gen_code.cpp @@ -615,6 +615,7 @@ void put() //////////////////////////////////////////////////////////////// { const GenericTbl tbl[] = { + { "bnd", 0xf2 }, /* 0xf2 prefix for MPX */ { "cbw", 0x66, 0x98 }, { "cdq", 0x99 }, { "clc", 0xF8 }, diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h index 4dbadb6..74e9759 100644 --- a/xbyak/xbyak_mnemonic.h +++ b/xbyak/xbyak_mnemonic.h @@ -32,6 +32,7 @@ void blendvps(const Xmm& xmm, const Operand& op) { opGen(xmm, op, 0x14, 0x66, is void blsi(const Reg32e& r, const Operand& op) { opGpr(Reg32e(3, r.getBit()), op, r, T_0F38, 0xf3, false); } void blsmsk(const Reg32e& r, const Operand& op) { opGpr(Reg32e(2, r.getBit()), op, r, T_0F38, 0xf3, false); } void blsr(const Reg32e& r, const Operand& op) { opGpr(Reg32e(1, r.getBit()), op, r, T_0F38, 0xf3, false); } +void bnd() { db(0xF2); } void bndcl(const BoundsReg& bnd, const Operand& op) { db(0xF3); opR_ModM(op, i32e, bnd.getIdx(), 0x0F, 0x1A, NONE, !op.isMEM()); } void bndcn(const BoundsReg& bnd, const Operand& op) { db(0xF2); opR_ModM(op, i32e, bnd.getIdx(), 0x0F, 0x1B, NONE, !op.isMEM()); } void bndcu(const BoundsReg& bnd, const Operand& op) { db(0xF2); opR_ModM(op, i32e, bnd.getIdx(), 0x0F, 0x1A, NONE, !op.isMEM()); } |