1, spill/reload
When a function call is made immediately after a floating point
comparison, the result of the comparison needs to be spilled before
function call and reloaded after the function returns.
2, copy
Support GPR to CFR and CFR to GRP copys. Therefore, the correct
register class can be used in the pattern template, and the hard-coding
of mutual coping of CFR and GRP is eliminated, reducing redundant
comparison instructions.
Note: Since the COPY instruction between CFRs is not provided in
LoongArch, we only use $fcc0 in the register allocation.