Ignore:
Timestamp:
May 30, 2012, 8:24:52 PM (7 years ago)
Author:
cameron
Message:

Custom USE_S2P_AVX transposition; ADCMAGIC variations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/bitblock256.hpp

    r2199 r2200  
    106106        bitblock128_t bubble0 = simd128<64>::eq(sum0, all_ones);
    107107        bitblock128_t bubble1 = simd128<64>::eq(sum1, all_ones);
    108         //bitblock256_t bubble = avx_general_combine256(bubble1, bubble0);
     108        //bitblock128_t bubble = hsimd128<64>::packss(bubble1, bubble0);
     109        bitblock256_t bubble = avx_general_combine256(bubble1, bubble0);
    109110        //uint64_t carry_mask = _mm256_movemask_pd((__m256d) icarry) * 2 + convert(carry_in);
    110111        uint64_t carry_mask = hsimd128<64>::signmask(icarry1) * 8 + hsimd128<64>::signmask(icarry0) * 2 + convert(carry_in);
    111         //uint64_t bubble_mask = _mm256_movemask_pd((__m256d) bubble);
    112         uint64_t bubble_mask = hsimd128<64>::signmask(bubble1) * 4 + hsimd128<64>::signmask(bubble0);
     112        uint64_t bubble_mask = _mm256_movemask_pd((__m256d) bubble);
     113        //uint64_t bubble_mask = hsimd128<64>::signmask(bubble1) * 4 + hsimd128<64>::signmask(bubble0);
     114        //uint64_t bubble_mask = hsimd128<32>::signmask(bubble);
    113115        uint64_t carry_scan_thru_bubbles = (carry_mask + bubble_mask) &~ bubble_mask;
    114116        uint64_t increments = carry_scan_thru_bubbles | (carry_scan_thru_bubbles - carry_mask);
Note: See TracChangeset for help on using the changeset viewer.