Revision 3cd7d1dd target-ppc/op_helper.c

b/target-ppc/op_helper.c
1853 1853
    T0 = i;
1854 1854
}
1855 1855

  
1856
#if defined(TARGET_PPCEMB)
1857 1856
/* SPE extension helpers */
1858 1857
/* Use a table to make this quicker */
1859 1858
static uint8_t hbrev[16] = {
......
1872 1871
        (byte_reverse(val >> 8) << 16) | (byte_reverse(val) << 24);
1873 1872
}
1874 1873

  
1875
#define MASKBITS 16 // Random value - to be fixed
1874
#define MASKBITS 16 // Random value - to be fixed (implementation dependant)
1876 1875
void do_brinc (void)
1877 1876
{
1878 1877
    uint32_t a, b, d, mask;
1879 1878

  
1880
    mask = UINT32_MAX >> MASKBITS;
1881
    b = T1_64 & mask;
1882
    a = T0_64 & mask;
1883
    d = word_reverse(1 + word_reverse(a | ~mask));
1884
    T0_64 = (T0_64 & ~mask) | (d & mask);
1879
    mask = UINT32_MAX >> (32 - MASKBITS);
1880
    a = T0 & mask;
1881
    b = T1 & mask;
1882
    d = word_reverse(1 + word_reverse(a | ~b));
1883
    T0 = (T0 & ~mask) | (d & b);
1885 1884
}
1886 1885

  
1887 1886
#define DO_SPE_OP2(name)                                                      \
......
2713 2712
DO_SPE_OP1(fsctsf);
2714 2713
/* evfsctuf */
2715 2714
DO_SPE_OP1(fsctuf);
2716
#endif /* defined(TARGET_PPCEMB) */
2717 2715

  
2718 2716
/*****************************************************************************/
2719 2717
/* Softmmu support */

Also available in: Unified diff