Lines Matching defs:regop
452 void get_modrm(byte data, int* mod, int* regop, int* rm) {
454 *regop = ((data & 0x38) >> 3) | (rex_r() ? 8 : 0);
485 int MemoryFPUInstruction(int escape_opcode, int regop, byte* modrm_start);
515 int mod, regop, rm;
516 get_modrm(*modrmp, &mod, ®op, &rm);
639 int mod, regop, rm;
640 get_modrm(modrm, &mod, ®op, &rm);
642 const char* register_name = byte_size_operand_ ? NameOfByteCPURegister(regop)
643 : NameOfCPURegister(regop);
659 AppendToBuffer("%s %s,", mnem, NameOfXMMRegister(regop));
666 AppendToBuffer(",%s", NameOfXMMRegister(regop));
672 AppendToBuffer(",%s", NameOfXMMRegister(regop));
676 AppendToBuffer("%s %s,", mnem, NameOfXMMRegister(regop));
691 int mod, regop, rm;
692 get_modrm(modrm, &mod, ®op, &rm);
694 switch (regop) {
735 int mod, regop, rm;
736 get_modrm(modrm, &mod, ®op, &rm);
737 if (regop != 0) {
739 switch (regop) {
773 } else if (regop == 0) {
795 int mod, regop, rm;
796 get_modrm(modrm, &mod, ®op, &rm);
797 regop &= 0x7; // The REX.R bit does not affect the operation.
799 switch (regop) {
890 int mod, regop, rm, vvvv = vex_vreg();
891 get_modrm(*current, &mod, ®op, &rm);
894 AppendToBuffer("vbroadcastss %s,", NameOfAVXRegister(regop));
899 NameOfCPURegister(regop));
906 AppendToBuffer("v" #instruction " %s,%s,", NameOfAVXRegister(regop), \
920 AppendToBuffer("v" #instruction " %s,", NameOfAVXRegister(regop)); \
930 AppendToBuffer("" #instruction " %s,", NameOfAVXRegister(regop)); \
939 AppendToBuffer(#instruction " %s,%s,", NameOfAVXRegister(regop), \
967 int mod, regop, rm, vvvv = vex_vreg();
968 get_modrm(*current, &mod, ®op, &rm);
971 AppendToBuffer("vroundps %s,", NameOfAVXRegister(regop));
976 AppendToBuffer("vroundpd %s,", NameOfAVXRegister(regop));
981 AppendToBuffer("vroundss %s,%s,", NameOfAVXRegister(regop),
987 AppendToBuffer("vroundsd %s,%s,", NameOfAVXRegister(regop),
993 AppendToBuffer("vpblendw %s,%s,", NameOfAVXRegister(regop),
999 AppendToBuffer("vpalignr %s,%s,", NameOfAVXRegister(regop),
1007 AppendToBuffer(",%s,0x%x", NameOfAVXRegister(regop), *current++);
1012 AppendToBuffer(",%s,0x%x", NameOfAVXRegister(regop), *current++);
1017 AppendToBuffer(",%s,0x%x", NameOfAVXRegister(regop), *current++);
1022 AppendToBuffer(",%s,0x%x", NameOfAVXRegister(regop), *current++);
1025 AppendToBuffer("vpinsrb %s,%s,", NameOfAVXRegister(regop),
1031 AppendToBuffer("vinsertps %s,%s,", NameOfAVXRegister(regop),
1038 NameOfAVXRegister(regop), NameOfAVXRegister(vvvv));
1043 AppendToBuffer("vblendvps %s,%s,", NameOfAVXRegister(regop),
1050 AppendToBuffer("vblendvpd %s,%s,", NameOfAVXRegister(regop),
1057 AppendToBuffer("vpblendvb %s,%s,", NameOfAVXRegister(regop),
1067 int mod, regop, rm, vvvv = vex_vreg();
1068 get_modrm(*current, &mod, ®op, &rm);
1071 AppendToBuffer("vmovss %s,", NameOfAVXRegister(regop));
1083 AppendToBuffer(",%s", NameOfAVXRegister(regop));
1086 AppendToBuffer("vmovshdup %s,", NameOfAVXRegister(regop));
1091 NameOfAVXRegister(regop), NameOfAVXRegister(vvvv));
1096 NameOfCPURegister(regop));
1100 AppendToBuffer("vsqrtss %s,%s,", NameOfAVXRegister(regop),
1105 AppendToBuffer("vaddss %s,%s,", NameOfAVXRegister(regop),
1110 AppendToBuffer("vmulss %s,%s,", NameOfAVXRegister(regop),
1115 AppendToBuffer("vcvtss2sd %s,%s,", NameOfAVXRegister(regop),
1120 AppendToBuffer("vcvttps2dq %s,", NameOfAVXRegister(regop));
1124 AppendToBuffer("vsubss %s,%s,", NameOfAVXRegister(regop),
1129 AppendToBuffer("vminss %s,%s,", NameOfAVXRegister(regop),
1134 AppendToBuffer("vdivss %s,%s,", NameOfAVXRegister(regop),
1139 AppendToBuffer("vmaxss %s,%s,", NameOfAVXRegister(regop),
1144 AppendToBuffer("vmovdqu %s,", NameOfAVXRegister(regop));
1148 AppendToBuffer("vpshufhw %s,", NameOfAVXRegister(regop));
1155 AppendToBuffer(",%s", NameOfAVXRegister(regop));
1158 AppendToBuffer("vcvtdq2pd %s,", NameOfAVXRegister(regop));
1162 AppendToBuffer("vcmpss %s,%s,", NameOfAVXRegister(regop),
1172 int mod, regop, rm, vvvv = vex_vreg();
1173 get_modrm(*current, &mod, ®op, &rm);
1176 AppendToBuffer("vmovsd %s,", NameOfAVXRegister(regop));
1188 AppendToBuffer(",%s", NameOfAVXRegister(regop));
1191 AppendToBuffer("vmovddup %s,", NameOfAVXRegister(regop));
1196 NameOfAVXRegister(regop), NameOfAVXRegister(vvvv));
1201 NameOfCPURegister(regop));
1206 NameOfCPURegister(regop));
1210 AppendToBuffer("vlddqu %s,", NameOfAVXRegister(regop));
1214 AppendToBuffer("vpshuflw %s,", NameOfAVXRegister(regop));
1219 AppendToBuffer("vhaddps %s,%s,", NameOfAVXRegister(regop),
1224 AppendToBuffer("vcmpsd %s,%s,", NameOfAVXRegister(regop),
1232 AppendToBuffer("v" #instruction " %s,%s,", NameOfAVXRegister(regop), \
1242 int mod, regop, rm, vvvv = vex_vreg();
1243 get_modrm(*current, &mod, ®op, &rm);
1248 NameOfCPURegister(regop), NameOfCPURegister(vvvv));
1253 NameOfCPURegister(regop));
1259 NameOfCPURegister(regop));
1264 switch (regop) {
1286 int mod, regop, rm, vvvv = vex_vreg();
1287 get_modrm(*current, &mod, ®op, &rm);
1291 NameOfCPURegister(regop), NameOfCPURegister(vvvv));
1296 NameOfCPURegister(regop), NameOfCPURegister(vvvv));
1301 NameOfCPURegister(regop));
1309 int mod, regop, rm, vvvv = vex_vreg();
1310 get_modrm(*current, &mod, ®op, &rm);
1314 NameOfCPURegister(regop), NameOfCPURegister(vvvv));
1319 NameOfCPURegister(regop));
1327 int mod, regop, rm;
1328 get_modrm(*current, &mod, ®op, &rm);
1332 NameOfCPURegister(regop));
1350 int mod, regop, rm, vvvv = vex_vreg();
1351 get_modrm(*current, &mod, ®op, &rm);
1354 AppendToBuffer("vmovups %s,", NameOfAVXRegister(regop));
1360 AppendToBuffer(",%s", NameOfAVXRegister(regop));
1364 AppendToBuffer("vmovhlps %s,%s,", NameOfAVXRegister(regop),
1368 AppendToBuffer("vmovlps %s,%s,", NameOfAVXRegister(regop),
1376 AppendToBuffer(",%s", NameOfAVXRegister(regop));
1380 AppendToBuffer("vmovlhps %s,%s,", NameOfAVXRegister(regop),
1384 AppendToBuffer("vmovhps %s,%s,", NameOfAVXRegister(regop),
1392 AppendToBuffer(",%s", NameOfAVXRegister(regop));
1395 AppendToBuffer("vmovaps %s,", NameOfAVXRegister(regop));
1401 AppendToBuffer(",%s", NameOfAVXRegister(regop));
1404 AppendToBuffer("vucomiss %s,", NameOfAVXRegister(regop));
1408 AppendToBuffer("vmovmskps %s,", NameOfCPURegister(regop));
1412 AppendToBuffer("vcmpps %s,%s,", NameOfAVXRegister(regop),
1420 AppendToBuffer("vshufps %s,%s,", NameOfAVXRegister(regop),
1428 AppendToBuffer("v" #instruction " %s,", NameOfAVXRegister(regop)); \
1435 AppendToBuffer("v" #instruction " %s,%s,", NameOfAVXRegister(regop), \
1445 int mod, regop, rm, vvvv = vex_vreg();
1446 get_modrm(*current, &mod, ®op, &rm);
1449 AppendToBuffer("vmovupd %s,", NameOfAVXRegister(regop));
1455 AppendToBuffer(",%s", NameOfAVXRegister(regop));
1458 AppendToBuffer("vmovapd %s,", NameOfAVXRegister(regop));
1464 AppendToBuffer(",%s", NameOfAVXRegister(regop));
1467 AppendToBuffer("vmovmskpd %s,", NameOfCPURegister(regop));
1472 NameOfAVXRegister(regop));
1476 AppendToBuffer("vmovdqa %s,", NameOfAVXRegister(regop));
1480 AppendToBuffer("vpshufd %s,", NameOfAVXRegister(regop));
1485 AppendToBuffer("vps%sw %s,", sf_str[regop / 2],
1491 AppendToBuffer("vps%sd %s,", sf_str[regop / 2],
1497 AppendToBuffer("vps%sq %s,", sf_str[regop / 2],
1505 AppendToBuffer(",%s", NameOfAVXRegister(regop));
1508 AppendToBuffer("vcmppd %s,%s,", NameOfAVXRegister(regop),
1516 AppendToBuffer("vpinsrw %s,%s,", NameOfAVXRegister(regop),
1522 AppendToBuffer("vpextrw %s,", NameOfCPURegister(regop));
1527 AppendToBuffer("vpmovmskb %s,", NameOfCPURegister(regop));
1532 AppendToBuffer("v" #instruction " %s,%s,", NameOfAVXRegister(regop), \
1542 AppendToBuffer("v" #instruction " %s,", NameOfAVXRegister(regop)); \
1576 int regop = (modrm_byte >> 3) & 0x7; // reg/op field of modrm byte.
1579 switch (regop) {
1595 switch (regop) {
1614 switch (regop) {
1627 switch (regop) {
1838 int mod, regop, rm;
1839 get_modrm(*current, &mod, ®op, &rm);
1879 AppendToBuffer("movmskpd %s,", NameOfCPURegister(regop));
1886 AppendToBuffer("ps%sw %s,%d", sf_str[regop / 2], NameOfXMMRegister(rm),
1891 AppendToBuffer("ps%sd %s,%d", sf_str[regop / 2], NameOfXMMRegister(rm),
1896 AppendToBuffer("ps%sq %s,%d", sf_str[regop / 2], NameOfXMMRegister(rm),
1902 AppendToBuffer("cmppd %s,", NameOfXMMRegister(regop));
1921 AppendToBuffer("%s %s,", mnemonic, NameOfXMMRegister(regop));
1940 NameOfCPURegister(regop));
1945 NameOfCPURegister(regop));
1951 NameOfCPURegister(regop));
1961 NameOfXMMRegister(regop), NameOfXMMRegister(rm));
1986 NameOfCPURegister(regop));
2002 NameOfCPURegister(regop));
2006 NameOfCPURegister(regop));
2010 NameOfCPURegister(regop));
2014 NameOfXMMRegister(regop), NameOfXMMRegister(rm));
2085 AppendToBuffer("cmpps %s, ", NameOfXMMRegister(regop));
2091 AppendToBuffer("shufps %s, ", NameOfXMMRegister(regop));
2101 AppendToBuffer("movmskps %s,", NameOfCPURegister(regop));
2121 AppendToBuffer(",%s", NameOfCPURegister(regop));
2123 AppendToBuffer(",%s,cl", NameOfCPURegister(regop));
2127 mnemonic = regop == 5 ? "bts" : regop == 6 ? "btr" : "?";
2134 AppendToBuffer("%s,", NameOfCPURegister(regop));
2174 int mod, regop, rm;
2175 get_modrm(*current, &mod, ®op, &rm);
2494 int mod, regop, rm;
2495 get_modrm(*data, &mod, ®op, &rm);
2496 if (regop == 0) {
2504 int mod, regop, rm;
2505 get_modrm(*data, &mod, ®op, &rm);
2507 switch (regop) {
2526 if (regop <= 1) {
2571 int mod, regop, rm;
2573 get_modrm(*data, &mod, ®op, &rm);
2577 AppendToBuffer(",%s", NameOfByteCPURegister(regop));
2581 AppendToBuffer(",%s", NameOfCPURegister(regop));
2637 int mod, regop, rm;
2638 get_modrm(*data, &mod, ®op, &rm);
2639 if (regop == 1) {