Revision eae6ce52 tcg/arm/tcg-target.c

b/tcg/arm/tcg-target.c
78 78
        tcg_abort();
79 79

  
80 80
    case R_ARM_PC24:
81
        *(uint32_t *) code_ptr |= (*(uint32_t *) code_ptr & 0xff000000) |
81
        *(uint32_t *) code_ptr = ((*(uint32_t *) code_ptr) & 0xff000000) |
82 82
                (((value - ((tcg_target_long) code_ptr + 8)) >> 2) & 0xffffff);
83 83
        break;
84 84
    }
......
109 109
        break;
110 110

  
111 111
#ifdef CONFIG_SOFTMMU
112
    /* qemu_ld/st inputs (unless 'd', 'D' or 'X') */
112
    /* qemu_ld/st inputs (unless 'X' or 'D') */
113 113
    case 'x':
114 114
        ct->ct |= TCG_CT_REG;
115 115
        tcg_regset_set32(ct->u.regs, 0, (1 << TCG_TARGET_NB_REGS) - 1);
......
995 995
        tcg_out_ld32_12(s, COND_AL, data_reg, addr_reg, 0);
996 996
        break;
997 997
    case 3:
998
        /* TODO: use block load */
998
        /* TODO: use block load -
999
         * check that data_reg2 > data_reg or the other way */
999 1000
        tcg_out_ld32_12(s, COND_AL, data_reg, addr_reg, 0);
1000 1001
        tcg_out_ld32_12(s, COND_AL, data_reg2, addr_reg, 4);
1001 1002
        break;
......
1200 1201
        tcg_out_st32_12(s, COND_AL, data_reg, addr_reg, 0);
1201 1202
        break;
1202 1203
    case 3:
1203
        /* TODO: use block store */
1204
        /* TODO: use block store -
1205
         * check that data_reg2 > data_reg or the other way */
1204 1206
        tcg_out_st32_12(s, COND_AL, data_reg, addr_reg, 0);
1205 1207
        tcg_out_st32_12(s, COND_AL, data_reg2, addr_reg, 4);
1206 1208
        break;

Also available in: Unified diff