From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id CA57F3854145; Mon, 31 Oct 2022 13:03:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CA57F3854145 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1667221398; bh=p99644LfXXKuaGHRyDsI1/roD7xd+2Jof1+ehw4ZzOA=; h=From:To:Subject:Date:In-Reply-To:References:From; b=L5Drxq1tTEq4vby1blYDsTOeXis3wVOlQQSwvOlpY1gYwt0ctd1WqOVKGuqZwZg+v NrFeg0TlhgdUqzTPdGTcLzi2+rgGvtHDkuIbjNaKkUXSy//8nue8iPKI2+GYwUKzVQ vs8bPEEvOE8mpve8cWBbscsOLcTE883glTuERkmI= From: "rsandifo at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/107432] __builtin_convertvector generates inefficient code Date: Mon, 31 Oct 2022 13:02:22 +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: normal X-Bugzilla-Who: rsandifo 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: 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=3D107432 --- Comment #9 from rsandifo at gcc dot gnu.org --- (In reply to Richard Biener from comment #8) > I think we do support FIX_TRUNC_EXPR or FLOAT_EXPR for float <-> int > conversion of vectors like we now support {CONVERT,NOP}_EXPR for > just widening/shortening. At least the GIMPLE verifier allows that. >=20 > The obtabs would be [us]fix and [us]float, not sure if aarch64 makes use > of those for vector modes or if Richard extended the vectorizer to > consider those (I only remember int <-> int conversions). AArch64 doesn't use mixed-size vector fix and float yet, but the hope is that would in future. For SVE, the main difficulty is that FP conversions could raise exceptions, so only the conditional forms would be interesting for normal predicated loops under default flags. The unpredicated optabs would require -ffast-math-like flags. This is probably lower hanging fruit for Advanced SIMD though.=