Support Multiple Reg Classes for an MVT type

I am using two register classes for the same MVT type (f32).
What I want is to use the appropriate target instruction, depending on the
register class (since the MVT type is the same).
What is actually happening is that the target calls always the first of the
two patterns I've written and legalizes its operands, switching them from
the one class to the other.
Is there any pattern that decides the instruction based on the register
If not, where should I implement such behaviour?


[probably remove previous post out of llvm-dev. dont know how]