https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92140

--- Comment #10 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Jakub Jelinek from comment #9)
> Created attachment 47065 [details]
> gcc10-pr92140-wip.patch
> 
> If pre-reload splitters are reliable, my patch can be greatly simplified and
> using the formatting, && can_create_pseudos (), && 1 and <general_operand> +
> force_reg ideas from your patch this is the merge of both, which can handle
> all f1-f14 plus tst1-3.

You can use define_special_predicate to check the mode of the operand inside
relational operator. To avoid pattern explosion, maybe compound instructions
should be synthesized by peephole pass.

Regarding reliability of pre-reload splitters, IIRC they should be safe, but
I'll leave the final verdict to RTL experts.

Reply via email to