From patchwork Fri May 7 16:35:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Stubbs X-Patchwork-Id: 1475593 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=gcc-patches-bounces@gcc.gnu.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FcGKf5RXJz9sSs for ; Sat, 8 May 2021 02:36:06 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 225153A16406; Fri, 7 May 2021 16:36:04 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id B11CB3853816 for ; Fri, 7 May 2021 16:36:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B11CB3853816 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Andrew_Stubbs@mentor.com IronPort-SDR: rVJ2Se86eSL2bOCdfrESHksWbMUDSj0Zb8Nm2R8dksPasmz9iq6JI3AjpEXBgL1mspHCjSjFSP Bi8GUYyjnkefnfKnRBoxpU5qS3G3+DbEqfPrLimW559hveOvr/+vdLAMdNSN8dTE6QoI13PCWD CK3hx19Y8p36BdIacLY5eW0F7rb7+6leRSKNgstTBYBUuX//FvQQeDwaZfC9sRKNzcWJzJ1gy9 0XesKfc2xeiLpx+SWG4d4TxRe76RGwsG6VNuhT68S8rGqFy64PW3w5iBe9Sk+1UNW2ATycjhtY JXw= X-IronPort-AV: E=Sophos;i="5.82,281,1613462400"; d="scan'208";a="60967360" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa3.mentor.iphmx.com with ESMTP; 07 May 2021 08:36:01 -0800 IronPort-SDR: 7wB6LaRcw0A3A80kgrsFphCQyjZMFdUxFX8sekV9X2jlCiSLU7QJaIY8nBlvxGTCEQrcDhP5Gq xovESoFM9XF+omGmX84kvTPUoD2sFjRiKe+sgI8/hfV/obMHJPiwkYdAU44airpoez8d3wmUyS zGBCFvwZY86HT4+SoGm2nfFTmu5OXfqzbxeLkBasD1zTBaym+SL1u6grRssvlsT4OCuB9GROyH 4SfQzk2L2TneNBDauodbhj7X1XgZQ6dxJ5nZwjBS1qlTvMUaeIb3Wez4y9TWYDme3eCFypm9EP ZtY= To: "gcc-patches@gcc.gnu.org" From: Andrew Stubbs Subject: [committed] amdgcn: disable TImode Message-ID: <16a39e7e-0328-da2f-f233-421d40e976a0@codesourcery.com> Date: Fri, 7 May 2021 17:35:55 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 Content-Language: en-GB X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-06.mgc.mentorg.com (139.181.222.6) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces@gcc.gnu.org Sender: "Gcc-patches" TImode has always been a problem on amdgcn, and now it is causing many new test failures, so I'm disabling it. The mode only has move instructions defined, which was enough for SLP, but any other code trying to use it without checking the optabs is a problem. The mode remains available for use within the backend, which is important because at least one hardware instruction uses a TImode value with two DImode values packed inside. Andrew amdgcn: disable TImode The TImode support works for moves only, which has worked in most case up to now, but no longer. We still need TImode to exist for the instructions that take two DImode values packed together, but we don't need to advertise this to the middle-end. gcc/ChangeLog: * config/gcn/gcn.c (gcn_scalar_mode_supported_p): Disable TImode. diff --git a/gcc/config/gcn/gcn.c b/gcc/config/gcn/gcn.c index 9660ca6eaa4..2baf91d2f1f 100644 --- a/gcc/config/gcn/gcn.c +++ b/gcc/config/gcn/gcn.c @@ -361,7 +361,7 @@ gcn_scalar_mode_supported_p (scalar_mode mode) || mode == HImode /* || mode == HFmode */ || mode == SImode || mode == SFmode || mode == DImode || mode == DFmode - || mode == TImode); + /*|| mode == TImode*/); /* TI is used for back-end purposes only. */ } /* Implement TARGET_CLASS_MAX_NREGS.