> uint64_t val = cqe->res; // assuming non-error here> > if (cqe->flags & IORING_CQE_F_ZONE_FOO)> val |= (cqe->flags >> 16) << 32ULL;Jens, ULL in shift doesn't do anything for widening the result.You need val |= (uint64_t)(cqe->flags >> 16) << 32;