int mask, dst, pof2, newrank, rem, newdst, i,
send_idx, recv_idx, last_idx, send_cnt, recv_cnt, *cnts, *disps;
MPI_Aint lb, extent;
MPI_Status status;
void *tmp_buf = NULL;
MPI_User_function *func = get_op_func(op);
int mask, dst, pof2, newrank, rem, newdst, i,
send_idx, recv_idx, last_idx, send_cnt, recv_cnt, *cnts, *disps;
MPI_Aint lb, extent;
MPI_Status status;
void *tmp_buf = NULL;
MPI_User_function *func = get_op_func(op);