UnaryReturn< OLattice< TVec >, FnNorm2>::Type_t  lsum(ltmp); Internal::globalSum(lsum); return lsum;
norm2(const QDPType<TVec ,OLattice< TVec > >& s1){#ifdef DEBUG_BLAS  QDPIO::cout << "Using SSE sumsq all" << endl;#endif  if ( all.hasOrderedRep() ) {#ifdef DEBUG_BLAS    QDPIO::cout << "SSE sumsq all" << endl;#endif    int n_3vec = (all.end() - all.start() + 1)*24;    const REAL32 *s1ptr =  &(s1.elem(all.start()).elem(0).elem(0).real());        // I am relying on this being a Double here     REAL32 ltmp;    local_sumsq(&ltmp, (REAL32 *)s1ptr, n_3vec);     UnaryReturn< OLattice< TVec >, FnNorm2>::Type_t  lsum(ltmp);    Internal::globalSum(lsum);    return lsum;  }  else {    return sum(localNorm2(s1),all);  }}