Home | History | Annotate | Download | only in priv

Lines Matching defs:rm

352 /* Figure out whether the mod and rm parts of a modRM byte refer to a
1501 { UChar rm = mod_reg_rm;
1502 DIS(buf, "%s(%s)", sorbTxt(sorb), nameIReg(4,rm));
1505 handleSegOverride(sorb, getIReg(4,rm)));
1513 { UChar rm = toUChar(mod_reg_rm & 7);
1515 DIS(buf, "%s%d(%s)", sorbTxt(sorb), (Int)d, nameIReg(4,rm));
1519 binop(Iop_Add32,getIReg(4,rm),mkU32(d))));
1527 { UChar rm = toUChar(mod_reg_rm & 7);
1529 rm));
1533 binop(Iop_Add32,getIReg(4,rm),mkU32(d))));
1815 UChar rm = getUChar(delta0);
1825 if (epartIsReg(rm)) {
1831 && gregOfRM(rm) == eregOfRM(rm)) {
1832 putIReg(size, gregOfRM(rm), mkU(ty,0));
1834 assign( dst0, getIReg(size,gregOfRM(rm)) );
1835 assign( src, getIReg(size,eregOfRM(rm)) );
1840 putIReg(size, gregOfRM(rm), mkexpr(dst1));
1845 putIReg(size, gregOfRM(rm), mkexpr(dst1));
1853 putIReg(size, gregOfRM(rm), mkexpr(dst1));
1857 nameIReg(size,eregOfRM(rm)),
1858 nameIReg(size,gregOfRM(rm)));
1863 assign( dst0, getIReg(size,gregOfRM(rm)) );
1869 putIReg(size, gregOfRM(rm), mkexpr(dst1));
1874 putIReg(size, gregOfRM(rm), mkexpr(dst1));
1882 putIReg(size, gregOfRM(rm), mkexpr(dst1));
1886 dis_buf,nameIReg(size,gregOfRM(rm)));
1928 UChar rm = getIByte(delta0);
1938 if (epartIsReg(rm)) {
1944 && gregOfRM(rm) == eregOfRM(rm)) {
1945 putIReg(size, eregOfRM(rm), mkU(ty,0));
1947 assign(dst0, getIReg(size,eregOfRM(rm)));
1948 assign(src, getIReg(size,gregOfRM(rm)));
1953 putIReg(size, eregOfRM(rm), mkexpr(dst1));
1958 putIReg(size, eregOfRM(rm), mkexpr(dst1));
1966 putIReg(size, eregOfRM(rm), mkexpr(dst1));
1970 nameIReg(size,gregOfRM(rm)),
1971 nameIReg(size,eregOfRM(rm)));
1979 assign(src, getIReg(size,gregOfRM(rm)));
2022 nameIReg(size,gregOfRM(rm)), dis_buf);
2050 UChar rm = getIByte(delta0);
2053 if (epartIsReg(rm)) {
2054 putIReg(size, gregOfRM(rm), getIReg(size, eregOfRM(rm)));
2056 nameIReg(size,eregOfRM(rm)),
2057 nameIReg(size,gregOfRM(rm)));
2064 putIReg(size, gregOfRM(rm), loadLE(szToITy(size), mkexpr(addr)));
2066 dis_buf,nameIReg(size,gregOfRM(rm)));
2094 UChar rm = getIByte(delta0);
2097 if (epartIsReg(rm)) {
2098 putIReg(size, eregOfRM(rm), getIReg(size, gregOfRM(rm)));
2100 nameIReg(size,gregOfRM(rm)),
2101 nameIReg(size,eregOfRM(rm)));
2108 storeLE( mkexpr(addr), getIReg(size, gregOfRM(rm)) );
2110 nameIReg(size,gregOfRM(rm)), dis_buf);
2170 UChar rm = getIByte(delta);
2171 if (epartIsReg(rm)) {
2174 putIReg(szd, gregOfRM(rm),
2175 getIReg(szs,eregOfRM(rm)));
2178 putIReg(szd, gregOfRM(rm),
2180 getIReg(szs,eregOfRM(rm))));
2184 nameIReg(szs,eregOfRM(rm)),
2185 nameIReg(szd,gregOfRM(rm)));
2196 putIReg(szd, gregOfRM(rm),
2200 putIReg(szd, gregOfRM(rm),
2206 dis_buf, nameIReg(szd,gregOfRM(rm)));
3298 UChar rm = getIByte(delta0);
3304 assign( tg, getIReg(size, gregOfRM(rm)) );
3305 if (epartIsReg(rm)) {
3306 assign( te, getIReg(size, eregOfRM(rm)) );
3316 putIReg(size, gregOfRM(rm), mkexpr(resLo) );
3318 if (epartIsReg(rm)) {
3320 nameIReg(size,eregOfRM(rm)),
3321 nameIReg(size,gregOfRM(rm)));
3325 dis_buf, nameIReg(size,gregOfRM(rm)));
3340 UChar rm = getIByte(delta);
3348 if (epartIsReg(rm)) {
3349 assign(te, getIReg(size, eregOfRM(rm)));
3368 putIReg(size, gregOfRM(rm), mkexpr(resLo));
3371 ( epartIsReg(rm) ? nameIReg(size,eregOfRM(rm)) : dis_buf ),
3372 nameIReg(size,gregOfRM(rm)) );
5573 UChar rm = getIByte(delta);
5579 if (epartIsReg(rm)) {
5580 assign( amt, unop(Iop_64to32, getMMXReg(eregOfRM(rm))) );
5582 nameMMXReg(eregOfRM(rm)),
5583 nameMMXReg(gregOfRM(rm)) );
5590 nameMMXReg(gregOfRM(rm)) );
5593 assign( g0, getMMXReg(gregOfRM(rm)) );
5634 putMMXReg( gregOfRM(rm), mkexpr(g1) );
5646 UChar rm = getIByte(delta);
5650 vassert(epartIsReg(rm));
5651 vassert(gregOfRM(rm) == 2
5652 || gregOfRM(rm) == 4 || gregOfRM(rm) == 6);
5657 nameMMXReg(eregOfRM(rm)) );
5659 assign( e0, getMMXReg(eregOfRM(rm)) );
5691 putMMXReg( eregOfRM(rm), mkexpr(e1) );
6514 UChar rm = getUChar(delta0);
6526 if (epartIsReg(rm)) {
6528 assign( dest, getIReg(size, eregOfRM(rm)) );
6530 assign( src, getIReg(size, gregOfRM(rm)) );
6537 putIReg(size, eregOfRM(rm), mkexpr(dest2));
6539 nameIReg(size,gregOfRM(rm)),
6540 nameIReg(size,eregOfRM(rm)) );
6542 else if (!epartIsReg(rm) && !locked) {
6547 assign( src, getIReg(size, gregOfRM(rm)) );
6556 nameIReg(size,gregOfRM(rm)), dis_buf);
6558 else if (!epartIsReg(rm) && locked) {
6566 assign( src, getIReg(size, gregOfRM(rm)) );
6577 nameIReg(size,gregOfRM(rm)), dis_buf);
6608 UChar rm = getIByte(delta0);
6616 if (epartIsReg(rm)) {
6617 assign( tmps, getIReg(sz, eregOfRM(rm)) );
6618 assign( tmpd, getIReg(sz, gregOfRM(rm)) );
6620 putIReg(sz, gregOfRM(rm),
6628 nameIReg(sz,eregOfRM(rm)),
6629 nameIReg(sz,gregOfRM(rm)));
6637 assign( tmpd, getIReg(sz, gregOfRM(rm)) );
6639 putIReg(sz, gregOfRM(rm),
6649 nameIReg(sz,gregOfRM(rm)));
6660 UChar rm = getIByte(delta0);
6679 if (epartIsReg(rm)) {
6681 assign( tmpd, getIReg(sz, eregOfRM(rm)));
6682 assign( tmpt0, getIReg(sz, gregOfRM(rm)) );
6686 putIReg(sz, eregOfRM(rm), mkexpr(tmpt1));
6687 putIReg(sz, gregOfRM(rm), mkexpr(tmpd));
6689 nameISize(sz), nameIReg(sz,gregOfRM(rm)),
6690 nameIReg(sz,eregOfRM(rm)));
6694 else if (!epartIsReg(rm) && !locked) {
6698 assign( tmpt0, getIReg(sz, gregOfRM(rm)) );
6703 putIReg(sz, gregOfRM(rm), mkexpr(tmpd));
6705 nameISize(sz), nameIReg(sz,gregOfRM(rm)), dis_buf);
6709 else if (!epartIsReg(rm) && locked) {
6713 assign( tmpt0, getIReg(sz, gregOfRM(rm)) );
6719 putIReg(sz, gregOfRM(rm), mkexpr(tmpd));
6721 nameISize(sz), nameIReg(sz,gregOfRM(rm)), dis_buf);
6736 UChar rm = getIByte(delta0);
6739 if (epartIsReg(rm)) {
6740 putSReg( gregOfRM(rm), getIReg(2, eregOfRM(rm)) );
6741 DIP("movw %s,%s\n", nameIReg(2,eregOfRM(rm)), nameSReg(gregOfRM(rm)));
6745 putSReg( gregOfRM(rm), loadLE(Ity_I16, mkexpr(addr)) );
6746 DIP("movw %s,%s\n", dis_buf, nameSReg(gregOfRM(rm)));
6761 UChar rm = getIByte(delta0);
6766 if (epartIsReg(rm)) {
6768 putIReg(4, eregOfRM(rm), unop(Iop_16Uto32, getSReg(gregOfRM(rm))));
6770 putIReg(2, eregOfRM(rm), getSReg(gregOfRM(rm)));
6772 DIP("mov %s,%s\n", nameSReg(gregOfRM(rm)), nameIReg(sz,eregOfRM(rm)));
6776 storeLE( mkexpr(addr), getSReg(gregOfRM(rm)) );
6777 DIP("mov %s,%s\n", nameSReg(gregOfRM(rm)), dis_buf);
6840 UChar rm = getIByte(delta);
6842 = invertG ? unop(Iop_NotV128, getXMMReg(gregOfRM(rm)))
6843 : getXMMReg(gregOfRM(rm));
6844 if (epartIsReg(rm)) {
6845 putXMMReg( gregOfRM(rm),
6847 getXMMReg(eregOfRM(rm))) );
6849 nameXMMReg(eregOfRM(rm)),
6850 nameXMMReg(gregOfRM(rm)) );
6854 putXMMReg( gregOfRM(rm),
6859 nameXMMReg(gregOfRM(rm)) );
6891 UChar rm = getIByte(delta);
6892 IRExpr* gpart = getXMMReg(gregOfRM(rm));
6893 if (epartIsReg(rm)) {
6894 putXMMReg( gregOfRM(rm),
6896 getXMMReg(eregOfRM(rm))) );
6898 nameXMMReg(eregOfRM(rm)),
6899 nameXMMReg(gregOfRM(rm)) );
6908 putXMMReg( gregOfRM(rm),
6912 nameXMMReg(gregOfRM(rm)) );
6926 UChar rm = getIByte(delta);
6927 IRExpr* gpart = getXMMReg(gregOfRM(rm));
6928 if (epartIsReg(rm)) {
6929 putXMMReg( gregOfRM(rm),
6931 getXMMReg(eregOfRM(rm))) );
6933 nameXMMReg(eregOfRM(rm)),
6934 nameXMMReg(gregOfRM(rm)) );
6943 putXMMReg( gregOfRM(rm),
6947 nameXMMReg(gregOfRM(rm)) );
6963 UChar rm = getIByte(delta);
6964 if (epartIsReg(rm)) {
6965 putXMMReg( gregOfRM(rm),
6966 unop(op, getXMMReg(eregOfRM(rm))) );
6968 nameXMMReg(eregOfRM(rm)),
6969 nameXMMReg(gregOfRM(rm)) );
6973 putXMMReg( gregOfRM(rm),
6977 nameXMMReg(gregOfRM(rm)) );
6995 UChar rm = getIByte(delta);
6999 assign( oldG0, getXMMReg(gregOfRM(rm)) );
7001 if (epartIsReg(rm)) {
7005 getXMMRegLane32(eregOfRM(rm), 0)) );
7006 putXMMReg( gregOfRM(rm), unop(op, mkexpr(oldG1)) );
7008 nameXMMReg(eregOfRM(rm)),
7009 nameXMMReg(gregOfRM(rm)) );
7017 putXMMReg( gregOfRM(rm), unop(op, mkexpr(oldG1)) );
7020 nameXMMReg(gregOfRM(rm)) );
7038 UChar rm = getIByte(delta);
7042 assign( oldG0, getXMMReg(gregOfRM(rm)) );
7044 if (epartIsReg(rm)) {
7048 getXMMRegLane64(eregOfRM(rm), 0)) );
7049 putXMMReg( gregOfRM(rm), unop(op, mkexpr(oldG1)) );
7051 nameXMMReg(eregOfRM(rm)),
7052 nameXMMReg(gregOfRM(rm)) );
7060 putXMMReg( gregOfRM(rm), unop(op, mkexpr(oldG1)) );
7063 nameXMMReg(gregOfRM(rm)) );
7082 UChar rm = getIByte(delta);
7083 IRExpr* gpart = getXMMReg(gregOfRM(rm));
7085 if (epartIsReg(rm)) {
7086 epart = getXMMReg(eregOfRM(rm));
7088 nameXMMReg(eregOfRM(rm)),
7089 nameXMMReg(gregOfRM(rm)) );
7096 nameXMMReg(gregOfRM(rm)) );
7099 putXMMReg( gregOfRM(rm),
7169 UChar rm = getIByte(delta);
7172 if (epartIsReg(rm)) {
7175 assign( plain, binop(op, getXMMReg(gregOfRM(rm)),
7176 getXMMReg(eregOfRM(rm))) );
7180 nameXMMReg(eregOfRM(rm)),
7181 nameXMMReg(gregOfRM(rm)) );
7189 getXMMReg(gregOfRM(rm)),
7199 nameXMMReg(gregOfRM(rm)) );
7203 putXMMReg( gregOfRM(rm),
7209 putXMMReg( gregOfRM(rm),
7213 putXMMReg( gregOfRM(rm), mkexpr(plain) );
7230 UChar rm = getIByte(delta);
7235 if (epartIsReg(rm)) {
7236 assign( amt, getXMMRegLane32(eregOfRM(rm), 0) );
7238 nameXMMReg(eregOfRM(rm)),
7239 nameXMMReg(gregOfRM(rm)) );
7246 nameXMMReg(gregOfRM(rm)) );
7249 assign( g0, getXMMReg(gregOfRM(rm)) );
7290 putXMMReg( gregOfRM(rm), mkexpr(g1) );
7301 UChar rm = getIByte(delta);
7305 vassert(epartIsReg(rm));
7306 vassert(gregOfRM(rm) == 2
7307 || gregOfRM(rm) == 4 || gregOfRM(rm) == 6);
7312 nameXMMReg(eregOfRM(rm)) );
7313 assign( e0, getXMMReg(eregOfRM(rm)) );
7345 putXMMReg( eregOfRM(rm), mkexpr(e1) );
13391 delta++; /* mod/rm byte */
13669 UChar rm = getIByte(delta);
13672 if (epartIsReg(rm) || gregOfRM(rm) != 0)