Ignore:
Timestamp:
Oct 22, 2011, 3:38:20 PM (8 years ago)
Author:
cameron
Message:

bitblock::popcount; clean libgen/idisa_lib out

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/idisa_cpp/idisa_avx.cpp

    r1548 r1556  
    4646        static IDISA_ALWAYS_INLINE bitblock256_t add_hl(bitblock256_t arg1, bitblock256_t arg2);
    4747        static IDISA_ALWAYS_INLINE bitblock256_t packss(bitblock256_t arg1, bitblock256_t arg2);
     48        static IDISA_ALWAYS_INLINE bitblock256_t packh(bitblock256_t arg1, bitblock256_t arg2);
    4849        static IDISA_ALWAYS_INLINE uint64_t signmask(bitblock256_t arg1);
    49         static IDISA_ALWAYS_INLINE bitblock256_t packh(bitblock256_t arg1, bitblock256_t arg2);
    5050        static IDISA_ALWAYS_INLINE bitblock256_t packl(bitblock256_t arg1, bitblock256_t arg2);
    5151        static IDISA_ALWAYS_INLINE bitblock256_t min_hl(bitblock256_t arg1, bitblock256_t arg2);
     
    8787        static IDISA_ALWAYS_INLINE bool all(bitblock256_t arg1);
    8888        static IDISA_ALWAYS_INLINE bool any(bitblock256_t arg1);
     89        static IDISA_ALWAYS_INLINE uint64_t popcount(bitblock256_t arg1);
    8990};
    9091
     
    32873288}
    32883289
     3290//The total number of operations is 209
     3291IDISA_ALWAYS_INLINE uint64_t bitblock256::popcount(bitblock256_t arg1)
     3292{
     3293        return mvmd256<64>::extract<0>(simd256<256>::popcount(arg1));
     3294}
     3295
    32893296//The total number of operations is 2
    32903297IDISA_ALWAYS_INLINE bool bitblock256::all(bitblock256_t arg1)
Note: See TracChangeset for help on using the changeset viewer.