change type allocoted register

Hi;

i am using llvm backend on x86 arch.

My app ABI requires float2 (v2f32) to be passes as parameter and return in XMM0 register.
Currently LLVM handles v2f32 using MMX register MM0.

i wonder what changes do i need to do in LLVM to support that change; manipulating v2f32 (float2) using XMM and not MMX ?

one place i identifies where a change needs to be done is X86CallingConv.td where it define CC and RetCC .

Thanks