Lines Matching refs:dst
287 struct x86_reg dst, in emit_op_modrm() argument
290 switch (dst.mod) { in emit_op_modrm()
293 emit_modrm(p, dst, src); in emit_op_modrm()
300 emit_modrm(p, src, dst); in emit_op_modrm()
454 void x86_mov_reg_imm( struct x86_function *p, struct x86_reg dst, int imm ) in x86_mov_reg_imm() argument
456 DUMP_RI( dst, imm ); in x86_mov_reg_imm()
457 assert(dst.file == file_REG32); in x86_mov_reg_imm()
458 assert(dst.mod == mod_REG); in x86_mov_reg_imm()
459 emit_1ub(p, 0xb8 + dst.idx); in x86_mov_reg_imm()
463 void x86_mov_imm( struct x86_function *p, struct x86_reg dst, int imm ) in x86_mov_imm() argument
465 DUMP_RI( dst, imm ); in x86_mov_imm()
466 if(dst.mod == mod_REG) in x86_mov_imm()
467 x86_mov_reg_imm(p, dst, imm); in x86_mov_imm()
471 emit_modrm_noreg(p, 0, dst); in x86_mov_imm()
476 void x86_mov16_imm( struct x86_function *p, struct x86_reg dst, uint16_t imm ) in x86_mov16_imm() argument
478 DUMP_RI( dst, imm ); in x86_mov16_imm()
480 if(dst.mod == mod_REG) in x86_mov16_imm()
482 emit_1ub(p, 0xb8 + dst.idx); in x86_mov16_imm()
488 emit_modrm_noreg(p, 0, dst); in x86_mov16_imm()
493 void x86_mov8_imm( struct x86_function *p, struct x86_reg dst, uint8_t imm ) in x86_mov8_imm() argument
495 DUMP_RI( dst, imm ); in x86_mov8_imm()
496 if(dst.mod == mod_REG) in x86_mov8_imm()
498 emit_1ub(p, 0xb0 + dst.idx); in x86_mov8_imm()
504 emit_modrm_noreg(p, 0, dst); in x86_mov8_imm()
514 unsigned op, struct x86_reg dst, int imm ) in x86_group1_imm() argument
516 assert(dst.file == file_REG32); in x86_group1_imm()
517 assert(dst.mod == mod_REG); in x86_group1_imm()
520 emit_modrm_noreg(p, op, dst); in x86_group1_imm()
525 emit_modrm_noreg(p, op, dst); in x86_group1_imm()
530 void x86_add_imm( struct x86_function *p, struct x86_reg dst, int imm ) in x86_add_imm() argument
532 DUMP_RI( dst, imm ); in x86_add_imm()
533 x86_group1_imm(p, 0, dst, imm); in x86_add_imm()
536 void x86_or_imm( struct x86_function *p, struct x86_reg dst, int imm ) in x86_or_imm() argument
538 DUMP_RI( dst, imm ); in x86_or_imm()
539 x86_group1_imm(p, 1, dst, imm); in x86_or_imm()
542 void x86_and_imm( struct x86_function *p, struct x86_reg dst, int imm ) in x86_and_imm() argument
544 DUMP_RI( dst, imm ); in x86_and_imm()
545 x86_group1_imm(p, 4, dst, imm); in x86_and_imm()
548 void x86_sub_imm( struct x86_function *p, struct x86_reg dst, int imm ) in x86_sub_imm() argument
550 DUMP_RI( dst, imm ); in x86_sub_imm()
551 x86_group1_imm(p, 5, dst, imm); in x86_sub_imm()
554 void x86_xor_imm( struct x86_function *p, struct x86_reg dst, int imm ) in x86_xor_imm() argument
556 DUMP_RI( dst, imm ); in x86_xor_imm()
557 x86_group1_imm(p, 6, dst, imm); in x86_xor_imm()
560 void x86_cmp_imm( struct x86_function *p, struct x86_reg dst, int imm ) in x86_cmp_imm() argument
562 DUMP_RI( dst, imm ); in x86_cmp_imm()
563 x86_group1_imm(p, 7, dst, imm); in x86_cmp_imm()
649 struct x86_reg dst, in x86_mov() argument
652 DUMP_RR( dst, src ); in x86_mov()
654 if(src.mod == mod_REG && dst.mod == mod_REG && (src.idx >= 8 || dst.idx >= 8)) in x86_mov()
657 if(dst.idx >= 8) in x86_mov()
660 dst.idx -= 8; in x86_mov()
669 emit_op_modrm( p, 0x8b, 0x89, dst, src ); in x86_mov()
673 struct x86_reg dst, in x86_mov16() argument
676 DUMP_RR( dst, src ); in x86_mov16()
678 emit_op_modrm( p, 0x8b, 0x89, dst, src ); in x86_mov16()
682 struct x86_reg dst, in x86_mov8() argument
685 DUMP_RR( dst, src ); in x86_mov8()
686 emit_op_modrm( p, 0x8a, 0x88, dst, src ); in x86_mov8()
690 struct x86_reg dst, in x64_mov64() argument
694 DUMP_RR( dst, src ); in x64_mov64()
698 if(src.mod == mod_REG && dst.mod == mod_REG && (src.idx >= 8 || dst.idx >= 8)) in x64_mov64()
700 if(dst.idx >= 8) in x64_mov64()
703 dst.idx -= 8; in x64_mov64()
712 emit_op_modrm( p, 0x8b, 0x89, dst, src ); in x64_mov64()
715 void x86_movzx8(struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in x86_movzx8() argument
717 DUMP_RR( dst, src ); in x86_movzx8()
719 emit_modrm(p, dst, src); in x86_movzx8()
722 void x86_movzx16(struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in x86_movzx16() argument
724 DUMP_RR( dst, src ); in x86_movzx16()
726 emit_modrm(p, dst, src); in x86_movzx16()
730 struct x86_reg dst, in x86_cmovcc() argument
734 DUMP_RRI( dst, src, cc ); in x86_cmovcc()
736 emit_modrm( p, dst, src ); in x86_cmovcc()
740 struct x86_reg dst, in x86_xor() argument
743 DUMP_RR( dst, src ); in x86_xor()
744 emit_op_modrm( p, 0x33, 0x31, dst, src ); in x86_xor()
748 struct x86_reg dst, in x86_cmp() argument
751 DUMP_RR( dst, src ); in x86_cmp()
752 emit_op_modrm( p, 0x3b, 0x39, dst, src ); in x86_cmp()
756 struct x86_reg dst, in x86_lea() argument
759 DUMP_RR( dst, src ); in x86_lea()
761 emit_modrm( p, dst, src ); in x86_lea()
765 struct x86_reg dst, in x86_test() argument
768 DUMP_RR( dst, src ); in x86_test()
770 emit_modrm( p, dst, src ); in x86_test()
774 struct x86_reg dst, in x86_add() argument
777 DUMP_RR( dst, src ); in x86_add()
778 emit_op_modrm(p, 0x03, 0x01, dst, src ); in x86_add()
793 struct x86_reg dst, in x86_imul() argument
796 DUMP_RR( dst, src ); in x86_imul()
798 emit_modrm(p, dst, src); in x86_imul()
803 struct x86_reg dst, in x86_sub() argument
806 DUMP_RR( dst, src ); in x86_sub()
807 emit_op_modrm(p, 0x2b, 0x29, dst, src ); in x86_sub()
811 struct x86_reg dst, in x86_or() argument
814 DUMP_RR( dst, src ); in x86_or()
815 emit_op_modrm( p, 0x0b, 0x09, dst, src ); in x86_or()
819 struct x86_reg dst, in x86_and() argument
822 DUMP_RR( dst, src ); in x86_and()
823 emit_op_modrm( p, 0x23, 0x21, dst, src ); in x86_and()
919 struct x86_reg dst, in sse_movntps() argument
922 DUMP_RR( dst, src ); in sse_movntps()
924 assert(dst.mod != mod_REG); in sse_movntps()
927 emit_modrm(p, src, dst); in sse_movntps()
934 struct x86_reg dst, in sse_movss() argument
937 DUMP_RR( dst, src ); in sse_movss()
939 emit_op_modrm( p, 0x10, 0x11, dst, src ); in sse_movss()
943 struct x86_reg dst, in sse_movaps() argument
946 DUMP_RR( dst, src ); in sse_movaps()
948 emit_op_modrm( p, 0x28, 0x29, dst, src ); in sse_movaps()
952 struct x86_reg dst, in sse_movups() argument
955 DUMP_RR( dst, src ); in sse_movups()
957 emit_op_modrm( p, 0x10, 0x11, dst, src ); in sse_movups()
961 struct x86_reg dst, in sse_movhps() argument
964 DUMP_RR( dst, src ); in sse_movhps()
965 assert(dst.mod != mod_REG || src.mod != mod_REG); in sse_movhps()
967 emit_op_modrm( p, 0x16, 0x17, dst, src ); /* cf movlhps */ in sse_movhps()
971 struct x86_reg dst, in sse_movlps() argument
974 DUMP_RR( dst, src ); in sse_movlps()
975 assert(dst.mod != mod_REG || src.mod != mod_REG); in sse_movlps()
977 emit_op_modrm( p, 0x12, 0x13, dst, src ); /* cf movhlps */ in sse_movlps()
981 struct x86_reg dst, in sse_maxps() argument
984 DUMP_RR( dst, src ); in sse_maxps()
986 emit_modrm( p, dst, src ); in sse_maxps()
990 struct x86_reg dst, in sse_maxss() argument
993 DUMP_RR( dst, src ); in sse_maxss()
995 emit_modrm( p, dst, src ); in sse_maxss()
999 struct x86_reg dst, in sse_divss() argument
1002 DUMP_RR( dst, src ); in sse_divss()
1004 emit_modrm( p, dst, src ); in sse_divss()
1008 struct x86_reg dst, in sse_minps() argument
1011 DUMP_RR( dst, src ); in sse_minps()
1013 emit_modrm( p, dst, src ); in sse_minps()
1017 struct x86_reg dst, in sse_subps() argument
1020 DUMP_RR( dst, src ); in sse_subps()
1022 emit_modrm( p, dst, src ); in sse_subps()
1026 struct x86_reg dst, in sse_mulps() argument
1029 DUMP_RR( dst, src ); in sse_mulps()
1031 emit_modrm( p, dst, src ); in sse_mulps()
1035 struct x86_reg dst, in sse_mulss() argument
1038 DUMP_RR( dst, src ); in sse_mulss()
1040 emit_modrm( p, dst, src ); in sse_mulss()
1044 struct x86_reg dst, in sse_addps() argument
1047 DUMP_RR( dst, src ); in sse_addps()
1049 emit_modrm( p, dst, src ); in sse_addps()
1053 struct x86_reg dst, in sse_addss() argument
1056 DUMP_RR( dst, src ); in sse_addss()
1058 emit_modrm( p, dst, src ); in sse_addss()
1062 struct x86_reg dst, in sse_andnps() argument
1065 DUMP_RR( dst, src ); in sse_andnps()
1067 emit_modrm( p, dst, src ); in sse_andnps()
1071 struct x86_reg dst, in sse_andps() argument
1074 DUMP_RR( dst, src ); in sse_andps()
1076 emit_modrm( p, dst, src ); in sse_andps()
1080 struct x86_reg dst, in sse_rsqrtps() argument
1083 DUMP_RR( dst, src ); in sse_rsqrtps()
1085 emit_modrm( p, dst, src ); in sse_rsqrtps()
1089 struct x86_reg dst, in sse_rsqrtss() argument
1092 DUMP_RR( dst, src ); in sse_rsqrtss()
1094 emit_modrm( p, dst, src ); in sse_rsqrtss()
1099 struct x86_reg dst, in sse_movhlps() argument
1102 DUMP_RR( dst, src ); in sse_movhlps()
1103 assert(dst.mod == mod_REG && src.mod == mod_REG); in sse_movhlps()
1105 emit_modrm( p, dst, src ); in sse_movhlps()
1109 struct x86_reg dst, in sse_movlhps() argument
1112 DUMP_RR( dst, src ); in sse_movlhps()
1113 assert(dst.mod == mod_REG && src.mod == mod_REG); in sse_movlhps()
1115 emit_modrm( p, dst, src ); in sse_movlhps()
1119 struct x86_reg dst, in sse_orps() argument
1122 DUMP_RR( dst, src ); in sse_orps()
1124 emit_modrm( p, dst, src ); in sse_orps()
1128 struct x86_reg dst, in sse_xorps() argument
1131 DUMP_RR( dst, src ); in sse_xorps()
1133 emit_modrm( p, dst, src ); in sse_xorps()
1137 struct x86_reg dst, in sse_cvtps2pi() argument
1140 DUMP_RR( dst, src ); in sse_cvtps2pi()
1141 assert(dst.file == file_MMX && in sse_cvtps2pi()
1147 emit_modrm( p, dst, src ); in sse_cvtps2pi()
1151 struct x86_reg dst, in sse2_cvtdq2ps() argument
1154 DUMP_RR( dst, src ); in sse2_cvtdq2ps()
1156 emit_modrm( p, dst, src ); in sse2_cvtdq2ps()
1164 struct x86_reg dst, in sse_shufps() argument
1168 DUMP_RRI( dst, src, shuf ); in sse_shufps()
1170 emit_modrm(p, dst, src); in sse_shufps()
1174 void sse_unpckhps( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse_unpckhps() argument
1176 DUMP_RR( dst, src ); in sse_unpckhps()
1178 emit_modrm( p, dst, src ); in sse_unpckhps()
1181 void sse_unpcklps( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse_unpcklps() argument
1183 DUMP_RR( dst, src ); in sse_unpcklps()
1185 emit_modrm( p, dst, src ); in sse_unpcklps()
1189 struct x86_reg dst, in sse_cmpps() argument
1193 DUMP_RRI( dst, src, cc ); in sse_cmpps()
1195 emit_modrm(p, dst, src); in sse_cmpps()
1200 struct x86_reg dst, in sse_pmovmskb() argument
1203 DUMP_RR( dst, src ); in sse_pmovmskb()
1205 emit_modrm(p, dst, src); in sse_pmovmskb()
1209 struct x86_reg dst, in sse_movmskps() argument
1212 DUMP_RR( dst, src ); in sse_movmskps()
1214 emit_modrm(p, dst, src); in sse_movmskps()
1221 void sse2_movd( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse2_movd() argument
1223 DUMP_RR(dst, src); in sse2_movd()
1225 if(dst.mod == mod_REG && dst.file == file_REG32) in sse2_movd()
1228 emit_modrm(p, src, dst); in sse2_movd()
1232 emit_op_modrm(p, 0x6e, 0x7e, dst, src); in sse2_movd()
1236 void sse2_movq( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse2_movq() argument
1238 DUMP_RR(dst, src); in sse2_movq()
1239 switch (dst.mod) { in sse2_movq()
1242 emit_modrm(p, dst, src); in sse2_movq()
1249 emit_modrm(p, src, dst); in sse2_movq()
1257 void sse2_movdqu( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse2_movdqu() argument
1259 DUMP_RR(dst, src); in sse2_movdqu()
1261 emit_op_modrm(p, 0x6f, 0x7f, dst, src); in sse2_movdqu()
1264 void sse2_movdqa( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse2_movdqa() argument
1266 DUMP_RR(dst, src); in sse2_movdqa()
1268 emit_op_modrm(p, 0x6f, 0x7f, dst, src); in sse2_movdqa()
1271 void sse2_movsd( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse2_movsd() argument
1273 DUMP_RR(dst, src); in sse2_movsd()
1275 emit_op_modrm(p, 0x10, 0x11, dst, src); in sse2_movsd()
1278 void sse2_movupd( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse2_movupd() argument
1280 DUMP_RR(dst, src); in sse2_movupd()
1282 emit_op_modrm(p, 0x10, 0x11, dst, src); in sse2_movupd()
1285 void sse2_movapd( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse2_movapd() argument
1287 DUMP_RR(dst, src); in sse2_movapd()
1289 emit_op_modrm(p, 0x28, 0x29, dst, src); in sse2_movapd()
1296 struct x86_reg dst, in sse2_pshufd() argument
1300 DUMP_RRI( dst, src, shuf ); in sse2_pshufd()
1302 emit_modrm(p, dst, src); in sse2_pshufd()
1307 struct x86_reg dst, in sse2_pshuflw() argument
1311 DUMP_RRI( dst, src, shuf ); in sse2_pshuflw()
1313 emit_modrm(p, dst, src); in sse2_pshuflw()
1318 struct x86_reg dst, in sse2_pshufhw() argument
1322 DUMP_RRI( dst, src, shuf ); in sse2_pshufhw()
1324 emit_modrm(p, dst, src); in sse2_pshufhw()
1329 struct x86_reg dst, in sse2_cvttps2dq() argument
1332 DUMP_RR( dst, src ); in sse2_cvttps2dq()
1334 emit_modrm( p, dst, src ); in sse2_cvttps2dq()
1338 struct x86_reg dst, in sse2_cvtps2dq() argument
1341 DUMP_RR( dst, src ); in sse2_cvtps2dq()
1343 emit_modrm( p, dst, src ); in sse2_cvtps2dq()
1347 struct x86_reg dst, in sse2_cvtsd2ss() argument
1350 DUMP_RR( dst, src ); in sse2_cvtsd2ss()
1352 emit_modrm( p, dst, src ); in sse2_cvtsd2ss()
1356 struct x86_reg dst, in sse2_cvtpd2ps() argument
1359 DUMP_RR( dst, src ); in sse2_cvtpd2ps()
1361 emit_modrm( p, dst, src ); in sse2_cvtpd2ps()
1365 struct x86_reg dst, in sse2_packssdw() argument
1368 DUMP_RR( dst, src ); in sse2_packssdw()
1370 emit_modrm( p, dst, src ); in sse2_packssdw()
1374 struct x86_reg dst, in sse2_packsswb() argument
1377 DUMP_RR( dst, src ); in sse2_packsswb()
1379 emit_modrm( p, dst, src ); in sse2_packsswb()
1383 struct x86_reg dst, in sse2_packuswb() argument
1386 DUMP_RR( dst, src ); in sse2_packuswb()
1388 emit_modrm( p, dst, src ); in sse2_packuswb()
1392 struct x86_reg dst, in sse2_punpcklbw() argument
1395 DUMP_RR( dst, src ); in sse2_punpcklbw()
1397 emit_modrm( p, dst, src ); in sse2_punpcklbw()
1400 void sse2_punpcklwd( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse2_punpcklwd() argument
1402 DUMP_RR( dst, src ); in sse2_punpcklwd()
1404 emit_modrm( p, dst, src ); in sse2_punpcklwd()
1407 void sse2_punpckldq( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse2_punpckldq() argument
1409 DUMP_RR( dst, src ); in sse2_punpckldq()
1411 emit_modrm( p, dst, src ); in sse2_punpckldq()
1414 void sse2_punpcklqdq( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse2_punpcklqdq() argument
1416 DUMP_RR( dst, src ); in sse2_punpcklqdq()
1418 emit_modrm( p, dst, src ); in sse2_punpcklqdq()
1421 void sse2_psllw_imm( struct x86_function *p, struct x86_reg dst, unsigned imm ) in sse2_psllw_imm() argument
1423 DUMP_RI(dst, imm); in sse2_psllw_imm()
1425 emit_modrm_noreg(p, 6, dst); in sse2_psllw_imm()
1429 void sse2_pslld_imm( struct x86_function *p, struct x86_reg dst, unsigned imm ) in sse2_pslld_imm() argument
1431 DUMP_RI(dst, imm); in sse2_pslld_imm()
1433 emit_modrm_noreg(p, 6, dst); in sse2_pslld_imm()
1437 void sse2_psllq_imm( struct x86_function *p, struct x86_reg dst, unsigned imm ) in sse2_psllq_imm() argument
1439 DUMP_RI(dst, imm); in sse2_psllq_imm()
1441 emit_modrm_noreg(p, 6, dst); in sse2_psllq_imm()
1445 void sse2_psrlw_imm( struct x86_function *p, struct x86_reg dst, unsigned imm ) in sse2_psrlw_imm() argument
1447 DUMP_RI(dst, imm); in sse2_psrlw_imm()
1449 emit_modrm_noreg(p, 2, dst); in sse2_psrlw_imm()
1453 void sse2_psrld_imm( struct x86_function *p, struct x86_reg dst, unsigned imm ) in sse2_psrld_imm() argument
1455 DUMP_RI(dst, imm); in sse2_psrld_imm()
1457 emit_modrm_noreg(p, 2, dst); in sse2_psrld_imm()
1461 void sse2_psrlq_imm( struct x86_function *p, struct x86_reg dst, unsigned imm ) in sse2_psrlq_imm() argument
1463 DUMP_RI(dst, imm); in sse2_psrlq_imm()
1465 emit_modrm_noreg(p, 2, dst); in sse2_psrlq_imm()
1469 void sse2_psraw_imm( struct x86_function *p, struct x86_reg dst, unsigned imm ) in sse2_psraw_imm() argument
1471 DUMP_RI(dst, imm); in sse2_psraw_imm()
1473 emit_modrm_noreg(p, 4, dst); in sse2_psraw_imm()
1477 void sse2_psrad_imm( struct x86_function *p, struct x86_reg dst, unsigned imm ) in sse2_psrad_imm() argument
1479 DUMP_RI(dst, imm); in sse2_psrad_imm()
1481 emit_modrm_noreg(p, 4, dst); in sse2_psrad_imm()
1485 void sse2_por( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in sse2_por() argument
1487 DUMP_RR(dst, src); in sse2_por()
1489 emit_modrm(p, dst, src); in sse2_por()
1493 struct x86_reg dst, in sse2_rcpps() argument
1496 DUMP_RR( dst, src ); in sse2_rcpps()
1498 emit_modrm( p, dst, src ); in sse2_rcpps()
1502 struct x86_reg dst, in sse2_rcpss() argument
1505 DUMP_RR( dst, src ); in sse2_rcpss()
1507 emit_modrm( p, dst, src ); in sse2_rcpss()
1531 void x87_fist( struct x86_function *p, struct x86_reg dst ) in x87_fist() argument
1533 DUMP_R( dst ); in x87_fist()
1535 emit_modrm_noreg(p, 2, dst); in x87_fist()
1538 void x87_fistp( struct x86_function *p, struct x86_reg dst ) in x87_fistp() argument
1540 DUMP_R( dst ); in x87_fistp()
1542 emit_modrm_noreg(p, 3, dst); in x87_fistp()
1654 static void x87_arith_op( struct x86_function *p, struct x86_reg dst, struct x86_reg arg, in x87_arith_op() argument
1661 assert(dst.file == file_x87); in x87_arith_op()
1664 if (dst.idx == 0) in x87_arith_op()
1671 else if (dst.idx == 0) { in x87_arith_op()
1680 void x87_fmul( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in x87_fmul() argument
1682 DUMP_RR( dst, src ); in x87_fmul()
1683 x87_arith_op(p, dst, src, in x87_fmul()
1689 void x87_fsub( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in x87_fsub() argument
1691 DUMP_RR( dst, src ); in x87_fsub()
1692 x87_arith_op(p, dst, src, in x87_fsub()
1698 void x87_fsubr( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in x87_fsubr() argument
1700 DUMP_RR( dst, src ); in x87_fsubr()
1701 x87_arith_op(p, dst, src, in x87_fsubr()
1707 void x87_fadd( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in x87_fadd() argument
1709 DUMP_RR( dst, src ); in x87_fadd()
1710 x87_arith_op(p, dst, src, in x87_fadd()
1716 void x87_fdiv( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in x87_fdiv() argument
1718 DUMP_RR( dst, src ); in x87_fdiv()
1719 x87_arith_op(p, dst, src, in x87_fdiv()
1725 void x87_fdivr( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) in x87_fdivr() argument
1727 DUMP_RR( dst, src ); in x87_fdivr()
1728 x87_arith_op(p, dst, src, in x87_fdivr()
1734 void x87_fmulp( struct x86_function *p, struct x86_reg dst ) in x87_fmulp() argument
1736 DUMP_R( dst ); in x87_fmulp()
1737 assert(dst.file == file_x87); in x87_fmulp()
1738 assert(dst.idx >= 1); in x87_fmulp()
1739 emit_2ub(p, 0xde, 0xc8+dst.idx); in x87_fmulp()
1743 void x87_fsubp( struct x86_function *p, struct x86_reg dst ) in x87_fsubp() argument
1745 DUMP_R( dst ); in x87_fsubp()
1746 assert(dst.file == file_x87); in x87_fsubp()
1747 assert(dst.idx >= 1); in x87_fsubp()
1748 emit_2ub(p, 0xde, 0xe8+dst.idx); in x87_fsubp()
1752 void x87_fsubrp( struct x86_function *p, struct x86_reg dst ) in x87_fsubrp() argument
1754 DUMP_R( dst ); in x87_fsubrp()
1755 assert(dst.file == file_x87); in x87_fsubrp()
1756 assert(dst.idx >= 1); in x87_fsubrp()
1757 emit_2ub(p, 0xde, 0xe0+dst.idx); in x87_fsubrp()
1761 void x87_faddp( struct x86_function *p, struct x86_reg dst ) in x87_faddp() argument
1763 DUMP_R( dst ); in x87_faddp()
1764 assert(dst.file == file_x87); in x87_faddp()
1765 assert(dst.idx >= 1); in x87_faddp()
1766 emit_2ub(p, 0xde, 0xc0+dst.idx); in x87_faddp()
1770 void x87_fdivp( struct x86_function *p, struct x86_reg dst ) in x87_fdivp() argument
1772 DUMP_R( dst ); in x87_fdivp()
1773 assert(dst.file == file_x87); in x87_fdivp()
1774 assert(dst.idx >= 1); in x87_fdivp()
1775 emit_2ub(p, 0xde, 0xf8+dst.idx); in x87_fdivp()
1779 void x87_fdivrp( struct x86_function *p, struct x86_reg dst ) in x87_fdivrp() argument
1781 DUMP_R( dst ); in x87_fdivrp()
1782 assert(dst.file == file_x87); in x87_fdivrp()
1783 assert(dst.idx >= 1); in x87_fdivrp()
1784 emit_2ub(p, 0xde, 0xf0+dst.idx); in x87_fdivrp()
1924 void x87_fst( struct x86_function *p, struct x86_reg dst ) in x87_fst() argument
1926 DUMP_R( dst ); in x87_fst()
1927 if (dst.file == file_x87) in x87_fst()
1928 emit_2ub(p, 0xdd, 0xd0 + dst.idx); in x87_fst()
1931 emit_modrm_noreg(p, 2, dst); in x87_fst()
1935 void x87_fstp( struct x86_function *p, struct x86_reg dst ) in x87_fstp() argument
1937 DUMP_R( dst ); in x87_fstp()
1938 if (dst.file == file_x87) in x87_fstp()
1939 emit_2ub(p, 0xdd, 0xd8 + dst.idx); in x87_fstp()
1942 emit_modrm_noreg(p, 3, dst); in x87_fstp()
1953 void x87_fcom( struct x86_function *p, struct x86_reg dst ) in x87_fcom() argument
1955 DUMP_R( dst ); in x87_fcom()
1956 if (dst.file == file_x87) in x87_fcom()
1957 emit_2ub(p, 0xd8, 0xd0 + dst.idx); in x87_fcom()
1960 emit_modrm_noreg(p, 2, dst); in x87_fcom()
1965 void x87_fcomp( struct x86_function *p, struct x86_reg dst ) in x87_fcomp() argument
1967 DUMP_R( dst ); in x87_fcomp()
1968 if (dst.file == file_x87) in x87_fcomp()
1969 emit_2ub(p, 0xd8, 0xd8 + dst.idx); in x87_fcomp()
1972 emit_modrm_noreg(p, 3, dst); in x87_fcomp()
1991 void x87_fnstsw( struct x86_function *p, struct x86_reg dst ) in x87_fnstsw() argument
1993 DUMP_R( dst ); in x87_fnstsw()
1994 assert(dst.file == file_REG32); in x87_fnstsw()
1996 if (dst.idx == reg_AX && in x87_fnstsw()
1997 dst.mod == mod_REG) in x87_fnstsw()
2001 emit_modrm_noreg(p, 7, dst); in x87_fnstsw()
2006 void x87_fnstcw( struct x86_function *p, struct x86_reg dst ) in x87_fnstcw() argument
2008 DUMP_R( dst ); in x87_fnstcw()
2009 assert(dst.file == file_REG32); in x87_fnstcw()
2013 emit_modrm_noreg(p, 7, dst); in x87_fnstcw()
2032 struct x86_reg dst, in mmx_packssdw() argument
2035 DUMP_RR( dst, src ); in mmx_packssdw()
2036 assert(dst.file == file_MMX && in mmx_packssdw()
2042 emit_modrm( p, dst, src ); in mmx_packssdw()
2046 struct x86_reg dst, in mmx_packuswb() argument
2049 DUMP_RR( dst, src ); in mmx_packuswb()
2050 assert(dst.file == file_MMX && in mmx_packuswb()
2056 emit_modrm( p, dst, src ); in mmx_packuswb()
2060 struct x86_reg dst, in mmx_movd() argument
2063 DUMP_RR( dst, src ); in mmx_movd()
2066 emit_op_modrm( p, 0x6e, 0x7e, dst, src ); in mmx_movd()
2070 struct x86_reg dst, in mmx_movq() argument
2073 DUMP_RR( dst, src ); in mmx_movq()
2076 emit_op_modrm( p, 0x6f, 0x7f, dst, src ); in mmx_movq()