Ignore:
Timestamp:
Dec 22, 2011, 8:33:21 PM (8 years ago)
Author:
cameron
Message:

New store/load op syntax

File:
1 edited

Legend:

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

    r1767 r1807  
    9696public:
    9797        static IDISA_ALWAYS_INLINE bitblock128_t sll(bitblock128_t arg1, bitblock128_t arg2);
    98         static IDISA_ALWAYS_INLINE bitblock128_t load_unaligned(bitblock128_t* arg1);
     98        static IDISA_ALWAYS_INLINE bitblock128_t load_unaligned(const bitblock128_t* arg1);
    9999        template <uint64_t sh> static IDISA_ALWAYS_INLINE bitblock128_t srli(bitblock128_t arg1);
    100100        static IDISA_ALWAYS_INLINE bitblock128_t srl(bitblock128_t arg1, bitblock128_t arg2);
    101         static IDISA_ALWAYS_INLINE void store_aligned(bitblock128_t* arg1, bitblock128_t arg2);
     101        static IDISA_ALWAYS_INLINE void store_aligned(bitblock128_t arg1, bitblock128_t* arg2);
    102102        static IDISA_ALWAYS_INLINE bool all(bitblock128_t arg1);
    103103        static IDISA_ALWAYS_INLINE bool any(bitblock128_t arg1);
    104104        static IDISA_ALWAYS_INLINE uint64_t popcount(bitblock128_t arg1);
    105105        template <uint64_t sh> static IDISA_ALWAYS_INLINE bitblock128_t slli(bitblock128_t arg1);
    106         static IDISA_ALWAYS_INLINE bitblock128_t load_aligned(bitblock128_t* arg1);
    107         static IDISA_ALWAYS_INLINE void store_unaligned(bitblock128_t* arg1, bitblock128_t arg2);
     106        static IDISA_ALWAYS_INLINE bitblock128_t load_aligned(const bitblock128_t* arg1);
     107        static IDISA_ALWAYS_INLINE void store_unaligned(bitblock128_t arg1, bitblock128_t* arg2);
    108108};
    109109
     
    29762976
    29772977//The total number of operations is 1.0
    2978 IDISA_ALWAYS_INLINE bitblock128_t bitblock128::load_unaligned(bitblock128_t* arg1)
     2978IDISA_ALWAYS_INLINE bitblock128_t bitblock128::load_unaligned(const bitblock128_t* arg1)
    29792979{
    29802980        return _mm_loadu_si128((bitblock128_t*)(arg1));
     
    29882988
    29892989//The total number of operations is 1.0
    2990 IDISA_ALWAYS_INLINE void bitblock128::store_aligned(bitblock128_t* arg1, bitblock128_t arg2)
    2991 {
    2992         _mm_store_si128((bitblock128_t*)(arg1), arg2);
     2990IDISA_ALWAYS_INLINE void bitblock128::store_aligned(bitblock128_t arg1, bitblock128_t* arg2)
     2991{
     2992        _mm_store_si128((bitblock128_t*)(arg2), arg1);
    29932993}
    29942994
     
    30243024
    30253025//The total number of operations is 1.0
    3026 IDISA_ALWAYS_INLINE bitblock128_t bitblock128::load_aligned(bitblock128_t* arg1)
     3026IDISA_ALWAYS_INLINE bitblock128_t bitblock128::load_aligned(const bitblock128_t* arg1)
    30273027{
    30283028        return _mm_load_si128((bitblock128_t*)(arg1));
     
    30303030
    30313031//The total number of operations is 1.0
    3032 IDISA_ALWAYS_INLINE void bitblock128::store_unaligned(bitblock128_t* arg1, bitblock128_t arg2)
    3033 {
    3034         _mm_storeu_si128((bitblock128_t*)(arg1), arg2);
     3032IDISA_ALWAYS_INLINE void bitblock128::store_unaligned(bitblock128_t arg1, bitblock128_t* arg2)
     3033{
     3034        _mm_storeu_si128((bitblock128_t*)(arg2), arg1);
    30353035}
    30363036
Note: See TracChangeset for help on using the changeset viewer.