https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63620
--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> ---
Please note that:
(define_insn "*pushtf"
[(set (match_operand:TF 0 "push_operand" "=<,<")
(match_operand:TF 1 "general_no_elim_operand" "x,*roF"))]
"TARGET_64BIT || TARGET_SSE"
{
/* This insn should be already split before reg-stack. */
gcc_unreachable ();
}
[(set_attr "isa" "*,x64")
(set_attr "type" "multi")
(set_attr "unit" "sse,*")
(set_attr "mode" "TF,DI")])
in effect looks like:
(define_insn "*pushtf"
[(set (match_operand:TF 0 "push_operand" "=<")
(match_operand:TF 1 "general_no_elim_operand" "x"))]
on 32bit x86, due to "isa" attribute.