I'm investigating if it is feasible to have i32 as a legal type for RV64.
The first thing we need to do is make i32 a valid type for the GPR
register class.
Unfortunately, this disables a lot of type inferencing in tablegen
and requires us to explicitly add XLenVT to many isel patterns.
This might also allow us to get rid of the GPRF16/32/64 register class
from Zhinx/Zfinx/Zdinx by adding f16/f32/f64 to GPR type. Those classes
appear to only exist for type inference purposes today. In all other ways
they are identical to the GPR class.