[x86] Arguments to calls are passed via moves, instead of pushes.

I release these changes under the MIT license.