Revision 3b6dac34 tcg/ppc/tcg-target.c

b/tcg/ppc/tcg-target.c
437 437
    [TCG_COND_GTU] = BC | BI (7, CR_GT) | BO_COND_TRUE,
438 438
};
439 439

  
440
static void tcg_out_mov(TCGContext *s, int ret, int arg)
440
static void tcg_out_mov(TCGContext *s, TCGType type, int ret, int arg)
441 441
{
442 442
    tcg_out32 (s, OR | SAB (arg, ret, arg));
443 443
}
......
591 591

  
592 592
    /* slow path */
593 593
#if TARGET_LONG_BITS == 32
594
    tcg_out_mov (s, 3, addr_reg);
594
    tcg_out_mov (s, TCG_TYPE_I32, 3, addr_reg);
595 595
    tcg_out_movi (s, TCG_TYPE_I32, 4, mem_index);
596 596
#else
597
    tcg_out_mov (s, 3, addr_reg2);
598
    tcg_out_mov (s, 4, addr_reg);
597
    tcg_out_mov (s, TCG_TYPE_I32, 3, addr_reg2);
598
    tcg_out_mov (s, TCG_TYPE_I32, 4, addr_reg);
599 599
    tcg_out_movi (s, TCG_TYPE_I32, 5, mem_index);
600 600
#endif
601 601

  
......
611 611
    case 1:
612 612
    case 2:
613 613
        if (data_reg != 3)
614
            tcg_out_mov (s, data_reg, 3);
614
            tcg_out_mov (s, TCG_TYPE_I32, data_reg, 3);
615 615
        break;
616 616
    case 3:
617 617
        if (data_reg == 3) {
618 618
            if (data_reg2 == 4) {
619
                tcg_out_mov (s, 0, 4);
620
                tcg_out_mov (s, 4, 3);
621
                tcg_out_mov (s, 3, 0);
619
                tcg_out_mov (s, TCG_TYPE_I32, 0, 4);
620
                tcg_out_mov (s, TCG_TYPE_I32, 4, 3);
621
                tcg_out_mov (s, TCG_TYPE_I32, 3, 0);
622 622
            }
623 623
            else {
624
                tcg_out_mov (s, data_reg2, 3);
625
                tcg_out_mov (s, 3, 4);
624
                tcg_out_mov (s, TCG_TYPE_I32, data_reg2, 3);
625
                tcg_out_mov (s, TCG_TYPE_I32, 3, 4);
626 626
            }
627 627
        }
628 628
        else {
629
            if (data_reg != 4) tcg_out_mov (s, data_reg, 4);
630
            if (data_reg2 != 3) tcg_out_mov (s, data_reg2, 3);
629
            if (data_reg != 4) tcg_out_mov (s, TCG_TYPE_I32, data_reg, 4);
630
            if (data_reg2 != 3) tcg_out_mov (s, TCG_TYPE_I32, data_reg2, 3);
631 631
        }
632 632
        break;
633 633
    }
......
705 705
            if (r0 == data_reg2) {
706 706
                tcg_out32 (s, LWZ | RT (0) | RA (r0));
707 707
                tcg_out32 (s, LWZ | RT (data_reg) | RA (r0) | 4);
708
                tcg_out_mov (s, data_reg2, 0);
708
                tcg_out_mov (s, TCG_TYPE_I32, data_reg2, 0);
709 709
            }
710 710
            else {
711 711
                tcg_out32 (s, LWZ | RT (data_reg2) | RA (r0));
......
787 787

  
788 788
    /* slow path */
789 789
#if TARGET_LONG_BITS == 32
790
    tcg_out_mov (s, 3, addr_reg);
790
    tcg_out_mov (s, TCG_TYPE_I32, 3, addr_reg);
791 791
    ir = 4;
792 792
#else
793
    tcg_out_mov (s, 3, addr_reg2);
794
    tcg_out_mov (s, 4, addr_reg);
793
    tcg_out_mov (s, TCG_TYPE_I32, 3, addr_reg2);
794
    tcg_out_mov (s, TCG_TYPE_I32, 4, addr_reg);
795 795
#ifdef TCG_TARGET_CALL_ALIGN_ARGS
796 796
    ir = 5;
797 797
#else
......
817 817
                       | ME (31)));
818 818
        break;
819 819
    case 2:
820
        tcg_out_mov (s, ir, data_reg);
820
        tcg_out_mov (s, TCG_TYPE_I32, ir, data_reg);
821 821
        break;
822 822
    case 3:
823 823
#ifdef TCG_TARGET_CALL_ALIGN_ARGS
824 824
        ir = 5;
825 825
#endif
826
        tcg_out_mov (s, ir++, data_reg2);
827
        tcg_out_mov (s, ir, data_reg);
826
        tcg_out_mov (s, TCG_TYPE_I32, ir++, data_reg2);
827
        tcg_out_mov (s, TCG_TYPE_I32, ir, data_reg);
828 828
        break;
829 829
    }
830 830
    ir++;
......
1526 1526
        if (args[0] == args[2] || args[0] == args[3]) {
1527 1527
            tcg_out32 (s, MULLW | TAB (0, args[2], args[3]));
1528 1528
            tcg_out32 (s, MULHWU | TAB (args[1], args[2], args[3]));
1529
            tcg_out_mov (s, args[0], 0);
1529
            tcg_out_mov (s, TCG_TYPE_I32, args[0], 0);
1530 1530
        }
1531 1531
        else {
1532 1532
            tcg_out32 (s, MULLW | TAB (args[0], args[2], args[3]));
......
1584 1584
    case INDEX_op_rotr_i32:
1585 1585
        if (const_args[2]) {
1586 1586
            if (!args[2]) {
1587
                tcg_out_mov (s, args[0], args[1]);
1587
                tcg_out_mov (s, TCG_TYPE_I32, args[0], args[1]);
1588 1588
            }
1589 1589
            else {
1590 1590
                tcg_out32 (s, RLWINM
......
1612 1612
        if (args[0] == args[3] || args[0] == args[5]) {
1613 1613
            tcg_out32 (s, ADDC | TAB (0, args[2], args[4]));
1614 1614
            tcg_out32 (s, ADDE | TAB (args[1], args[3], args[5]));
1615
            tcg_out_mov (s, args[0], 0);
1615
            tcg_out_mov (s, TCG_TYPE_I32, args[0], 0);
1616 1616
        }
1617 1617
        else {
1618 1618
            tcg_out32 (s, ADDC | TAB (args[0], args[2], args[4]));
......
1623 1623
        if (args[0] == args[3] || args[0] == args[5]) {
1624 1624
            tcg_out32 (s, SUBFC | TAB (0, args[4], args[2]));
1625 1625
            tcg_out32 (s, SUBFE | TAB (args[1], args[5], args[3]));
1626
            tcg_out_mov (s, args[0], 0);
1626
            tcg_out_mov (s, TCG_TYPE_I32, args[0], 0);
1627 1627
        }
1628 1628
        else {
1629 1629
            tcg_out32 (s, SUBFC | TAB (args[0], args[4], args[2]));
......
1782 1782
                );
1783 1783

  
1784 1784
            if (!a0) {
1785
                tcg_out_mov (s, args[0], a0);
1785
                tcg_out_mov (s, TCG_TYPE_I32, args[0], a0);
1786 1786
            }
1787 1787
        }
1788 1788
        break;

Also available in: Unified diff