Revision eed152bb target-sparc/op_helper.c

b/target-sparc/op_helper.c
1 1
#include "exec.h"
2
#include "host-utils.h"
2 3

  
3 4
//#define DEBUG_PCALL
4 5
//#define DEBUG_MMU
......
1469 1470

  
1470 1471
void do_popc()
1471 1472
{
1472
    T0 = (T1 & 0x5555555555555555ULL) + ((T1 >> 1) & 0x5555555555555555ULL);
1473
    T0 = (T0 & 0x3333333333333333ULL) + ((T0 >> 2) & 0x3333333333333333ULL);
1474
    T0 = (T0 & 0x0f0f0f0f0f0f0f0fULL) + ((T0 >> 4) & 0x0f0f0f0f0f0f0f0fULL);
1475
    T0 = (T0 & 0x00ff00ff00ff00ffULL) + ((T0 >> 8) & 0x00ff00ff00ff00ffULL);
1476
    T0 = (T0 & 0x0000ffff0000ffffULL) + ((T0 >> 16) & 0x0000ffff0000ffffULL);
1477
    T0 = (T0 & 0x00000000ffffffffULL) + ((T0 >> 32) & 0x00000000ffffffffULL);
1473
    T0 = ctpop64(T1);
1478 1474
}
1479 1475

  
1480 1476
static inline uint64_t *get_gregset(uint64_t pstate)

Also available in: Unified diff