From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 43B12397200F; Mon, 4 May 2020 08:39:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 43B12397200F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1588581555; bh=1qaKS4wmHO4+3oIZ0hAXv5rOuGBKQ/zwtttJuxpHoCI=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Xf2MBIMIN5YUUc4GxpDzA64vFJuQ5Nqpr6kyhowudD3EdyFdxyw1ThDd5sTehym77 gNdaEgImtObHmTYHImVq5u7+ezxoYKHyoGhHL2ySavByLr5GxfqE+BnKBFvp3l7pDf FIo01qqtaIuZABdtsz+RSFat6BuT4MA6BDTkrrpI= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/94613] S/390, powerpc: Wrong code generated for vec_sel builtin Date: Mon, 04 May 2020 08:39:14 +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: 10.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: krebbel at gcc dot gnu.org X-Bugzilla-Target-Milestone: 10.0 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 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 May 2020 08:39:15 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D94613 --- Comment #9 from CVS Commits --- The releases/gcc-9 branch has been updated by Andreas Krebbel : https://gcc.gnu.org/g:92ee7d437a98a0f9e63549b4aa83af87382821cf commit r9-8562-g92ee7d437a98a0f9e63549b4aa83af87382821cf Author: Andreas Krebbel Date: Mon Apr 20 19:36:33 2020 +0200 PR94613: Fix vec_sel builtin for IBM Z The vsel instruction is a bit-wise select instruction. Using an IF_THEN_ELSE to express it in RTL is wrong and leads to wrong code being generated in the combine pass. With the patch the pattern is written using bit operations. However, I've just noticed that the manual still demands a fixed point mode for AND/IOR and friends although several targets emit bit ops on floating point vectors (including i386, Power, and s390). So I assume this is a safe thing to do?! gcc/ChangeLog: 2020-05-04 Andreas Krebbel Backport from mainline 2020-04-20 Andreas Krebbel PR target/94613 * config/s390/s390-builtin-types.def: Add 3 new function modes. * config/s390/s390-builtins.def: Add mode dependent low-level builtin and map the overloaded builtins to these. * config/s390/vx-builtins.md ("vec_selV_HW"): Rename to ... ("vsel Backport from mainline 2020-04-20 Andreas Krebbel PR target/94613 * gcc.target/s390/zvector/pr94613.c: New test. * gcc.target/s390/zvector/vec_sel-1.c: New test.=