This is quite uninformative (so does all the same cases).

T r = x ? Allbits<T>() : Zero<T>();

is probably better (if right)