From patchwork Tue Sep 3 15:36:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wilco Dijkstra X-Patchwork-Id: 1157069 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-508236-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="iQFdQ7pR"; dkim=pass (1024-bit key; unprotected) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="DdMpsMk6"; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="DdMpsMk6"; 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 46NB0Q0jlTz9s4Y for ; Wed, 4 Sep 2019 01:37:24 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:content-type :content-transfer-encoding:mime-version; q=dns; s=default; b=CgX THiPGyBeKgI64cJ/9q+nu1z+3GG4PpxeGR1ZTAXJOMKb1I7AXOdoaoFEFT6eki5H qIBT2sXFKGRVYUtxqpQ+00dFnswdCCXz1UuoDNlxjhB2CXqHs7Yy2AHyO62fpO6S eeVTLNta/SuDGtELLaIA4vH1E+ainQDmDEW1OpJU= 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 :to:cc:subject:date:message-id:content-type :content-transfer-encoding:mime-version; s=default; bh=7cfo/Vtva RCMqHBEd3Cpm0eofvo=; b=iQFdQ7pRjSLJOQ9a6GRW6joPFr5b0XLNQkFa9iWJ9 JgWmmRYUFq50E/O7PvY1zOyTSM5cbvKdjEdwh/oBK5K6jcsjhqNoQFEmPm4mn303 sV7dErGMBOcx557vQYPr8s8fH1B038PqLc61NMrNNKqUXU2yBRRdDXlTLzyEkKXU 8I= Received: (qmail 50672 invoked by alias); 3 Sep 2019 15:37:16 -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 50249 invoked by uid 89); 3 Sep 2019 15:37:16 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-19.5 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: EUR04-VI1-obe.outbound.protection.outlook.com Received: from mail-eopbgr80050.outbound.protection.outlook.com (HELO EUR04-VI1-obe.outbound.protection.outlook.com) (40.107.8.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 03 Sep 2019 15:37:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9O4CMUb2ZTPAagJwzuStShMDRZ/k6ResxcmQ05GbpTI=; b=DdMpsMk6yZb7+PVeXPziILFghwYCpyzD6T4iTOXwObCZxITSW0Dhj65sACWpsBtwZllXiUK0a3hI2I5fXXBBdhuH2hy3JCe4XiAvPXfpjVUvpmBSPR830bmFVjrbuE/R3rMQbqU9OFFgLCZOqprPNrCastuqWiWvA4jJZsZTN8E= Received: from AM4PR08CA0071.eurprd08.prod.outlook.com (2603:10a6:205:2::42) by HE1PR0801MB1851.eurprd08.prod.outlook.com (2603:10a6:3:7b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2241.13; Tue, 3 Sep 2019 15:37:09 +0000 Received: from DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::207) by AM4PR08CA0071.outlook.office365.com (2603:10a6:205:2::42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2220.19 via Frontend Transport; Tue, 3 Sep 2019 15:37:08 +0000 Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; gcc.gnu.org; dmarc=temperror action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT049.mail.protection.outlook.com (10.152.20.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2220.16 via Frontend Transport; Tue, 3 Sep 2019 15:37:07 +0000 Received: ("Tessian outbound 802e738ad7e5:v27"); Tue, 03 Sep 2019 15:37:07 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 02c20df9e438777c X-CR-MTA-TID: 64aa7808 Received: from 0c47b3852ec5.1 (ip-172-16-0-2.eu-west-1.compute.internal [104.47.1.57]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id F2456C1C-9945-4D70-B244-0A0C32F74C26.1; Tue, 03 Sep 2019 15:37:01 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp2057.outbound.protection.outlook.com [104.47.1.57]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0c47b3852ec5.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 03 Sep 2019 15:37:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CRkaRSjSD6qOAkE6vo9DO4Xk6N3af0gLgn54IkRh+qD5Xx29ngPRG/91w+U7ZfcjwcwvBSza3QzrxczaRz93hHGQD5hSjLDVx3ipzSjy47sG4kIZx5FkZ5BAIY4pSpEuCUbVqKrvE7pWIUzhAha27q7H/nOGatKyc/IZ4GN9y6excNoM59ztqjfRn1mYscx3vK6QfnoSe8cgwtdgJl1EiIZDtlsej0k9xuf42s7kLhgfhinMUjx4BxREtm8x9DqlJ90cKNs0j3HQcJ9bgEHSZeSp/9he3+FQR30hCkq126ICZ52OdamC4mQKO4KfUTFIoPrqC0xYr8FLdbp0HlENAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9O4CMUb2ZTPAagJwzuStShMDRZ/k6ResxcmQ05GbpTI=; b=UHjwz6uc5XlRPIQecZyBEyn47FQlU1VLQ7/kqvC6AEwzKAzNqW4kzg9tO4IkvXJAlvzrBzJCVLtZxN7pf6QVEx4vM7ditX3LbTQd3rH1tAvfmWzOG3bEj1stqdq6qe4hvg6mbnw9JI9CpfrqxWThyLta3DZMK4t/nrAJQx8D7/qlhmnFNRmqG+z1CwMirYlraVX5+P0GAwawDVtH8F6IqFtUdZHxioc8uPAH2sh2ivXE7pQWQIa3jksHV3tkSYInF03xG+gAuka3aFTGMUR9D9sZluFYPH4qcIj8G2f5XRD131EZSImTNoEjDmlGqB/mVBE+n8d/vQ6qPx3ZtA1bEg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9O4CMUb2ZTPAagJwzuStShMDRZ/k6ResxcmQ05GbpTI=; b=DdMpsMk6yZb7+PVeXPziILFghwYCpyzD6T4iTOXwObCZxITSW0Dhj65sACWpsBtwZllXiUK0a3hI2I5fXXBBdhuH2hy3JCe4XiAvPXfpjVUvpmBSPR830bmFVjrbuE/R3rMQbqU9OFFgLCZOqprPNrCastuqWiWvA4jJZsZTN8E= Received: from VI1PR0801MB2127.eurprd08.prod.outlook.com (10.168.62.22) by VI1PR0801MB1792.eurprd08.prod.outlook.com (10.168.62.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2220.21; Tue, 3 Sep 2019 15:36:59 +0000 Received: from VI1PR0801MB2127.eurprd08.prod.outlook.com ([fe80::51f4:7d44:9734:ae0c]) by VI1PR0801MB2127.eurprd08.prod.outlook.com ([fe80::51f4:7d44:9734:ae0c%5]) with mapi id 15.20.2220.021; Tue, 3 Sep 2019 15:36:59 +0000 From: Wilco Dijkstra To: GCC Patches , Kyrylo Tkachov , Richard Earnshaw CC: nd Subject: [PATCH][ARM] Remove support for MULS Date: Tue, 3 Sep 2019 15:36:59 +0000 Message-ID: Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Wilco.Dijkstra@arm.com; X-Microsoft-Antispam-Untrusted: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600166)(711020)(4605104)(1401327)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:VI1PR0801MB1792; x-ms-exchange-transport-forked: True x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:655;OLM:655; X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(136003)(346002)(396003)(366004)(376002)(54534003)(199004)(189003)(6506007)(7696005)(6436002)(9686003)(71200400001)(71190400001)(5660300002)(99286004)(8676002)(53936002)(6636002)(478600001)(3846002)(6116002)(102836004)(55016002)(256004)(110136005)(25786009)(486006)(74316002)(66476007)(14454004)(66556008)(64756008)(76116006)(66946007)(26005)(33656002)(66446008)(66066001)(2906002)(81166006)(81156014)(52536014)(186003)(305945005)(7736002)(86362001)(316002)(4326008)(476003)(8936002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0801MB1792; H:VI1PR0801MB2127.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info-Original: Q6J4MU/sNpiXyUSI6mCQnSokGX9NwRKmDH4fX9XaAy33vV7GTMLo4xR3b+FzZsO5+Cs4FiJ6vbiToDFpJ0BfiMpHcR+r4BmQUtwAWH3Stk0sNhV5WyjzBJWii1lfpzlVb4/ZWZMKJeoukbpEl3/Ti5yGThx7EDaDGhCrLXeQpvbmPDj1vf0uFMp0Rb8pLkoauA/ILEBd0TNa9E7iy/HOACmxOz9gPUmsMV2raxHjyL1MhRfJ81T+IQnT3J2bqU2cJFe2D+hcMqAZQ1kzrbQA55uTD6TKxUkq2KQy8We9qYyDGZ5oXhZGs796Q+zZWPB1moNNDBsaHZkiQ2djgMO416DEqw5TijtdmS+96tuQidD9ixJp/0u6hZNquYUHC1koJtCQHKUvF0LTdSNSRtx5SNgvzSPp9Ld/HLNUxUrctEo= MIME-Version: 1.0 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Wilco.Dijkstra@arm.com; X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 2f83c549-f917-4fc8-2d35-08d730848f4d Remove various MULS/MLAS patterns which are enabled when optimizing for size. However the codesize gain from these patterns is so minimal that there is no point in keeping them. Bootstrap OK on armhf, regress passes. ChangeLog: 2019-09-03 Wilco Dijkstra * config/arm/arm.md (mulsi3_compare0): Remove pattern. (mulsi3_compare0_v6): Likewise. (mulsi_compare0_scratch): Likewise. (mulsi_compare0_scratch_v6): Likewise. (mulsi3addsi_compare0): Likewise. (mulsi3addsi_compare0_v6): Likewise. (mulsi3addsi_compare0_scratch): Likewise. (mulsi3addsi_compare0_scratch_v6): Likewise. * config/arm/thumb2.md (thumb2_mulsi_short_compare0): Remove pattern. (thumb2_mulsi_short_compare0_scratch): Likewise. diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 738d42fd164f117f1dec1108a824d984ccd70d09..66dafdc47b7cfc37c131764e482d47bcaab90538 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -1618,60 +1618,6 @@ (define_insn "*arm_mulsi3_v6" (set_attr "predicable_short_it" "yes,yes,no")] ) -(define_insn "*mulsi3_compare0" - [(set (reg:CC_NOOV CC_REGNUM) - (compare:CC_NOOV (mult:SI - (match_operand:SI 2 "s_register_operand" "r,r") - (match_operand:SI 1 "s_register_operand" "%0,r")) - (const_int 0))) - (set (match_operand:SI 0 "s_register_operand" "=&r,&r") - (mult:SI (match_dup 2) (match_dup 1)))] - "TARGET_ARM && !arm_arch6" - "muls%?\\t%0, %2, %1" - [(set_attr "conds" "set") - (set_attr "type" "muls")] -) - -(define_insn "*mulsi3_compare0_v6" - [(set (reg:CC_NOOV CC_REGNUM) - (compare:CC_NOOV (mult:SI - (match_operand:SI 2 "s_register_operand" "r") - (match_operand:SI 1 "s_register_operand" "r")) - (const_int 0))) - (set (match_operand:SI 0 "s_register_operand" "=r") - (mult:SI (match_dup 2) (match_dup 1)))] - "TARGET_ARM && arm_arch6 && optimize_size" - "muls%?\\t%0, %2, %1" - [(set_attr "conds" "set") - (set_attr "type" "muls")] -) - -(define_insn "*mulsi_compare0_scratch" - [(set (reg:CC_NOOV CC_REGNUM) - (compare:CC_NOOV (mult:SI - (match_operand:SI 2 "s_register_operand" "r,r") - (match_operand:SI 1 "s_register_operand" "%0,r")) - (const_int 0))) - (clobber (match_scratch:SI 0 "=&r,&r"))] - "TARGET_ARM && !arm_arch6" - "muls%?\\t%0, %2, %1" - [(set_attr "conds" "set") - (set_attr "type" "muls")] -) - -(define_insn "*mulsi_compare0_scratch_v6" - [(set (reg:CC_NOOV CC_REGNUM) - (compare:CC_NOOV (mult:SI - (match_operand:SI 2 "s_register_operand" "r") - (match_operand:SI 1 "s_register_operand" "r")) - (const_int 0))) - (clobber (match_scratch:SI 0 "=r"))] - "TARGET_ARM && arm_arch6 && optimize_size" - "muls%?\\t%0, %2, %1" - [(set_attr "conds" "set") - (set_attr "type" "muls")] -) - ;; Unnamed templates to match MLA instruction. (define_insn "*mulsi3addsi" @@ -1698,70 +1644,6 @@ (define_insn "*mulsi3addsi_v6" (set_attr "predicable" "yes")] ) -(define_insn "*mulsi3addsi_compare0" - [(set (reg:CC_NOOV CC_REGNUM) - (compare:CC_NOOV - (plus:SI (mult:SI - (match_operand:SI 2 "s_register_operand" "r,r,r,r") - (match_operand:SI 1 "s_register_operand" "%0,r,0,r")) - (match_operand:SI 3 "s_register_operand" "r,r,0,0")) - (const_int 0))) - (set (match_operand:SI 0 "s_register_operand" "=&r,&r,&r,&r") - (plus:SI (mult:SI (match_dup 2) (match_dup 1)) - (match_dup 3)))] - "TARGET_ARM && arm_arch6" - "mlas%?\\t%0, %2, %1, %3" - [(set_attr "conds" "set") - (set_attr "type" "mlas")] -) - -(define_insn "*mulsi3addsi_compare0_v6" - [(set (reg:CC_NOOV CC_REGNUM) - (compare:CC_NOOV - (plus:SI (mult:SI - (match_operand:SI 2 "s_register_operand" "r") - (match_operand:SI 1 "s_register_operand" "r")) - (match_operand:SI 3 "s_register_operand" "r")) - (const_int 0))) - (set (match_operand:SI 0 "s_register_operand" "=r") - (plus:SI (mult:SI (match_dup 2) (match_dup 1)) - (match_dup 3)))] - "TARGET_ARM && arm_arch6 && optimize_size" - "mlas%?\\t%0, %2, %1, %3" - [(set_attr "conds" "set") - (set_attr "type" "mlas")] -) - -(define_insn "*mulsi3addsi_compare0_scratch" - [(set (reg:CC_NOOV CC_REGNUM) - (compare:CC_NOOV - (plus:SI (mult:SI - (match_operand:SI 2 "s_register_operand" "r,r,r,r") - (match_operand:SI 1 "s_register_operand" "%0,r,0,r")) - (match_operand:SI 3 "s_register_operand" "?r,r,0,0")) - (const_int 0))) - (clobber (match_scratch:SI 0 "=&r,&r,&r,&r"))] - "TARGET_ARM && !arm_arch6" - "mlas%?\\t%0, %2, %1, %3" - [(set_attr "conds" "set") - (set_attr "type" "mlas")] -) - -(define_insn "*mulsi3addsi_compare0_scratch_v6" - [(set (reg:CC_NOOV CC_REGNUM) - (compare:CC_NOOV - (plus:SI (mult:SI - (match_operand:SI 2 "s_register_operand" "r") - (match_operand:SI 1 "s_register_operand" "r")) - (match_operand:SI 3 "s_register_operand" "r")) - (const_int 0))) - (clobber (match_scratch:SI 0 "=r"))] - "TARGET_ARM && arm_arch6 && optimize_size" - "mlas%?\\t%0, %2, %1, %3" - [(set_attr "conds" "set") - (set_attr "type" "mlas")] -) - (define_insn "*mulsi3subsi" [(set (match_operand:SI 0 "s_register_operand" "=r") (minus:SI diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md index 6ccc875e2b4e7b8ce256e52da966dfe220c6f5d6..8e26689b66263e7304a0da6163ceccfb4483d3e7 100644 --- a/gcc/config/arm/thumb2.md +++ b/gcc/config/arm/thumb2.md @@ -1381,31 +1381,6 @@ (define_insn "*thumb2_mulsi_short" (set_attr "length" "2") (set_attr "type" "muls")]) -(define_insn "*thumb2_mulsi_short_compare0" - [(set (reg:CC_NOOV CC_REGNUM) - (compare:CC_NOOV - (mult:SI (match_operand:SI 1 "register_operand" "%0") - (match_operand:SI 2 "register_operand" "l")) - (const_int 0))) - (set (match_operand:SI 0 "register_operand" "=l") - (mult:SI (match_dup 1) (match_dup 2)))] - "TARGET_THUMB2 && optimize_size" - "muls\\t%0, %2, %0" - [(set_attr "length" "2") - (set_attr "type" "muls")]) - -(define_insn "*thumb2_mulsi_short_compare0_scratch" - [(set (reg:CC_NOOV CC_REGNUM) - (compare:CC_NOOV - (mult:SI (match_operand:SI 1 "register_operand" "%0") - (match_operand:SI 2 "register_operand" "l")) - (const_int 0))) - (clobber (match_scratch:SI 0 "=l"))] - "TARGET_THUMB2 && optimize_size" - "muls\\t%0, %2, %0" - [(set_attr "length" "2") - (set_attr "type" "muls")]) - (define_insn "*thumb2_cbz" [(set (pc) (if_then_else (eq (match_operand:SI 0 "s_register_operand" "l,?r")