Revision 1121f879 target-sparc/op_helper.c

b/target-sparc/op_helper.c
2199 2199
{
2200 2200
    target_ulong ret;
2201 2201

  
2202
    val1 &= 0xffffffffUL;
2202
    val2 &= 0xffffffffUL;
2203 2203
    ret = helper_ld_asi(addr, asi, 4, 0);
2204 2204
    ret &= 0xffffffffUL;
2205
    if (val1 == ret)
2206
        helper_st_asi(addr, val2 & 0xffffffffUL, asi, 4);
2205
    if (val2 == ret)
2206
        helper_st_asi(addr, val1 & 0xffffffffUL, asi, 4);
2207 2207
    return ret;
2208 2208
}
2209 2209

  
......
2213 2213
    target_ulong ret;
2214 2214

  
2215 2215
    ret = helper_ld_asi(addr, asi, 8, 0);
2216
    if (val1 == ret)
2217
        helper_st_asi(addr, val2, asi, 8);
2216
    if (val2 == ret)
2217
        helper_st_asi(addr, val1, asi, 8);
2218 2218
    return ret;
2219 2219
}
2220 2220
#endif /* TARGET_SPARC64 */

Also available in: Unified diff