move the hardfloat specific argument copying code to the helper function