Home | History | Annotate | Download | only in ia32

Lines Matching defs:EMIT

338 // Emit a single byte. Must always be inlined.
339 #define EMIT(x) \
404 EMIT(0x90);
413 EMIT(0x66);
415 EMIT(0x90);
418 EMIT(0xf);
419 EMIT(0x1f);
420 EMIT(0);
423 EMIT(0xf);
424 EMIT(0x1f);
425 EMIT(0x40);
426 EMIT(0);
429 EMIT(0x66);
431 EMIT(0xf);
432 EMIT(0x1f);
433 EMIT(0x44);
434 EMIT(0);
435 EMIT(0);
438 EMIT(0xf);
439 EMIT(0x1f);
440 EMIT(0x80);
441 EMIT(0);
442 EMIT(0);
443 EMIT(0);
444 EMIT(0);
448 EMIT(0x66);
451 EMIT(0x66);
454 EMIT(0x66);
457 EMIT(0xf);
458 EMIT(0x1f);
459 EMIT(0x84);
460 EMIT(0);
461 EMIT(0);
462 EMIT(0);
463 EMIT(0);
464 EMIT(0);
479 EMIT(0x0F);
480 EMIT(0xA2);
486 EMIT(0x60);
492 EMIT(0x61);
498 EMIT(0x9C);
504 EMIT(0x9D);
511 EMIT(0x6a);
512 EMIT(x.x_);
514 EMIT(0x68);
515 emit(x);
522 EMIT(0x68);
523 emit(imm32);
529 EMIT(0x50 | src.code());
535 EMIT(0xFF);
543 EMIT(0x58 | dst.code());
549 EMIT(0x8F);
556 EMIT(0xC8);
558 EMIT(0);
564 EMIT(0xC9);
571 EMIT(0x8A);
578 EMIT(0xC6);
580 EMIT(imm8);
587 EMIT(0x88);
594 EMIT(0x66);
595 EMIT(0x8B);
602 EMIT(0x66);
603 EMIT(0x89);
610 EMIT(0xB8 | dst.code());
611 emit(imm32);
617 EMIT(0xB8 | dst.code());
618 emit(x);
624 EMIT(0xB8 | dst.code());
625 emit(handle);
631 EMIT(0x8B);
638 EMIT(0x89);
639 EMIT(0xC0 | src.code() << 3 | dst.code());
645 EMIT(0xC7);
647 emit(x);
653 EMIT(0xC7);
655 emit(handle);
661 EMIT(0x89);
668 EMIT(0x0F);
669 EMIT(0xBE);
676 EMIT(0x0F);
677 EMIT(0xBF);
684 EMIT(0x0F);
685 EMIT(0xB6);
692 EMIT(0x0F);
693 EMIT(0xB7);
702 EMIT(0x0F);
703 EMIT(0x40 + cc);
710 EMIT(0xFC);
716 EMIT(0xF3);
717 EMIT(0xA5);
723 EMIT(0xF3);
724 EMIT(0xAB);
730 EMIT(0xAB);
737 EMIT(0x90 | (src.is(eax) ? dst.code() : src.code()));
739 EMIT(0x87);
740 EMIT(0xC0 | src.code() << 3 | dst.code());
753 EMIT(0x13);
760 EMIT(0x03);
767 EMIT(0x01);
792 EMIT(0x23);
805 EMIT(0x21);
813 EMIT(0x3C);
815 EMIT(0x80);
818 EMIT(imm8);
825 EMIT(0x38);
833 EMIT(0x3A);
841 EMIT(0x66);
842 EMIT(0x81);
862 EMIT(0x3B);
881 EMIT(0x38); // CMP r/m8, r8
888 EMIT(0x66);
889 EMIT(0x39); // CMP r/m16, r16
897 EMIT(0xFE);
898 EMIT(0xC8 | dst.code());
904 EMIT(0xFE);
911 EMIT(0x48 | dst.code());
917 EMIT(0xFF);
924 EMIT(0x99);
930 EMIT(0xF7);
931 EMIT(0xF8 | src.code());
937 EMIT(0xF7);
938 EMIT(0xE8 | reg.code());
944 EMIT(0x0F);
945 EMIT(0xAF);
953 EMIT(0x6B);
954 EMIT(0xC0 | dst.code() << 3 | src.code());
955 EMIT(imm32);
957 EMIT(0x69);
958 EMIT(0xC0 | dst.code() << 3 | src.code());
959 emit(imm32);
966 EMIT(0x40 | dst.code());
972 EMIT(0xFF);
979 EMIT(0x8D);
986 EMIT(0xF7);
987 EMIT(0xE0 | src.code());
993 EMIT(0xF7);
994 EMIT(0xD8 | dst.code());
1000 EMIT(0xF7);
1001 EMIT(0xD0 | dst.code());
1013 EMIT(0x0B);
1026 EMIT(0x09);
1035 EMIT(0xD1);
1036 EMIT(0xD0 | dst.code());
1038 EMIT(0xC1);
1039 EMIT(0xD0 | dst.code());
1040 EMIT(imm8);
1049 EMIT(0xD1);
1050 EMIT(0xD8 | dst.code());
1052 EMIT(0xC1);
1053 EMIT(0xD8 | dst.code());
1054 EMIT(imm8);
1063 EMIT(0xD1);
1064 EMIT(0xC8 | dst.code());
1066 EMIT(0xC1);
1067 EMIT(0xC8 | dst.code());
1068 EMIT(imm8);
1075 EMIT(0xD3);
1076 EMIT(0xC8 | dst.code());
1084 EMIT(0xD1);
1085 EMIT(0xF8 | dst.code());
1087 EMIT(0xC1);
1088 EMIT(0xF8 | dst.code());
1089 EMIT(imm8);
1096 EMIT(0xD3);
1097 EMIT(0xF8 | dst.code());
1103 EMIT(0x1B);
1110 EMIT(0x0F);
1111 EMIT(0xA5);
1120 EMIT(0xD1);
1121 EMIT(0xE0 | dst.code());
1123 EMIT(0xC1);
1124 EMIT(0xE0 | dst.code());
1125 EMIT(imm8);
1132 EMIT(0xD3);
1133 EMIT(0xE0 | dst.code());
1139 EMIT(0x0F);
1140 EMIT(0xAD);
1149 EMIT(0xD1);
1150 EMIT(0xE8 | dst.code());
1152 EMIT(0xC1);
1153 EMIT(0xE8 | dst.code());
1154 EMIT(imm8);
1161 EMIT(0xD3);
1162 EMIT(0xE8 | dst.code());
1174 EMIT(0x2B);
1181 EMIT(0x29);
1195 EMIT(0xA8);
1196 EMIT(imm8);
1204 EMIT(0xA9);
1206 EMIT(0xF7);
1207 EMIT(0xC0 | reg.code());
1209 emit(imm);
1216 EMIT(0x85);
1224 EMIT(0x84);
1235 EMIT(0xF7);
1237 emit(imm);
1247 EMIT(0xF6);
1249 EMIT(imm8);
1261 EMIT(0x33);
1268 EMIT(0x31);
1281 EMIT(0x0F);
1282 EMIT(0xA3);
1289 EMIT(0x0F);
1290 EMIT(0xAB);
1297 EMIT(0xF4);
1303 EMIT(0xCC);
1309 EMIT(0x90);
1316 EMIT(0x0F);
1317 EMIT(0x31);
1325 EMIT(0xC3);
1327 EMIT(0xC2);
1328 EMIT(imm16 & 0xFF);
1329 EMIT((imm16 >> 8) & 0xFF);
1419 EMIT(0xE8);
1420 emit(offs - long_size);
1423 EMIT(0xE8);
1433 EMIT(0xE8);
1435 emit(reinterpret_cast<uint32_t>(entry), rmode);
1437 emit(entry - (pc_ + sizeof(int32_t)), rmode);
1451 EMIT(0xFF);
1457 return 1 /* EMIT */ + sizeof(uint32_t) /* emit */;
1467 EMIT(0xE8);
1468 emit(code, rmode, ast_id);
1481 EMIT(0xEB);
1482 EMIT((offs - short_size) & 0xFF);
1485 EMIT(0xE9);
1486 emit(offs - long_size);
1489 EMIT(0xEB);
1493 EMIT(0xE9);
1502 EMIT(0xE9);
1504 emit(reinterpret_cast<uint32_t>(entry), rmode);
1506 emit(entry - (pc_ + sizeof(int32_t)), rmode);
1513 EMIT(0xFF);
1521 EMIT(0xE9);
1522 emit(code, rmode);
1536 EMIT(0x70 | cc);
1537 EMIT((offs - short_size) & 0xFF);
1540 EMIT(0x0F);
1541 EMIT(0x80 | cc);
1542 emit(offs - long_size);
1545 EMIT(0x70 | cc);
1551 EMIT(0x0F);
1552 EMIT(0x80 | cc);
1562 EMIT(0x0F);
1563 EMIT(0x80 | cc);
1565 emit(reinterpret_cast<uint32_t>(entry), rmode);
1567 emit(entry - (pc_ + sizeof(int32_t)), rmode);
1575 EMIT(0x0F);
1576 EMIT(0x80 | cc);
1577 emit(code, RelocInfo::CODE_TARGET);
1597 EMIT(0xD9);
1598 EMIT(0xE8);
1604 EMIT(0xD9);
1605 EMIT(0xEB);
1611 EMIT(0xD9);
1612 EMIT(0xEE);
1618 EMIT(0xD9);
1619 EMIT(0xED);
1625 EMIT(0xD9);
1632 EMIT(0xDD);
1639 EMIT(0xD9);
1646 EMIT(0xDD);
1653 EMIT(0xDD);
1660 EMIT(0xDB);
1667 EMIT(0xDF);
1674 EMIT(0xDB);
1682 EMIT(0xDB);
1690 EMIT(0xDD);
1697 EMIT(0xDB);
1704 EMIT(0xDF);
1711 EMIT(0xD9);
1712 EMIT(0xE1);
1718 EMIT(0xD9);
1719 EMIT(0xE0);
1725 EMIT(0xD9);
1726 EMIT(0xFF);
1732 EMIT(0xD9);
1733 EMIT(0xFE);
1739 EMIT(0xD9);
1740 EMIT(0xF2);
1746 EMIT(0xD9);
1747 EMIT(0xF1);
1753 EMIT(0xD9);
1754 EMIT(0xF0);
1760 EMIT(0xD9);
1761 EMIT(0xFD);
1767 EMIT(0xDB);
1768 EMIT(0xE3);
1786 EMIT(0xDA);
1841 EMIT(0xD9);
1842 EMIT(0xF8);
1848 EMIT(0xD9);
1849 EMIT(0xF5);
1861 EMIT(0xD9);
1862 EMIT(0xF7);
1874 EMIT(0xD9);
1875 EMIT(0xE4);
1887 EMIT(0xDA);
1888 EMIT(0xE9);
1894 EMIT(0xDB);
1895 EMIT(0xE8 + i);
1901 EMIT(0xDF);
1902 EMIT(0xE9);
1908 EMIT(0xDE);
1909 EMIT(0xD9);
1915 EMIT(0xDF);
1916 EMIT(0xE0);
1922 EMIT(0x9B);
1928 EMIT(0xD9);
1929 EMIT(0xFC);
1935 EMIT(0xDB);
1936 EMIT(0xE2);
1942 EMIT(0x9E);
1949 EMIT(0x0F);
1950 EMIT(0x90 | cc);
1951 EMIT(0xC0 | reg.code());
1958 EMIT(0xF3);
1959 EMIT(0x0F);
1960 EMIT(0x2C);
1968 EMIT(0xF2);
1969 EMIT(0x0F);
1970 EMIT(0x2C);
1978 EMIT(0xF2);
1979 EMIT(0x0F);
1980 EMIT(0x2D);
1988 EMIT(0xF2);
1989 EMIT(0x0F);
1990 EMIT(0x2A);
1998 EMIT(0xF3);
1999 EMIT(0x0F);
2000 EMIT(0x5A);
2008 EMIT(0xF2);
2009 EMIT(0x0F);
2010 EMIT(0x5A);
2018 EMIT(0xF2);
2019 EMIT(0x0F);
2020 EMIT(0x58);
2028 EMIT(0xF2);
2029 EMIT(0x0F);
2030 EMIT(0x58);
2038 EMIT(0xF2);
2039 EMIT(0x0F);
2040 EMIT(0x59);
2048 EMIT(0xF2);
2049 EMIT(0x0F);
2050 EMIT(0x59);
2058 EMIT(0xF2);
2059 EMIT(0x0F);
2060 EMIT(0x5C);
2068 EMIT(0xF2);
2069 EMIT(0x0F);
2070 EMIT(0x5E);
2078 EMIT(0x66);
2079 EMIT(0x0F);
2080 EMIT(0x57);
2087 EMIT(0x0F);
2088 EMIT(0x57);
2095 EMIT(0xF2);
2096 EMIT(0x0F);
2097 EMIT(0x51);
2104 EMIT(0x66);
2105 EMIT(0x0F);
2106 EMIT(0x54);
2113 EMIT(0x66);
2114 EMIT(0x0F);
2115 EMIT(0x56);
2123 EMIT(0x66);
2124 EMIT(0x0F);
2125 EMIT(0x2E);
2133 EMIT(0x66);
2134 EMIT(0x0F);
2135 EMIT(0x2E);
2143 EMIT(0x66);
2144 EMIT(0x0F);
2145 EMIT(0x3A);
2146 EMIT(0x0B);
2149 EMIT(static_cast<byte>(mode) | 0x8);
2156 EMIT(0x66);
2157 EMIT(0x0F);
2158 EMIT(0x50);
2166 EMIT(0x0F);
2167 EMIT(0x50);
2175 EMIT(0x66);
2176 EMIT(0x0F);
2177 EMIT(0x76);
2185 EMIT(0xF2);
2186 EMIT(0x0F);
2187 EMIT(0xC2);
2189 EMIT(1); // LT == 1
2196 EMIT(0x0F);
2197 EMIT(0x28);
2205 EMIT(0x66);
2206 EMIT(0x0F);
2207 EMIT(0x7F);
2215 EMIT(0x66);
2216 EMIT(0x0F);
2217 EMIT(0x6F);
2225 EMIT(0xF3);
2226 EMIT(0x0F);
2227 EMIT(0x7F);
2235 EMIT(0xF3);
2236 EMIT(0x0F);
2237 EMIT(0x6F);
2245 EMIT(0x66);
2246 EMIT(0x0F);
2247 EMIT(0x38);
2248 EMIT(0x2A);
2256 EMIT(0x66);
2257 EMIT(0x0F);
2258 EMIT(0xE7);
2266 EMIT(0x0F);
2267 EMIT(0x18);
2268 // Emit hint number in Reg position of RegR/M.
2289 EMIT(0xF2); // double
2290 EMIT(0x0F);
2291 EMIT(0x11); // store
2299 EMIT(0xF2); // double
2300 EMIT(0x0F);
2301 EMIT(0x10); // load
2309 EMIT(0xF2);
2310 EMIT(0x0F);
2311 EMIT(0x10);
2319 EMIT(0xF3); // float
2320 EMIT(0x0F);
2321 EMIT(0x11); // store
2329 EMIT(0xF3); // float
2330 EMIT(0x0F);
2331 EMIT(0x10); // load
2339 EMIT(0xF3);
2340 EMIT(0x0F);
2341 EMIT(0x10);
2349 EMIT(0x66);
2350 EMIT(0x0F);
2351 EMIT(0x6E);
2359 EMIT(0x66);
2360 EMIT(0x0F);
2361 EMIT(0x7E);
2370 EMIT(0x66);
2371 EMIT(0x0F);
2372 EMIT(0x3A);
2373 EMIT(0x17);
2375 EMIT(imm8);
2382 EMIT(0x66);
2383 EMIT(0x0F);
2384 EMIT(0xDB);
2392 EMIT(0x66);
2393 EMIT(0x0F);
2394 EMIT(0xEF);
2402 EMIT(0x66);
2403 EMIT(0x0F);
2404 EMIT(0xEB);
2412 EMIT(0x66);
2413 EMIT(0x0F);
2414 EMIT(0x38);
2415 EMIT(0x17);
2423 EMIT(0x66);
2424 EMIT(0x0F);
2425 EMIT(0x73);
2427 EMIT(shift);
2434 EMIT(0x66);
2435 EMIT(0x0F);
2436 EMIT(0xF3);
2444 EMIT(0x66);
2445 EMIT(0x0F);
2446 EMIT(0x73);
2448 EMIT(shift);
2455 EMIT(0x66);
2456 EMIT(0x0F);
2457 EMIT(0xD3);
2465 EMIT(0x66);
2466 EMIT(0x0F);
2467 EMIT(0x70);
2469 EMIT(shuffle);
2476 EMIT(0x66);
2477 EMIT(0x0F);
2478 EMIT(0x3A);
2479 EMIT(0x16);
2481 EMIT(offset);
2488 EMIT(0x66);
2489 EMIT(0x0F);
2490 EMIT(0x3A);
2491 EMIT(0x22);
2493 EMIT(offset);
2504 EMIT(0xC0 | dst.code() << 3 | src.code());
2509 EMIT(0xC0 | dst.code() << 3 | src.code());
2608 EMIT(op1);
2609 EMIT(op2 | dst.code());
2610 EMIT(imm8);
2618 EMIT(0x83); // using a sign-extended 8-bit immediate.
2620 EMIT(x.x_ & 0xFF);
2622 EMIT((sel << 3) | 0x05); // short form if the destination is eax.
2623 emit(x);
2625 EMIT(0x81); // using a literal 32-bit immediate.
2627 emit(x);
2636 // Emit updated ModRM byte containing the given register.
2639 // Emit the rest of the encoded operand.
2643 // Emit relocation information if necessary.
2655 EMIT(b1);
2656 EMIT(b2 + i);
2662 EMIT(data);
2668 emit(data);