Revision 1a855029

b/target-arm/translate.c
250 250
/* Byteswap low halfword and sign extend.  */
251 251
static void gen_revsh(TCGv var)
252 252
{
253
    TCGv tmp = new_tmp();
254
    tcg_gen_shri_i32(tmp, var, 8);
255
    tcg_gen_andi_i32(tmp, tmp, 0x00ff);
256
    tcg_gen_shli_i32(var, var, 8);
257
    tcg_gen_ext8s_i32(var, var);
258
    tcg_gen_or_i32(var, var, tmp);
259
    dead_tmp(tmp);
253
    tcg_gen_ext16u_i32(var, var);
254
    tcg_gen_bswap16_i32(var, var);
255
    tcg_gen_ext16s_i32(var, var);
260 256
}
261 257

  
262 258
/* Unsigned bitfield extract.  */

Also available in: Unified diff