Revision 3b6dac34 tcg/mips/tcg-target.c

b/tcg/mips/tcg-target.c
377 377
    tcg_out32(s, 0);
378 378
}
379 379

  
380
static inline void tcg_out_mov(TCGContext *s, int ret, int arg)
380
static inline void tcg_out_mov(TCGContext *s, TCGType type, int ret, int arg)
381 381
{
382 382
    tcg_out_opc_reg(s, OPC_ADDU, ret, arg, TCG_REG_ZERO);
383 383
}
......
849 849

  
850 850
    /* slow path */
851 851
    sp_args = TCG_REG_A0;
852
    tcg_out_mov(s, sp_args++, addr_reg1);
852
    tcg_out_mov(s, TCG_TYPE_I32, sp_args++, addr_reg1);
853 853
# if TARGET_LONG_BITS == 64
854
    tcg_out_mov(s, sp_args++, addr_reg2);
854
    tcg_out_mov(s, TCG_TYPE_I32, sp_args++, addr_reg2);
855 855
# endif
856 856
    tcg_out_movi(s, TCG_TYPE_I32, sp_args++, mem_index);
857 857
    tcg_out_movi(s, TCG_TYPE_I32, TCG_REG_T9, (tcg_target_long)qemu_ld_helpers[s_bits]);
......
872 872
        tcg_out_ext16s(s, data_reg1, TCG_REG_V0);
873 873
        break;
874 874
    case 2:
875
        tcg_out_mov(s, data_reg1, TCG_REG_V0);
875
        tcg_out_mov(s, TCG_TYPE_I32, data_reg1, TCG_REG_V0);
876 876
        break;
877 877
    case 3:
878
        tcg_out_mov(s, data_reg2, TCG_REG_V1);
879
        tcg_out_mov(s, data_reg1, TCG_REG_V0);
878
        tcg_out_mov(s, TCG_TYPE_I32, data_reg2, TCG_REG_V1);
879
        tcg_out_mov(s, TCG_TYPE_I32, data_reg1, TCG_REG_V0);
880 880
        break;
881 881
    default:
882 882
        tcg_abort();
......
1035 1035

  
1036 1036
    /* slow path */
1037 1037
    sp_args = TCG_REG_A0;
1038
    tcg_out_mov(s, sp_args++, addr_reg1);
1038
    tcg_out_mov(s, TCG_TYPE_I32, sp_args++, addr_reg1);
1039 1039
# if TARGET_LONG_BITS == 64
1040
    tcg_out_mov(s, sp_args++, addr_reg2);
1040
    tcg_out_mov(s, TCG_TYPE_I32, sp_args++, addr_reg2);
1041 1041
# endif
1042 1042
    switch(opc) {
1043 1043
    case 0:
......
1047 1047
        tcg_out_opc_imm(s, OPC_ANDI, sp_args++, data_reg1, 0xffff);
1048 1048
        break;
1049 1049
    case 2:
1050
        tcg_out_mov(s, sp_args++, data_reg1);
1050
        tcg_out_mov(s, TCG_TYPE_I32, sp_args++, data_reg1);
1051 1051
        break;
1052 1052
    case 3:
1053 1053
        sp_args = (sp_args + 1) & ~1;
1054
        tcg_out_mov(s, sp_args++, data_reg1);
1055
        tcg_out_mov(s, sp_args++, data_reg2);
1054
        tcg_out_mov(s, TCG_TYPE_I32, sp_args++, data_reg1);
1055
        tcg_out_mov(s, TCG_TYPE_I32, sp_args++, data_reg2);
1056 1056
        break;
1057 1057
    default:
1058 1058
        tcg_abort();
......
1165 1165
        break;
1166 1166

  
1167 1167
    case INDEX_op_mov_i32:
1168
        tcg_out_mov(s, args[0], args[1]);
1168
        tcg_out_mov(s, TCG_TYPE_I32, args[0], args[1]);
1169 1169
        break;
1170 1170
    case INDEX_op_movi_i32:
1171 1171
        tcg_out_movi(s, TCG_TYPE_I32, args[0], args[1]);
......
1216 1216
             tcg_out_opc_reg(s, OPC_ADDU, args[1], args[3], args[5]);
1217 1217
        }
1218 1218
        tcg_out_opc_reg(s, OPC_ADDU, args[1], args[1], TCG_REG_T0);
1219
        tcg_out_mov(s, args[0], TCG_REG_AT);
1219
        tcg_out_mov(s, TCG_TYPE_I32, args[0], TCG_REG_AT);
1220 1220
        break;
1221 1221
    case INDEX_op_sub_i32:
1222 1222
        if (const_args[2]) {
......
1238 1238
             tcg_out_opc_reg(s, OPC_SUBU, args[1], args[3], args[5]);
1239 1239
        }
1240 1240
        tcg_out_opc_reg(s, OPC_SUBU, args[1], args[1], TCG_REG_T0);
1241
        tcg_out_mov(s, args[0], TCG_REG_AT);
1241
        tcg_out_mov(s, TCG_TYPE_I32, args[0], TCG_REG_AT);
1242 1242
        break;
1243 1243
    case INDEX_op_mul_i32:
1244 1244
        tcg_out_opc_reg(s, OPC_MULT, 0, args[1], args[2]);

Also available in: Unified diff