On 11/27/14 18:44, Segher Boessenkool wrote:
If I2 is a PARALLEL of two SETs, split it into two instructions, I1
and I2.  If there already was an I1, rename it to I0.  If there
already was an I0, don't do anything.

This surprisingly simple patch is enough to let combine handle such
PARALLELs properly.

v2: Add some functions to make the checking for a suitable PARALLEL
more readable (and more general).


2014-11-27  Segher Boessenkool  <seg...@kernel.crashing.org>

gcc/
        * combine.c (is_parallel_of_n_reg_sets): New function.
        (can_split_parallel_of_n_reg_sets): New function.
        (try_combine): If I2 is a PARALLEL of two SETs, split it into
        two insns if possible.
OK. Please follow-up with a testcase showing the result of this work. PPC specific is fine, of course. Your call whether or not to test the dump file or assembly output.


jeff

Reply via email to