From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 3ECCC3857C45; Thu, 3 Sep 2020 08:37:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3ECCC3857C45 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1599122249; bh=LAdyy0UQ3Nl5IwVIdo1TgAYDvSo4ZX6DMGWtZzcaMOg=; h=From:To:Subject:Date:In-Reply-To:References:From; b=bHyqcvAB2Ov4dLr1ycjtWi7NejkVLTduHzbNDfvc440UQTYscB+/kjDxD1LdIdJOL SXwGN3243+l5WhdhO4+2LNqJKctWc0iFXAMppacg7emZ1dRStmkifxRs3Pla37LWG+ p1VR++HLefhWJ02LysAdc0Na4OQ+HuOYr4/6d0e4= From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/87767] Missing AVX512 memory broadcast for constant vector Date: Thu, 03 Sep 2020 08:37:29 +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: 9.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub 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 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: Thu, 03 Sep 2020 08:37:29 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D87767 --- Comment #10 from Jakub Jelinek --- Do we really need separate _bcst patterns btw? Wouldn't it be better to ju= st have some predicate and corresponding constaint that would allow normal MEM vectors as well as these broadcast from single element and just use that predicate wherever the broadcasts are allowed? Probably would need multipl= e of them though, even when the main would turn to be just memory_operand if TARGET_AVX512F is false, some instructions only use EVEX encoding if some o= ther TARGET_AVX* is on...=