From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 1E0B83898C6A; Mon, 12 Sep 2022 16:35:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1E0B83898C6A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1663000554; bh=G3541AJ7LE3g2WBorEqKTfAPAsR7D0zagX3MvcWuxGE=; h=From:To:Subject:Date:In-Reply-To:References:From; b=cMFZ0Tv02Roimf5j4DbGfv+QgTfXaA55J+IujsdXizFv1xfmFcEPqrfpkNPSjzEV7 bE2eVB+r+ybP0QsvZyLYfa9/z7CuEvSmLXBciGA8S6oqxqd0/vjSVvyP0aPcx5kwum KKktN+sYVDgeumb4dM0lbFMY/QsjpeERkklPZnf8= From: "pinskia at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/106910] roundss not vectorized Date: Mon, 12 Sep 2022 16:35:53 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: enhancement X-Bugzilla-Who: pinskia at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_severity everconfirmed bug_status keywords cf_reconfirmed_on Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106910 Andrew Pinski 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 --- 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 =3D __builtin_flo= orf (_1); While on aarch64, GCC can handle the SLP just fine: vect__1.7_12 =3D MEM [(float *)r_4(D)]; vect__9.8_13 =3D .FLOOR (vect__1.7_12); vect__10.9_14 =3D (vector(2) int) vect__9.8_13; MEM [(int *)&D.25164] =3D vect__10.9_14; So this is a target backend improvement that is needed.=