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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
           Keywords|                            |missed-optimization
   Last reconfirmed|                            |2022-09-12

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
On x86_64:
/app/example.cpp:19:35: missed:   function is not vectorizable.
/opt/compiler-explorer/gcc-trunk-20220912/include/c++/13.0.0/cmath:261:28:
missed:   not vectorized: relevant stmt not supported: _9 = __builtin_floorf
(_1);

While on aarch64, GCC can handle the SLP just fine:

  vect__1.7_12 = MEM <const vector(2) float> [(float *)r_4(D)];
  vect__9.8_13 = .FLOOR (vect__1.7_12);
  vect__10.9_14 = (vector(2) int) vect__9.8_13;
  MEM <vector(2) int> [(int *)&D.25164] = vect__10.9_14;

So this is a target backend improvement that is needed.

Reply via email to