Changeset 782


Ignore:
Timestamp:
Dec 5, 2010, 9:56:12 PM (8 years ago)
Author:
cameron
Message:

Bug fix carryQ_sbb128

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/carryQ.h

    r781 r782  
    127127  SIMD_type gen = simd_andc(y, x); \
    128128  SIMD_type prop = simd_not(simd_xor(x, y)); \
     129print_simd_register("gen",gen);\
     130print_simd_register("prop",prop);\
    129131  SIMD_type partial = simd_sub_64(simd_sub_64(x, y), simd_and(carryQ, carryQ_ci_mask)); \
    130132  carryQ = simd_srli_64(carryQ, 1); \
    131133  SIMD_type b1 = sisd_slli(simd_srli_64(simd_or(gen, simd_and(prop, partial)), 63), 64); \
    132134  difference = simd_sub_64(partial, b1); \
    133   carryQ = simd_or(carryQ, simd_and(simd_or(gen, simd_andc(prop, difference)), carryQ_co_mask)); \
     135  carryQ = simd_or(carryQ, simd_and(simd_or(gen, simd_and(prop, difference)), carryQ_co_mask)); \
    134136}while(0)
    135137
Note: See TracChangeset for help on using the changeset viewer.