allocate the correct op size