> Integer values and floating-point values need to be converted > by fmv series instructions. So if mode1 is MODE_INT and mode2 > is MODE_FLOAT, we should return false in riscv_modes_tieable_p, > and vice versa.
I think that's on purpose because we can read and write float values from/to integer registers. Maybe it's a cost problem that we spill at some point rather than access directly? If I compile your test case I do see converting moves in the final assembly - is there something you're concerned about in particular? -- Regards Robin