Revision 5550359f target-s390x/translate.c

b/target-s390x/translate.c
1427 1427
    return help_branch(s, &c, is_imm, imm, o->in2);
1428 1428
}
1429 1429

  
1430
static ExitStatus op_cj(DisasContext *s, DisasOps *o)
1431
{
1432
    int imm, m3 = get_field(s->fields, m3);
1433
    bool is_imm;
1434
    DisasCompare c;
1435

  
1436
    /* Bit 3 of the m3 field is reserved and should be zero.
1437
       Choose to ignore it wrt the ltgt_cond table above.  */
1438
    c.cond = ltgt_cond[m3 & 14];
1439
    if (s->insn->data) {
1440
        c.cond = tcg_unsigned_cond(c.cond);
1441
    }
1442
    c.is_64 = c.g1 = c.g2 = true;
1443
    c.u.s64.a = o->in1;
1444
    c.u.s64.b = o->in2;
1445

  
1446
    is_imm = have_field(s->fields, i4);
1447
    if (is_imm) {
1448
        imm = get_field(s->fields, i4);
1449
    } else {
1450
        imm = 0;
1451
        o->out = get_address(s, 0, get_field(s->fields, b4),
1452
                             get_field(s->fields, d4));
1453
    }
1454

  
1455
    return help_branch(s, &c, is_imm, imm, o->out);
1456
}
1457

  
1430 1458
static ExitStatus op_ceb(DisasContext *s, DisasOps *o)
1431 1459
{
1432 1460
    gen_helper_ceb(cc_op, cpu_env, o->in1, o->in2);

Also available in: Unified diff