Lines Matching defs:join
206 SINT Vec<2*N,T> join(const Vec<N,T>& lo, const Vec<N,T>& hi) {
336 return join(x.lo + y.lo, x.hi + y.hi);
339 return join(x.lo - y.lo, x.hi - y.hi);
342 return join(x.lo * y.lo, x.hi * y.hi);
345 return join(x.lo / y.lo, x.hi / y.hi);
349 return join(x.lo ^ y.lo, x.hi ^ y.hi);
352 return join(x.lo & y.lo, x.hi & y.hi);
355 return join(x.lo | y.lo, x.hi | y.hi);
358 SINT Vec<N,T> operator!(const Vec<N,T>& x) { return join(!x.lo, !x.hi); }
359 SINT Vec<N,T> operator-(const Vec<N,T>& x) { return join(-x.lo, -x.hi); }
360 SINT Vec<N,T> operator~(const Vec<N,T>& x) { return join(~x.lo, ~x.hi); }
362 SINT Vec<N,T> operator<<(const Vec<N,T>& x, int k) { return join(x.lo << k, x.hi << k); }
363 SINT Vec<N,T> operator>>(const Vec<N,T>& x, int k) { return join(x.lo >> k, x.hi >> k); }
366 return join(x.lo == y.lo, x.hi == y.hi);
369 return join(x.lo != y.lo, x.hi != y.hi);
372 return join(x.lo <= y.lo, x.hi <= y.hi);
375 return join(x.lo >= y.lo, x.hi >= y.hi);
378 return join(x.lo < y.lo, x.hi < y.hi);
381 return join(x.lo > y.lo, x.hi > y.hi);
474 return join(if_then_else(cond.lo, t.lo, e.lo),
525 return join(cast<D>(src.lo), cast<D>(src.hi));
620 return join(lrint(x.lo),
666 return join(to_half(x.lo),
684 return join(from_half(x.lo),
760 return mull(join(x,x),
761 join(y,y)).lo;
766 // N > 8 --> usual join(lo,hi) strategy to recurse down to N == 8.
767 return join(mull(x.lo, y.lo),