https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60704
Uroš Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |critical --- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> --- If LRA is able to fixup reg -> memory, as the comment above float patterns claims, then constrain_operands should also recognize insn with memory-only constraints, like: (define_insn "*float<SWI48x:mode><MODEF:mode>2_i387" [(set (match_operand:MODEF 0 "register_operand" "=f") (float:MODEF (match_operand:SWI48x 1 "nonimmediate_operand" "m")))] when register operand is passed as operand 1. (I wonder why this pattern doesn't break in the same way as SSE version...) Please note that these patterns are also present in 4.9 branch, and it looks to me that the infrastructure is not fully prepared for the new LRA functionality. It looks to me that we have critical issue here, so either the original patch that introduced these patterns should be reverted, or infrastructure on release branch should be fixed ASAP, before the new point release.