Home | History | Annotate | Download | only in rtasm

Lines Matching refs:dst

145 			   struct x86_reg dst,
148 switch (dst.mod) {
151 emit_modrm(p, dst, src);
158 emit_modrm(p, src, dst);
307 void x86_mov_reg_imm( struct x86_function *p, struct x86_reg dst, int imm )
309 assert(dst.mod == mod_REG);
310 emit_1ub(p, 0xb8 + dst.idx);
355 struct x86_reg dst,
358 emit_op_modrm( p, 0x8b, 0x89, dst, src );
362 struct x86_reg dst,
365 emit_op_modrm( p, 0x33, 0x31, dst, src );
369 struct x86_reg dst,
372 emit_op_modrm( p, 0x3b, 0x39, dst, src );
376 struct x86_reg dst,
380 emit_modrm( p, dst, src );
384 struct x86_reg dst,
388 emit_modrm( p, dst, src );
392 struct x86_reg dst,
395 emit_op_modrm(p, 0x03, 0x01, dst, src );
406 struct x86_reg dst,
409 emit_op_modrm(p, 0x2b, 0x29, dst, src );
413 struct x86_reg dst,
416 emit_op_modrm( p, 0x0b, 0x09, dst, src );
420 struct x86_reg dst,
423 emit_op_modrm( p, 0x23, 0x21, dst, src );
434 struct x86_reg dst,
438 emit_op_modrm( p, 0x10, 0x11, dst, src );
442 struct x86_reg dst,
446 emit_op_modrm( p, 0x28, 0x29, dst, src );
450 struct x86_reg dst,
454 emit_op_modrm( p, 0x10, 0x11, dst, src );
458 struct x86_reg dst,
461 assert(dst.mod != mod_REG || src.mod != mod_REG);
463 emit_op_modrm( p, 0x16, 0x17, dst, src ); /* cf movlhps */
467 struct x86_reg dst,
470 assert(dst.mod != mod_REG || src.mod != mod_REG);
472 emit_op_modrm( p, 0x12, 0x13, dst, src ); /* cf movhlps */
476 struct x86_reg dst,
480 emit_modrm( p, dst, src );
484 struct x86_reg dst,
488 emit_modrm( p, dst, src );
492 struct x86_reg dst,
496 emit_modrm( p, dst, src );
500 struct x86_reg dst,
504 emit_modrm( p, dst, src );
508 struct x86_reg dst,
512 emit_modrm( p, dst, src );
516 struct x86_reg dst,
520 emit_modrm( p, dst, src );
524 struct x86_reg dst,
528 emit_modrm( p, dst, src );
532 struct x86_reg dst,
536 emit_modrm( p, dst, src );
540 struct x86_reg dst,
544 emit_modrm( p, dst, src );
548 struct x86_reg dst,
552 emit_modrm( p, dst, src );
556 struct x86_reg dst,
560 emit_modrm( p, dst, src );
564 struct x86_reg dst,
568 emit_modrm( p, dst, src );
572 struct x86_reg dst,
576 emit_modrm( p, dst, src );
581 struct x86_reg dst,
584 assert(dst.mod == mod_REG && src.mod == mod_REG);
586 emit_modrm( p, dst, src );
590 struct x86_reg dst,
593 assert(dst.mod == mod_REG && src.mod == mod_REG);
595 emit_modrm( p, dst, src );
599 struct x86_reg dst,
603 emit_modrm( p, dst, src );
607 struct x86_reg dst,
611 emit_modrm( p, dst, src );
615 struct x86_reg dst,
618 assert(dst.file == file_MMX &&
624 emit_modrm( p, dst, src );
677 struct x86_reg dst,
681 emit_modrm( p, dst, src );
685 struct x86_reg dst,
689 emit_modrm( p, dst, src );
693 struct x86_reg dst,
697 emit_modrm( p, dst, src );
701 struct x86_reg dst,
705 emit_modrm( p, dst, src );
709 struct x86_reg dst,
713 emit_modrm( p, dst, src );
717 struct x86_reg dst,
721 emit_modrm( p, dst, src );
725 struct x86_reg dst,
729 emit_modrm( p, dst, src );
733 struct x86_reg dst,
737 emit_op_modrm( p, 0x6e, 0x7e, dst, src );
746 void x87_fist( struct x86_function *p, struct x86_reg dst )
749 emit_modrm_noreg(p, 2, dst);
752 void x87_fistp( struct x86_function *p, struct x86_reg dst )
755 emit_modrm_noreg(p, 3, dst);
810 static void x87_arith_op( struct x86_function *p, struct x86_reg dst, struct x86_reg arg,
817 assert(dst.file == file_x87);
820 if (dst.idx == 0)
827 else if (dst.idx == 0) {
836 void x87_fmul( struct x86_function *p, struct x86_reg dst, struct x86_reg arg )
838 x87_arith_op(p, dst, arg,
844 void x87_fsub( struct x86_function *p, struct x86_reg dst, struct x86_reg arg )
846 x87_arith_op(p, dst, arg,
852 void x87_fsubr( struct x86_function *p, struct x86_reg dst, struct x86_reg arg )
854 x87_arith_op(p, dst, arg,
860 void x87_fadd( struct x86_function *p, struct x86_reg dst, struct x86_reg arg )
862 x87_arith_op(p, dst, arg,
868 void x87_fdiv( struct x86_function *p, struct x86_reg dst, struct x86_reg arg )
870 x87_arith_op(p, dst, arg,
876 void x87_fdivr( struct x86_function *p, struct x86_reg dst, struct x86_reg arg )
878 x87_arith_op(p, dst, arg,
884 void x87_fmulp( struct x86_function *p, struct x86_reg dst )
886 assert(dst.file == file_x87);
887 assert(dst.idx >= 1);
888 emit_2ub(p, 0xde, 0xc8+dst.idx);
891 void x87_fsubp( struct x86_function *p, struct x86_reg dst )
893 assert(dst.file == file_x87);
894 assert(dst.idx >= 1);
895 emit_2ub(p, 0xde, 0xe8+dst.idx);
898 void x87_fsubrp( struct x86_function *p, struct x86_reg dst )
900 assert(dst.file == file_x87);
901 assert(dst.idx >= 1);
902 emit_2ub(p, 0xde, 0xe0+dst.idx);
905 void x87_faddp( struct x86_function *p, struct x86_reg dst )
907 assert(dst.file == file_x87);
908 assert(dst.idx >= 1);
909 emit_2ub(p, 0xde, 0xc0+dst.idx);
912 void x87_fdivp( struct x86_function *p, struct x86_reg dst )
914 assert(dst.file == file_x87);
915 assert(dst.idx >= 1);
916 emit_2ub(p, 0xde, 0xf8+dst.idx);
919 void x87_fdivrp( struct x86_function *p, struct x86_reg dst )
921 assert(dst.file == file_x87);
922 assert(dst.idx >= 1);
923 emit_2ub(p, 0xde, 0xf0+dst.idx);
1033 void x87_fst( struct x86_function *p, struct x86_reg dst )
1035 if (dst.file == file_x87)
1036 emit_2ub(p, 0xdd, 0xd0 + dst.idx);
1039 emit_modrm_noreg(p, 2, dst);
1043 void x87_fstp( struct x86_function *p, struct x86_reg dst )
1045 if (dst.file == file_x87)
1046 emit_2ub(p, 0xdd, 0xd8 + dst.idx);
1049 emit_modrm_noreg(p, 3, dst);
1053 void x87_fcom( struct x86_function *p, struct x86_reg dst )
1055 if (dst.file == file_x87)
1056 emit_2ub(p, 0xd8, 0xd0 + dst.idx);
1059 emit_modrm_noreg(p, 2, dst);
1063 void x87_fcomp( struct x86_function *p, struct x86_reg dst )
1065 if (dst.file == file_x87)
1066 emit_2ub(p, 0xd8, 0xd8 + dst.idx);
1069 emit_modrm_noreg(p, 3, dst);
1074 void x87_fnstsw( struct x86_function *p, struct x86_reg dst )
1076 assert(dst.file == file_REG32);
1078 if (dst.idx == reg_AX &&
1079 dst.mod == mod_REG)
1083 emit_modrm_noreg(p, 7, dst);
1102 struct x86_reg dst,
1105 assert(dst.file == file_MMX &&
1111 emit_modrm( p, dst, src );
1115 struct x86_reg dst,
1118 assert(dst.file == file_MMX &&
1124 emit_modrm( p, dst, src );
1128 struct x86_reg dst,
1133 emit_op_modrm( p, 0x6e, 0x7e, dst, src );
1137 struct x86_reg dst,
1142 emit_op_modrm( p, 0x6f, 0x7f, dst, src );