From patchwork Thu Dec 19 16:15:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Stubbs X-Patchwork-Id: 1213531 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=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-516312-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="C9NwbY26"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47dxnx3PyKz9sP6 for ; Fri, 20 Dec 2019 03:16:19 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :subject:to:message-id:date:mime-version:content-type; q=dns; s= default; b=ii9JRq9776A76VaL7xYmj6mX7h07OfShsLSnEmZh8QjSoOTFaFbfo WURvNqkMe5w23tg03HPT2u6pmHFodldzLXkTfT55QIY4eAFGbCLIzJmGrA6WeiS4 iJky7Nk+FXaa+oSSKjKalgJjrTG9yohh6OrWRyJqlitPNIxzr1O+3A= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :subject:to:message-id:date:mime-version:content-type; s= default; bh=F5L5gBRy52iAN8ruVUo6QWYGAUE=; b=C9NwbY26sBh1NhZbbHbC xyFzzAyPget52tnnhFRvh+Z/JVqJFvvgkcit5imdqfQhKyhg2hZat4lqNOf7G61T 4Sw/hNcygBABH6E6eNTz7HlGURdHVHfwd6yPpuIkptbxsibZ1JzxD67FBhVcyW66 jK18ajs2pVk84uWN3oNp0NQ= Received: (qmail 125745 invoked by alias); 19 Dec 2019 16:16:12 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 125737 invoked by uid 89); 19 Dec 2019 16:16:11 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-18.8 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: esa1.mentor.iphmx.com Received: from esa1.mentor.iphmx.com (HELO esa1.mentor.iphmx.com) (68.232.129.153) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 19 Dec 2019 16:16:09 +0000 IronPort-SDR: WBEBTIomKBfTJzlaU6LtYi9gdbuyOULURqz549Dbdam2i+I2JIK4M+aVEpaUwsFk1rSyvBZp+f shXm19CjBUSuX46zDjbrUQDGqL3u4fUPB9SJltkoo3TFbgKarmbidyooEeprSLBkuIys1Yo5+L Ps9LWoPQdlnWRPRWjUYXbOqgNDOp19xrT9j5cGHJGDtNDVq1XP/KP4XMz292SgjX1ApTcW3zkg G26Q372q7xtF6kOGEy6FbYhEZ2SYggQml2+Pisa/Rxy/x7DvuuVReg6/zFJRbRJ/93xigA9mTt 5SM= Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa1.mentor.iphmx.com with ESMTP; 19 Dec 2019 08:16:01 -0800 IronPort-SDR: uyRjVOgsNTAASqB4LbTbS4Io3vLMd1d2M9QlnWd9vAMf+iSQbD/+WHts2emYNPNrXZ5veRWK82 aDss0DpmQT4O94EdlIyOWRFZjZAji5CxhULuQTueVKzD4YZVWMZ12mXxPk/CXGvZ5u+ZZ/yOjq JA5L7pnjcAIxLg7WEbLrAr991zZWy2xdZX2YLe/xlcLK5Y2hUnUEi0jvXm+uQFdY8ancLJsNxI w24rkyJe8BM5D8kMDTavXiE6Ucdu3HUz9FYSzBjMEvj4SC4UOxPlcIDCAGPSkDPiHj31GTmJSR 7p4= From: Andrew Stubbs Subject: [committed, amdgcn] Use V64SI for all remaining add-with-carry insns To: "gcc-patches@gcc.gnu.org" Message-ID: <42eb6533-f971-9793-7ec5-daea6ebe43a5@codesourcery.com> Date: Thu, 19 Dec 2019 16:15:54 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 This patch does nothing but replace a mode iterator with the concrete mode. It has no effect on the generated machine description whatsoever. This is part of an incremental clean-up of the mode iterators, following the introduction of vector QI/HI support. The add-with-carry instructions are not interesting for those modes (being mostly used to implement DImode splitters), so we can dispense with the notional iterator. Andrew Use V64SI for all amdgcn add-with-carry insns 2019-12-19 Andrew Stubbs gcc/ * config/gcn/gcn-valu.md (*plus_carry_dpp_shr_): Rename to ... (*plus_carry_dpp_shr_v64si): ... this, and replace all VEC_1REG_INT_MODE with V64SI. diff --git a/gcc/config/gcn/gcn-valu.md b/gcc/config/gcn/gcn-valu.md index 00a7604d686..369aae5bfc5 100644 --- a/gcc/config/gcn/gcn-valu.md +++ b/gcc/config/gcn/gcn-valu.md @@ -3075,18 +3075,18 @@ ; Special cases for addition. -(define_insn "*plus_carry_dpp_shr_" - [(set (match_operand:VEC_1REG_INT_MODE 0 "register_operand" "=v") - (unspec:VEC_1REG_INT_MODE - [(match_operand:VEC_1REG_INT_MODE 1 "register_operand" "v") - (match_operand:VEC_1REG_INT_MODE 2 "register_operand" "v") - (match_operand:SI 3 "const_int_operand" "n")] +(define_insn "*plus_carry_dpp_shr_v64si" + [(set (match_operand:V64SI 0 "register_operand" "=v") + (unspec:V64SI + [(match_operand:V64SI 1 "register_operand" "v") + (match_operand:V64SI 2 "register_operand" "v") + (match_operand:SI 3 "const_int_operand" "n")] UNSPEC_PLUS_CARRY_DPP_SHR)) (clobber (reg:DI VCC_REG))] "" { const char *insn = TARGET_GCN3 ? "v_add%u0" : "v_add_co%u0"; - return gcn_expand_dpp_shr_insn (mode, insn, + return gcn_expand_dpp_shr_insn (V64SImode, insn, UNSPEC_PLUS_CARRY_DPP_SHR, INTVAL (operands[3])); }