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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
      Known to fail|                            |14.2.0
             Status|ASSIGNED                    |RESOLVED
   Target Milestone|12.5                        |15.0
      Known to work|                            |15.0

--- Comment #43 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed on the trunk via the late_combine2 (the new forwprop like pass that runs
after RA):
```
.L2:
        fldl    8(%ebx,%esi,8)
        faddl   (%ebx,%esi,8)
        faddl   16(%ebx,%esi,8)
        faddl   24(%ebx,%esi,8)
        faddp   %st, %st(1)
        fldl    32(%ebx,%esi,8)
        faddl   40(%ebx,%esi,8)
        faddl   48(%ebx,%esi,8)
        faddl   56(%ebx,%esi,8)
        addl    $8, %esi
        faddp   %st, %st(2)
        cmpl    %edx, %esi
        jl      .L2
```

While GCC 14.2.0 produced:
```
.L2:
        leal    0(,%esi,8), %eax
        fldl    8(%ebx,%eax)
        faddl   (%ebx,%esi,8)
        addl    $8, %esi
        faddl   16(%ebx,%eax)
        faddl   24(%ebx,%eax)
        faddp   %st, %st(2)
        fldl    32(%ebx,%eax)
        faddl   40(%ebx,%eax)
        faddl   48(%ebx,%eax)
        faddl   56(%ebx,%eax)
        faddp   %st, %st(1)
        cmpl    %edx, %esi
        jl      .L2
```

Reply via email to