Revision 8c5e95d8 tcg/ppc/tcg-target.c

b/tcg/ppc/tcg-target.c
415 415

  
416 416
    disp = target - (tcg_target_long) s->code_ptr;
417 417
    if ((disp << 6) >> 6 == disp)
418
        tcg_out32 (s, B | disp | mask);
418
        tcg_out32 (s, B | (disp & 0x3fffffc) | mask);
419 419
    else {
420 420
        tcg_out_movi (s, TCG_TYPE_I32, 0, (tcg_target_long) target);
421 421
        tcg_out32 (s, MTSPR | RS (0) | CTR);

Also available in: Unified diff