To disable using of odd floating-point registers (O32 ABI and -mno-odd-spreg command line option) such registers and their super-registers added to the set of reserved registers. In general, it works. But there is at least one problem - in case of enabled machine verifier pass some floating-point tests failed because live ranges of register units that are reserved is not empty and verification pass failed with "Live segment doesn't end at a valid instruction" error message.
There is D35985 patch which tries to solve the problem by explicit removing of register units. This solution did not get approval.
I would like to use another approach for prevent using odd floating-point registers - define AltOrders and AltOrderSelect for MIPS floating point register classes. Such AltOrders contains reduced set of registers. At first glance, such solution does not break any test cases and allows enabling machine instruction verification for all MIPS test cases.
Does anybody see any problems on this way?