Revision e55fd934 target-ppc/translate.c
b/target-ppc/translate.c | ||
---|---|---|
795 | 795 |
/* add add. addo addo. */ |
796 | 796 |
static always_inline void gen_op_addo (void) |
797 | 797 |
{ |
798 |
gen_op_move_T2_T0();
|
|
798 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
799 | 799 |
gen_op_add(); |
800 | 800 |
gen_op_check_addo(); |
801 | 801 |
} |
... | ... | |
803 | 803 |
#define gen_op_add_64 gen_op_add |
804 | 804 |
static always_inline void gen_op_addo_64 (void) |
805 | 805 |
{ |
806 |
gen_op_move_T2_T0();
|
|
806 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
807 | 807 |
gen_op_add(); |
808 | 808 |
gen_op_check_addo_64(); |
809 | 809 |
} |
... | ... | |
812 | 812 |
/* addc addc. addco addco. */ |
813 | 813 |
static always_inline void gen_op_addc (void) |
814 | 814 |
{ |
815 |
gen_op_move_T2_T0();
|
|
815 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
816 | 816 |
gen_op_add(); |
817 | 817 |
gen_op_check_addc(); |
818 | 818 |
} |
819 | 819 |
static always_inline void gen_op_addco (void) |
820 | 820 |
{ |
821 |
gen_op_move_T2_T0();
|
|
821 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
822 | 822 |
gen_op_add(); |
823 | 823 |
gen_op_check_addc(); |
824 | 824 |
gen_op_check_addo(); |
... | ... | |
826 | 826 |
#if defined(TARGET_PPC64) |
827 | 827 |
static always_inline void gen_op_addc_64 (void) |
828 | 828 |
{ |
829 |
gen_op_move_T2_T0();
|
|
829 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
830 | 830 |
gen_op_add(); |
831 | 831 |
gen_op_check_addc_64(); |
832 | 832 |
} |
833 | 833 |
static always_inline void gen_op_addco_64 (void) |
834 | 834 |
{ |
835 |
gen_op_move_T2_T0();
|
|
835 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
836 | 836 |
gen_op_add(); |
837 | 837 |
gen_op_check_addc_64(); |
838 | 838 |
gen_op_check_addo_64(); |
... | ... | |
842 | 842 |
/* adde adde. addeo addeo. */ |
843 | 843 |
static always_inline void gen_op_addeo (void) |
844 | 844 |
{ |
845 |
gen_op_move_T2_T0();
|
|
845 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
846 | 846 |
gen_op_adde(); |
847 | 847 |
gen_op_check_addo(); |
848 | 848 |
} |
849 | 849 |
#if defined(TARGET_PPC64) |
850 | 850 |
static always_inline void gen_op_addeo_64 (void) |
851 | 851 |
{ |
852 |
gen_op_move_T2_T0();
|
|
852 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
853 | 853 |
gen_op_adde_64(); |
854 | 854 |
gen_op_check_addo_64(); |
855 | 855 |
} |
... | ... | |
858 | 858 |
/* addme addme. addmeo addmeo. */ |
859 | 859 |
static always_inline void gen_op_addme (void) |
860 | 860 |
{ |
861 |
gen_op_move_T1_T0();
|
|
861 |
tcg_gen_mov_tl(cpu_T[1], cpu_T[0]);
|
|
862 | 862 |
gen_op_add_me(); |
863 | 863 |
} |
864 | 864 |
#if defined(TARGET_PPC64) |
865 | 865 |
static always_inline void gen_op_addme_64 (void) |
866 | 866 |
{ |
867 |
gen_op_move_T1_T0();
|
|
867 |
tcg_gen_mov_tl(cpu_T[1], cpu_T[0]);
|
|
868 | 868 |
gen_op_add_me_64(); |
869 | 869 |
} |
870 | 870 |
#endif |
... | ... | |
872 | 872 |
/* addze addze. addzeo addzeo. */ |
873 | 873 |
static always_inline void gen_op_addze (void) |
874 | 874 |
{ |
875 |
gen_op_move_T2_T0();
|
|
875 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
876 | 876 |
gen_op_add_ze(); |
877 | 877 |
gen_op_check_addc(); |
878 | 878 |
} |
879 | 879 |
static always_inline void gen_op_addzeo (void) |
880 | 880 |
{ |
881 |
gen_op_move_T2_T0();
|
|
881 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
882 | 882 |
gen_op_add_ze(); |
883 | 883 |
gen_op_check_addc(); |
884 | 884 |
gen_op_check_addo(); |
... | ... | |
886 | 886 |
#if defined(TARGET_PPC64) |
887 | 887 |
static always_inline void gen_op_addze_64 (void) |
888 | 888 |
{ |
889 |
gen_op_move_T2_T0();
|
|
889 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
890 | 890 |
gen_op_add_ze(); |
891 | 891 |
gen_op_check_addc_64(); |
892 | 892 |
} |
893 | 893 |
static always_inline void gen_op_addzeo_64 (void) |
894 | 894 |
{ |
895 |
gen_op_move_T2_T0();
|
|
895 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
896 | 896 |
gen_op_add_ze(); |
897 | 897 |
gen_op_check_addc_64(); |
898 | 898 |
gen_op_check_addo_64(); |
... | ... | |
999 | 999 |
|
1000 | 1000 |
gen_op_load_gpr_T0(rA(ctx->opcode)); |
1001 | 1001 |
if (likely(simm != 0)) { |
1002 |
gen_op_move_T2_T0();
|
|
1002 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
1003 | 1003 |
gen_op_addi(simm); |
1004 | 1004 |
#if defined(TARGET_PPC64) |
1005 | 1005 |
if (ctx->sf_mode) |
... | ... | |
1019 | 1019 |
|
1020 | 1020 |
gen_op_load_gpr_T0(rA(ctx->opcode)); |
1021 | 1021 |
if (likely(simm != 0)) { |
1022 |
gen_op_move_T2_T0();
|
|
1022 |
tcg_gen_mov_tl(cpu_T[2], cpu_T[0]);
|
|
1023 | 1023 |
gen_op_addi(simm); |
1024 | 1024 |
#if defined(TARGET_PPC64) |
1025 | 1025 |
if (ctx->sf_mode) |
... | ... | |
1661 | 1661 |
int mb, me; |
1662 | 1662 |
gen_op_load_gpr_T0(rS(ctx->opcode)); |
1663 | 1663 |
if (SH(ctx->opcode) != 0) { |
1664 |
gen_op_move_T1_T0();
|
|
1664 |
tcg_gen_mov_tl(cpu_T[1], cpu_T[0]);
|
|
1665 | 1665 |
mb = 32 - SH(ctx->opcode); |
1666 | 1666 |
me = 31; |
1667 | 1667 |
#if defined(TARGET_PPC64) |
... | ... | |
1691 | 1691 |
gen_op_load_gpr_T0(rS(ctx->opcode)); |
1692 | 1692 |
sh = SH(ctx->opcode) + (n << 5); |
1693 | 1693 |
if (sh != 0) { |
1694 |
gen_op_move_T1_T0();
|
|
1694 |
tcg_gen_mov_tl(cpu_T[1], cpu_T[0]);
|
|
1695 | 1695 |
mb = 64 - SH(ctx->opcode); |
1696 | 1696 |
me = 63; |
1697 | 1697 |
mask = MASK(mb, me); |
... | ... | |
4647 | 4647 |
if (opc2 & 0x04) { |
4648 | 4648 |
/* (n)multiply-and-accumulate (0x0C - 0x0E) */ |
4649 | 4649 |
gen_op_load_gpr_T2(rt); |
4650 |
gen_op_move_T1_T0();
|
|
4650 |
tcg_gen_mov_tl(cpu_T[1], cpu_T[0]);
|
|
4651 | 4651 |
gen_op_405_add_T0_T2(); |
4652 | 4652 |
} |
4653 | 4653 |
if (opc3 & 0x10) { |
Also available in: Unified diff