Revision 2633a2d0

b/tcg/arm/tcg-target.c
1048 1048
# if TARGET_LONG_BITS == 32
1049 1049
    tcg_out_dat_imm(s, COND_AL, ARITH_MOV, TCG_REG_R1, 0, mem_index);
1050 1050
# else
1051
    if (addr_reg2 != TCG_REG_R1) {
1052
        tcg_out_dat_reg(s, COND_AL, ARITH_MOV,
1053
                        TCG_REG_R1, 0, addr_reg2, SHIFT_IMM_LSL(0));
1054
    }
1051
    tcg_out_dat_reg(s, COND_AL, ARITH_MOV,
1052
                    TCG_REG_R1, 0, addr_reg2, SHIFT_IMM_LSL(0));
1055 1053
    tcg_out_dat_imm(s, COND_AL, ARITH_MOV, TCG_REG_R2, 0, mem_index);
1056 1054
# endif
1057 1055
    tcg_out_bl(s, COND_AL, (tcg_target_long) qemu_ld_helpers[s_bits] -
......
1257 1255
    tcg_out_b(s, COND_EQ, 8);
1258 1256

  
1259 1257
    /* TODO: move this code to where the constants pool will be */
1260
    if (addr_reg != TCG_REG_R0) {
1261
        tcg_out_dat_reg(s, COND_AL, ARITH_MOV,
1262
                        TCG_REG_R0, 0, addr_reg, SHIFT_IMM_LSL(0));
1263
    }
1258
    tcg_out_dat_reg(s, COND_AL, ARITH_MOV,
1259
                    TCG_REG_R0, 0, addr_reg, SHIFT_IMM_LSL(0));
1264 1260
# if TARGET_LONG_BITS == 32
1265 1261
    switch (opc) {
1266 1262
    case 0:
......
1272 1268
        tcg_out_dat_imm(s, COND_AL, ARITH_MOV, TCG_REG_R2, 0, mem_index);
1273 1269
        break;
1274 1270
    case 2:
1275
        if (data_reg != TCG_REG_R1) {
1276
            tcg_out_dat_reg(s, COND_AL, ARITH_MOV,
1277
                            TCG_REG_R1, 0, data_reg, SHIFT_IMM_LSL(0));
1278
        }
1271
        tcg_out_dat_reg(s, COND_AL, ARITH_MOV,
1272
                        TCG_REG_R1, 0, data_reg, SHIFT_IMM_LSL(0));
1279 1273
        tcg_out_dat_imm(s, COND_AL, ARITH_MOV, TCG_REG_R2, 0, mem_index);
1280 1274
        break;
1281 1275
    case 3:
1282
        if (data_reg != TCG_REG_R1) {
1283
            tcg_out_dat_reg(s, COND_AL, ARITH_MOV,
1284
                            TCG_REG_R1, 0, data_reg, SHIFT_IMM_LSL(0));
1285
        }
1276
        tcg_out_dat_reg(s, COND_AL, ARITH_MOV,
1277
                        TCG_REG_R1, 0, data_reg, SHIFT_IMM_LSL(0));
1286 1278
        if (data_reg2 != TCG_REG_R2) {
1287 1279
            tcg_out_dat_reg(s, COND_AL, ARITH_MOV,
1288 1280
                            TCG_REG_R2, 0, data_reg2, SHIFT_IMM_LSL(0));
......
1291 1283
        break;
1292 1284
    }
1293 1285
# else
1294
    if (addr_reg2 != TCG_REG_R1) {
1295
        tcg_out_dat_reg(s, COND_AL, ARITH_MOV,
1296
                        TCG_REG_R1, 0, addr_reg2, SHIFT_IMM_LSL(0));
1297
    }
1286
    tcg_out_dat_reg(s, COND_AL, ARITH_MOV,
1287
                    TCG_REG_R1, 0, addr_reg2, SHIFT_IMM_LSL(0));
1298 1288
    switch (opc) {
1299 1289
    case 0:
1300 1290
        tcg_out_ext8u(s, COND_AL, TCG_REG_R2, data_reg);

Also available in: Unified diff