Changeset 1556 for trunk/lib/idisa_cpp


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

bitblock::popcount; clean libgen/idisa_lib out

Location:
trunk/lib/idisa_cpp
Files:
6 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)
  • trunk/lib/idisa_cpp/idisa_sse2.cpp

    r1548 r1556  
    4848        static IDISA_ALWAYS_INLINE bitblock128_t add_hl(bitblock128_t arg1, bitblock128_t arg2);
    4949        static IDISA_ALWAYS_INLINE bitblock128_t packss(bitblock128_t arg1, bitblock128_t arg2);
     50        static IDISA_ALWAYS_INLINE bitblock128_t packh(bitblock128_t arg1, bitblock128_t arg2);
    5051        static IDISA_ALWAYS_INLINE uint64_t signmask(bitblock128_t arg1);
    51         static IDISA_ALWAYS_INLINE bitblock128_t packh(bitblock128_t arg1, bitblock128_t arg2);
    5252        static IDISA_ALWAYS_INLINE bitblock128_t packl(bitblock128_t arg1, bitblock128_t arg2);
    5353        static IDISA_ALWAYS_INLINE bitblock128_t min_hl(bitblock128_t arg1, bitblock128_t arg2);
     
    9090        static IDISA_ALWAYS_INLINE bool all(bitblock128_t arg1);
    9191        static IDISA_ALWAYS_INLINE bool any(bitblock128_t arg1);
     92        static IDISA_ALWAYS_INLINE uint64_t popcount(bitblock128_t arg1);
    9293};
    9394
     
    29882989}
    29892990
     2991//The total number of operations is 22
     2992IDISA_ALWAYS_INLINE uint64_t bitblock128::popcount(bitblock128_t arg1)
     2993{
     2994        return mvmd128<64>::extract<0>(simd128<128>::popcount(arg1));
     2995}
     2996
    29902997//The total number of operations is 2
    29912998IDISA_ALWAYS_INLINE bool bitblock128::all(bitblock128_t arg1)
  • trunk/lib/idisa_cpp/idisa_sse3.cpp

    r1548 r1556  
    4848        static IDISA_ALWAYS_INLINE bitblock128_t add_hl(bitblock128_t arg1, bitblock128_t arg2);
    4949        static IDISA_ALWAYS_INLINE bitblock128_t packss(bitblock128_t arg1, bitblock128_t arg2);
     50        static IDISA_ALWAYS_INLINE bitblock128_t packh(bitblock128_t arg1, bitblock128_t arg2);
    5051        static IDISA_ALWAYS_INLINE uint64_t signmask(bitblock128_t arg1);
    51         static IDISA_ALWAYS_INLINE bitblock128_t packh(bitblock128_t arg1, bitblock128_t arg2);
    5252        static IDISA_ALWAYS_INLINE bitblock128_t packl(bitblock128_t arg1, bitblock128_t arg2);
    5353        static IDISA_ALWAYS_INLINE bitblock128_t min_hl(bitblock128_t arg1, bitblock128_t arg2);
     
    9090        static IDISA_ALWAYS_INLINE bool all(bitblock128_t arg1);
    9191        static IDISA_ALWAYS_INLINE bool any(bitblock128_t arg1);
     92        static IDISA_ALWAYS_INLINE uint64_t popcount(bitblock128_t arg1);
    9293};
    9394
     
    29882989}
    29892990
     2991//The total number of operations is 22
     2992IDISA_ALWAYS_INLINE uint64_t bitblock128::popcount(bitblock128_t arg1)
     2993{
     2994        return mvmd128<64>::extract<0>(simd128<128>::popcount(arg1));
     2995}
     2996
    29902997//The total number of operations is 2
    29912998IDISA_ALWAYS_INLINE bool bitblock128::all(bitblock128_t arg1)
  • trunk/lib/idisa_cpp/idisa_sse4_1.cpp

    r1548 r1556  
    4848        static IDISA_ALWAYS_INLINE bitblock128_t add_hl(bitblock128_t arg1, bitblock128_t arg2);
    4949        static IDISA_ALWAYS_INLINE bitblock128_t packss(bitblock128_t arg1, bitblock128_t arg2);
     50        static IDISA_ALWAYS_INLINE bitblock128_t packh(bitblock128_t arg1, bitblock128_t arg2);
    5051        static IDISA_ALWAYS_INLINE uint64_t signmask(bitblock128_t arg1);
    51         static IDISA_ALWAYS_INLINE bitblock128_t packh(bitblock128_t arg1, bitblock128_t arg2);
    5252        static IDISA_ALWAYS_INLINE bitblock128_t packl(bitblock128_t arg1, bitblock128_t arg2);
    5353        static IDISA_ALWAYS_INLINE bitblock128_t min_hl(bitblock128_t arg1, bitblock128_t arg2);
     
    9191        static IDISA_ALWAYS_INLINE bool all(bitblock128_t arg1);
    9292        static IDISA_ALWAYS_INLINE bool any(bitblock128_t arg1);
     93        static IDISA_ALWAYS_INLINE uint64_t popcount(bitblock128_t arg1);
    9394};
    9495
     
    30203021}
    30213022
     3023//The total number of operations is 20
     3024IDISA_ALWAYS_INLINE uint64_t bitblock128::popcount(bitblock128_t arg1)
     3025{
     3026        return mvmd128<64>::extract<0>(simd128<128>::popcount(arg1));
     3027}
     3028
    30223029//The total number of operations is 2
    30233030IDISA_ALWAYS_INLINE bool bitblock128::all(bitblock128_t arg1)
  • trunk/lib/idisa_cpp/idisa_sse4_2.cpp

    r1548 r1556  
    4848        static IDISA_ALWAYS_INLINE bitblock128_t add_hl(bitblock128_t arg1, bitblock128_t arg2);
    4949        static IDISA_ALWAYS_INLINE bitblock128_t packss(bitblock128_t arg1, bitblock128_t arg2);
     50        static IDISA_ALWAYS_INLINE bitblock128_t packh(bitblock128_t arg1, bitblock128_t arg2);
    5051        static IDISA_ALWAYS_INLINE uint64_t signmask(bitblock128_t arg1);
    51         static IDISA_ALWAYS_INLINE bitblock128_t packh(bitblock128_t arg1, bitblock128_t arg2);
    5252        static IDISA_ALWAYS_INLINE bitblock128_t packl(bitblock128_t arg1, bitblock128_t arg2);
    5353        static IDISA_ALWAYS_INLINE bitblock128_t min_hl(bitblock128_t arg1, bitblock128_t arg2);
     
    9191        static IDISA_ALWAYS_INLINE bool all(bitblock128_t arg1);
    9292        static IDISA_ALWAYS_INLINE bool any(bitblock128_t arg1);
     93        static IDISA_ALWAYS_INLINE uint64_t popcount(bitblock128_t arg1);
    9394};
    9495
     
    30023003}
    30033004
     3005//The total number of operations is 20
     3006IDISA_ALWAYS_INLINE uint64_t bitblock128::popcount(bitblock128_t arg1)
     3007{
     3008        return mvmd128<64>::extract<0>(simd128<128>::popcount(arg1));
     3009}
     3010
    30043011//The total number of operations is 2
    30053012IDISA_ALWAYS_INLINE bool bitblock128::all(bitblock128_t arg1)
  • trunk/lib/idisa_cpp/idisa_ssse3.cpp

    r1548 r1556  
    4848        static IDISA_ALWAYS_INLINE bitblock128_t add_hl(bitblock128_t arg1, bitblock128_t arg2);
    4949        static IDISA_ALWAYS_INLINE bitblock128_t packss(bitblock128_t arg1, bitblock128_t arg2);
     50        static IDISA_ALWAYS_INLINE bitblock128_t packh(bitblock128_t arg1, bitblock128_t arg2);
    5051        static IDISA_ALWAYS_INLINE uint64_t signmask(bitblock128_t arg1);
    51         static IDISA_ALWAYS_INLINE bitblock128_t packh(bitblock128_t arg1, bitblock128_t arg2);
    5252        static IDISA_ALWAYS_INLINE bitblock128_t packl(bitblock128_t arg1, bitblock128_t arg2);
    5353        static IDISA_ALWAYS_INLINE bitblock128_t min_hl(bitblock128_t arg1, bitblock128_t arg2);
     
    9191        static IDISA_ALWAYS_INLINE bool all(bitblock128_t arg1);
    9292        static IDISA_ALWAYS_INLINE bool any(bitblock128_t arg1);
     93        static IDISA_ALWAYS_INLINE uint64_t popcount(bitblock128_t arg1);
    9394};
    9495
     
    30233024}
    30243025
     3026//The total number of operations is 22
     3027IDISA_ALWAYS_INLINE uint64_t bitblock128::popcount(bitblock128_t arg1)
     3028{
     3029        return mvmd128<64>::extract<0>(simd128<128>::popcount(arg1));
     3030}
     3031
    30253032//The total number of operations is 2
    30263033IDISA_ALWAYS_INLINE bool bitblock128::all(bitblock128_t arg1)
Note: See TracChangeset for help on using the changeset viewer.