https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115752
--- Comment #3 from Xi Ruoyao <xry111 at gcc dot gnu.org> --- I found some "interesting" thing in alpha.md: ;; Subregs suck for register allocation. Pretend we can move TFmode ;; data between general registers until after reload. ;; ??? Is this still true now that we have the lower-subreg pass? (define_expand "movtf" [(set (match_operand:TF 0 "nonimmediate_operand") (match_operand:TF 1 "general_operand"))] "" { if (MEM_P (operands[0]) && ! reg_or_0_operand (operands[1], TFmode)) operands[1] = force_reg (TFmode, operands[1]); }) Do we need this? But it really sucks anyway.