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

Segher Boessenkool <segher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2017-12-19
                 CC|                            |segher at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> ---
The testcase looks for

/* { dg-final { scan-rtl-dump-times "\\\(compare:CC \\\(subreg:SI \\\(reg:DI" 1
"loop2_doloop" } } */

but this now looks like (in loop2_doloop):

(insn 19 18 20 2 (set (reg:DI 134 [ prolog_loop_niters.1+-4 ])
        (zero_extend:DI (reg:SI 225))) 23 {zero_extendsidi2}
     (nil))
(insn 20 19 21 2 (set (reg:CC 226)
        (compare:CC (reg:DI 134 [ prolog_loop_niters.1+-4 ])
            (const_int 0 [0]))) 763 {*cmpdi_signed}
     (nil))

and combine turns it into

(insn 20 19 21 2 (parallel [
            (set (reg:CC 226)
                (compare:CC (zero_extend:DI (reg:SI 225))
                    (const_int 0 [0])))
            (set (reg:DI 134 [ prolog_loop_niters.1+-4 ])
                (zero_extend:DI (reg:SI 225)))
        ]) 25 {*zero_extendsidi2_dot2}
     (nil))

which is perfect AFAICS?  So the testcase needs adjusting.

Reply via email to