Avoid using an intermediate register