Split MXCSR into two pseudo-registers so that the control bits and the status bits can be modeled separately. This register cannot be used as an operand to any instruction so we are free to model it in whatever way is most useful for producing correct code.
This patch only updates the instructions that load and save the entire contents of the register, so both control and status parts are referenced together here. A subsequent patch will update floating point operations to add an implicit use of the control bits and an implicit def of the status bits. This will guarantee that FP instructions are not hoisted above or sunk below the instructions that set the control bits or read the status bits without causing FP operations to act as barriers to one another.
I will be posting another patch shortly to update the clang front end to recognize this change in register naming.