Ignore:
Timestamp:
Sep 15, 2013, 7:08:21 PM (6 years ago)
Author:
cameron
Message:

updates for SSE2 study

File:
1 edited

Legend:

Unmodified
Added
Removed
  • docs/Working/re/avx2.tex

    r3504 r3509  
    2121\begin{center}
    2222\begin{verbatim}
    23 void add_ci_co(bitblock256_t x, bitblock256_t y, carry_t carry_in, carry_t & carry_out, bitblock256_t & sum) {
    24   bitblock256_t all_ones = simd256<1>::constant<1>();
    25   bitblock256_t gen = simd_and(x, y);
    26   bitblock256_t prop = simd_xor(x, y);
    27   bitblock256_t partial_sum = simd256<64>::add(x, y);
    28   bitblock256_t carry = simd_or(gen, simd_andc(prop, partial_sum));
    29   bitblock256_t bubble = simd256<64>::eq(partial_sum, all_ones);
     23void add_ci_co(bitblock_t x, bitblock_t y, carry_t carry_in, carry_t & carry_out, bitblock_t & sum) {
     24  bitblock_t all_ones = simd256<1>::constant<1>();
     25  bitblock_t gen = simd_and(x, y);
     26  bitblock_t prop = simd_xor(x, y);
     27  bitblock_t partial_sum = simd256<64>::add(x, y);
     28  bitblock_t carry = simd_or(gen, simd_andc(prop, partial_sum));
     29  bitblock_t bubble = simd256<64>::eq(partial_sum, all_ones);
    3030  uint64_t carry_mask = hsimd256<64>::signmask(carry) * 2 + convert(carry_in);
    3131  uint64_t bubble_mask = hsimd256<64>::signmask(bubble);
Note: See TracChangeset for help on using the changeset viewer.