aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <[email protected]>2024-10-07 15:44:18 +0900
committerMITSUNARI Shigeo <[email protected]>2024-10-07 15:44:18 +0900
commitcb85e7f6f476c114be8c065eebb3ce66b8e192dd (patch)
tree8efc8f457ec483d8872fc7b8794ba84dbbc4557e
parent900c984dd1fd3b7e57717b7904de6e1eacc1fde8 (diff)
downloadxbyak-cb85e7f6f476c114be8c065eebb3ce66b8e192dd.tar.gz
xbyak-cb85e7f6f476c114be8c065eebb3ce66b8e192dd.zip
define B4 and U in evex
-rw-r--r--xbyak/xbyak.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index 292fcc7..d53b37b 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -1897,8 +1897,8 @@ private:
bool R = reg.isExtIdx();
bool X3 = (x && x->isExtIdx()) || (base.isSIMD() && base.isExtIdx2());
- bool B4 = base.isREG() && base.isExtIdx2();
- bool X4 = x && (x->isREG() && x->isExtIdx2());
+ uint8_t B4 = (base.isREG() && base.isExtIdx2()) ? 8 : 0;
+ uint8_t U = (x && (x->isREG() && x->isExtIdx2())) ? 0 : 4;
bool B = base.isExtIdx();
bool Rp = reg.isExtIdx2();
int LL;
@@ -1935,8 +1935,8 @@ private:
if (aaa == 0) aaa = verifyDuplicate(base.getOpmaskIdx(), reg.getOpmaskIdx(), (v ? v->getOpmaskIdx() : 0), ERR_OPMASK_IS_ALREADY_SET);
if (aaa == 0) z = 0; // clear T_z if mask is not set
db(0x62);
- db((R ? 0 : 0x80) | (X3 ? 0 : 0x40) | (B ? 0 : 0x20) | (Rp ? 0 : 0x10) | (B4 ? 8 : 0) | mmm);
- db((w == 1 ? 0x80 : 0) | ((vvvv & 15) << 3) | (X4 ? 0 : 4) | (pp & 3));
+ db((R ? 0 : 0x80) | (X3 ? 0 : 0x40) | (B ? 0 : 0x20) | (Rp ? 0 : 0x10) | B4 | mmm);
+ db((w == 1 ? 0x80 : 0) | ((vvvv & 15) << 3) | U | (pp & 3));
db((z ? 0x80 : 0) | ((LL & 3) << 5) | (b ? 0x10 : 0) | (V4 ? 0 : 8) | (aaa & 7));
db(code);
return disp8N;