Why are we saving flags here? I thought flags are considered volatile across function calls in every ABI.