From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2075.outbound.protection.outlook.com [40.107.21.75]) by sourceware.org (Postfix) with ESMTPS id D2AE73857C78 for ; Fri, 30 Apr 2021 14:34:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D2AE73857C78 Received: from DB9PR02CA0007.eurprd02.prod.outlook.com (2603:10a6:10:1d9::12) by VI1PR08MB5295.eurprd08.prod.outlook.com (2603:10a6:803:e3::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.20; Fri, 30 Apr 2021 14:34:37 +0000 Received: from DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:1d9:cafe::c2) by DB9PR02CA0007.outlook.office365.com (2603:10a6:10:1d9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.25 via Frontend Transport; Fri, 30 Apr 2021 14:34:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (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=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT045.mail.protection.outlook.com (10.152.21.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.27 via Frontend Transport; Fri, 30 Apr 2021 14:34:37 +0000 Received: ("Tessian outbound 9a5bb9d11315:v91"); Fri, 30 Apr 2021 14:34:37 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 88f5a52a0d9b783b X-CR-MTA-TID: 64aa7808 Received: from dc68a125697e.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 21493698-CF50-4A4A-AD7B-47B38A3767E1.1; Fri, 30 Apr 2021 14:34:30 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dc68a125697e.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 30 Apr 2021 14:34:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OJyEU8lAGnNbAjBLpK8rdhEu7eP+uBinW14QQsBuRE5I4StALfdNiMZPZlp5rtp6s5ZwRtdatKzgBjDOLoAgU51IR8v/M4vG4s+OL2/cPCkk9ERu41vJ6gsglZ/dBI0a3HLl/xnAGfijWqPygZwxx08unj14uG9SEkT2HAVYtWkd1sRt57+dpxAKF791p+qmHNbRwOY5x4vIIuUh9UTsStBJqOJycHi2WGME/Co/EzeFfBn2HDxJlefh/oqBp20kcyPvTZFMhsZw+tLYnj57h2gVGKEcnSBiNcogd32kAqf3g64zOjjwnm9LbhcG8f8FrRHnehBgQW5kw3pPd1mvkw== 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=7cBM7XdXR+I6M8ZBY5+xJvvo4vBerQzvmC6ZrNJOx3Q=; b=MPfHktN8LNw5dVbVGdNHjns16TZnrHFywRsn9sfVZZh39afqGsdfsHA+IDHATR9PnIPufh1wnMF/GoSoNX1/Mc0v96klLPm7TbOXR02mqoPJ2bRvFj4PIYu5PeJ0eA9rhjNEcNKUtcrDjSq3SX15FMCKj0FxV8Jwl1n7npYw4U3LKtvsetqrwC87yQ1ZbVhQSFqfFLzFlcAuC0vY3KtKiJ9pUdSThN40ozaR+ntobW6m+xPCM76vE+EFF6rLZGU2LRDpq4kcR3jPjbM8VluSWRwOjc8it4SRuqaF9OV/rRNxzkmLjjX97WTb99DaDnifvy9POMedqjwZ26i8OaE/xQ== 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 Received: from DBBPR08MB4758.eurprd08.prod.outlook.com (2603:10a6:10:da::16) by DB7PR08MB3705.eurprd08.prod.outlook.com (2603:10a6:10:78::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4087.35; Fri, 30 Apr 2021 14:34:28 +0000 Received: from DBBPR08MB4758.eurprd08.prod.outlook.com ([fe80::a957:f052:5e74:6c02]) by DBBPR08MB4758.eurprd08.prod.outlook.com ([fe80::a957:f052:5e74:6c02%7]) with mapi id 15.20.4065.034; Fri, 30 Apr 2021 14:34:28 +0000 From: Jonathan Wright To: Richard Sandiford , Jonathan Wright via Gcc-patches Subject: Re: [PATCH 10/20] aarch64: Use RTL builtins for FP ml[as]_n intrinsics Thread-Topic: [PATCH 10/20] aarch64: Use RTL builtins for FP ml[as]_n intrinsics Thread-Index: AQHXPDqecUN4eH8Mlk2q+f5lNQiGvarKCSTPgAMZnZw= Date: Fri, 30 Apr 2021 14:34:28 +0000 Message-ID: References: , In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [31.48.15.249] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 063a67dd-6bed-4437-097b-08d90be514ac x-ms-traffictypediagnostic: DB7PR08MB3705:|VI1PR08MB5295: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:227;OLM:227; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 6ws370s6k4G2El6DtA3+MG2dWpDciWme0+JqLoowun3PAj+O+9Jk3awdDc/lOyYBZZe54jLjQcSVBN0evJcj93aTDG3iwa3ZOFU7FZJNNYmFSFwg7OL0QTdCmZjEQxxGztuG2WOuWf4uxnxJYVMxEmkGEdgFfRiDEkfky68663yjx2qwO6UTFCC5m7Z/RgL2dHohgPFH5mgfVsIBU6Ex4qP7r1AcRWXtd4D+tnb7udTEs2IB95GYnjJfaWY3vMzBZWCYgaAFXVSXpe6wbXovKftq/eahoHchOYMhhExH/0NqtBHO7jBkoS08tAm1Wq+hq1JaEKIEP8sUFedp/FsxTTX50tc30rbmFCY1OKftRCAm05s2Oy6dVEOU9bykD545AEQaaTODEvh0PiSw3yKuHPeB+5rYDuYs9jemH1KW/7zzjNxh0BwWGL729TEe9j878h3REUlCOvCNXYwRpD8aTtGatsGrNLTn9TWcwzY+MrubGMwYwA+DddBhM0S7iW5bjohi7OZLLAEmH9BxUehI+7HVDtRaio7+c8ETXOrwlKtKihjgV+j1Ea8zpxJHLj7f9wljp/Cxk3j+52A543vXoFldxwdEQyC5qBS+LgK8OOE= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR08MB4758.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39850400004)(396003)(366004)(346002)(376002)(136003)(66446008)(64756008)(99936003)(316002)(66476007)(52536014)(110136005)(76116006)(19627405001)(8676002)(186003)(66946007)(66616009)(66556008)(26005)(5660300002)(38100700002)(53546011)(6506007)(9686003)(7696005)(122000001)(83380400001)(71200400001)(478600001)(8936002)(55016002)(33656002)(2906002)(86362001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?0ftpZvSrif2j44zE3oD6Tp1eR+a1wI5sDbgosP8ZV71zSJIjYs437vPaWAJR?= =?us-ascii?Q?0WYgbnseuQHO2KZ9y/0D7/VEJunVIuStXrwaB+8nD7v4yZT2PBAsfl1c1k5V?= =?us-ascii?Q?eVHWEfYhxdHLkZsB0bPurHWpcmpWDaB56zZwLfkbYCkCnJTYMByEbIDiREO9?= =?us-ascii?Q?WszPZJ9xS+W3V9y2yTxRksDiKj9Q2k3hQt1H2SmJF68kj1GQGK2nMr/uNtWP?= =?us-ascii?Q?GJf17kHfwBhoa/4uHGWyWrgXs8nUTbKHGjISozJgLSqc/PgQLg8qDL2qNm4E?= =?us-ascii?Q?zk947AfHd6qIB2SCkwZDaDjUEZHh5ta755E4vtyl5PyOeQunXAISyvw8Sh6Z?= =?us-ascii?Q?KkweGbfUrFLYf5sMzo2ECdYcQ0NPXBBIV8sNADo2T8VIiEg1Vkp/ERbef3V4?= =?us-ascii?Q?VBIJfMK9eGgUrvy6aUn2XOF2ZM35OnLFmBkkoVP7KArv3ewU8dZvaCMYBZDT?= =?us-ascii?Q?b9t/Dsl2AX7W6bjkqWxMlXROcAq7RvBBLDOj9nHUY0IfJhrF59e/1pVal1Le?= =?us-ascii?Q?87whCna/sFZyUh9OgRbB1TDbLBoMMB0R/yHEoQoUzg5edgx80kkUUpdPEj1V?= =?us-ascii?Q?w/ZCaZqpYuTMIMsxF6WARleYGxTV7/+syaypm2XLEClszvzL15QdnbfujLUx?= =?us-ascii?Q?OMz0/WGgWKjS/tjI+2tU6cz4wHxB/Rm7KaxuBglsIUE8ZLQQGVN/OJaJJJ9X?= =?us-ascii?Q?7t/kMjyBFs+Lvjs1wlBTsXd4YehEnSGtTFL54EaX6V8J31SldTuSzLj1KmMp?= =?us-ascii?Q?ye93K1leAWFOtHIFcEgCImp9DVAO+wPoym2NUqc2MqJRvDVteZc6e3Zpx0UD?= =?us-ascii?Q?e2XQ/OMw9vGtzxlbe4tASCWXO60wMLrOhPkMuGQLX1FeQOrvvbHtu/7LWF8u?= =?us-ascii?Q?8RsOh49gLV6iJplFhTpE6TGD1Xv1D3bgSu+qVOMyXAR6EgUAW9D6Iq/mXSWB?= =?us-ascii?Q?TU6xEott690bLNLQUwKmRBNsswv2X21lxlUqU5xHfC533EHeVEEaWtlZrOS9?= =?us-ascii?Q?OCx9aBWiPJAVFQH+Vo7+fMxawyNGmH+j0Ks3mdwHn19DC8GpZn62qbtP0dBe?= =?us-ascii?Q?Nu/p6F9EgOkB06SeNA36G7wmkQZD2pjxqj55UH8fei2BS8+LR3dvBvMdDsgG?= =?us-ascii?Q?AZ9H2swyl4fRaXvvgExejmpApE51j2u4fUpX7iu17sCkYd16jeL0cOwmdplZ?= =?us-ascii?Q?ZHD9FUf6aMMKjwcUGQb4mIjlZhzv0CK/uR/Fv+lT4rD8/hCzNEO60vhciB5p?= =?us-ascii?Q?06Fs/sTjgE9Fc2ucqugkZ8LZ6KgH8wfrQbJ4hXhbcWphC6ZWHhen94ILtQYA?= =?us-ascii?Q?0/8=3D?= Content-Type: multipart/mixed; boundary="_004_DBBPR08MB47586506E3E09013688AC209EB5E9DBBPR08MB4758eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3705 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 1585a8f0-50e1-4efb-354f-08d90be50faf X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: r1PJADl3p0bGcK8+Vome5aJd9JqD6WUMpauL5n6KN+ZHyyTZF8GoKlief4d2SNmFPJpA12HhIA6v9WYxll9csG1aE5JMzvsEG1b4ifonU2+MNYfDc0bTncvZgWnim1b2JRmg/prlCJTCUhD+52iqx/fQlIea8mRxJxSKHAkPVpGBqUPjlO3rR5r36e2BWFLkLEjXnvi1+DOOZjiozXd25jWev+zYNtJxeV/RM3EmRBG1kbJRu40KW5wxCmgaUOGvMMeof8Ae92JvU4whWXfSu1r99EdT050l4e+apDx0ExnRUZ33GuQnIX8ORTax4pyWEF3nGiUmB2ZMjvwrt9/sh7VzdIUMK9NN0ANKnleLGflH7dC1Y61fxO6vpIngScnvY2S3uptU7GyIxLn2smJpOwggDqNWo2s/OIe7Dsm6t4f6IeuWYmnJSP00W5E1gc+gzOiNYhd62PfcQ3DcYQCE5htQsKOlUKllCBhQJ3f/SG29Ljcr5UAELtkWyEyW0HeR8M/uIr+tNzPfqYhjRrsWhipTziCDp9CeElplZvfXxUavsO+rE04ZJ62nzYeoy5PObr7nrox+ogHiaGyqK7CBB+xXeP6l3arsS6O1xVYUOZ8Y4YLMXvzUklmRcx3tQboW4yTgNdejcyXh68rWJOod++OrYIKusf46zKvOhs5fQXAFp7jjmGuzxzsEBhJeChxs X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(346002)(376002)(39850400004)(396003)(136003)(46966006)(36840700001)(70206006)(70586007)(47076005)(34020700004)(66616009)(19627405001)(8676002)(336012)(7696005)(186003)(316002)(33656002)(26005)(36860700001)(55016002)(110136005)(2906002)(478600001)(53546011)(6506007)(99936003)(8936002)(81166007)(52536014)(86362001)(5660300002)(9686003)(82310400003)(235185007)(356005)(30864003)(83380400001)(82740400003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2021 14:34:37.1791 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 063a67dd-6bed-4437-097b-08d90be514ac X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5295 X-Spam-Status: No, score=-13.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, HTML_MESSAGE, KAM_LOTSOFHASH, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY 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-Content-Filtered-By: Mailman/MimeDel 2.1.29 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: , X-List-Received-Date: Fri, 30 Apr 2021 14:34:43 -0000 --_004_DBBPR08MB47586506E3E09013688AC209EB5E9DBBPR08MB4758eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Patch updated as per your suggestion. Tested and bootstrapped on aarch64-none-linux-gnu - no issues. Ok for master? Thanks, Jonathan ________________________________ From: Richard Sandiford Sent: 28 April 2021 16:11 To: Jonathan Wright via Gcc-patches Cc: Jonathan Wright Subject: Re: [PATCH 10/20] aarch64: Use RTL builtins for FP ml[as]_n intrin= sics Jonathan Wright via Gcc-patches writes: > Hi, > > As subject, this patch rewrites the floating-point vml[as][q]_n Neon > intrinsics to use RTL builtins rather than inline assembly code, allowing > for better scheduling and optimization. > > Regression tested and bootstrapped on aarch64-none-linux-gnu - no > issues. > > Ok for master? > > Thanks, > Jonathan > > --- > > gcc/ChangeLog: > > 2021-01-18 Jonathan Wright > > * config/aarch64/aarch64-simd-builtins.def: Add > float_ml[as]_n builtin generator macros. > * config/aarch64/aarch64-simd.md (mul_n3): Define. > (aarch64_float_mla_n): Define. > (aarch64_float_mls_n): Define. > * config/aarch64/arm_neon.h (vmla_n_f32): Use RTL builtin > instead of inline asm. > (vmlaq_n_f32): Likewise. > (vmls_n_f32): Likewise. > (vmlsq_n_f32): Likewise. > > diff --git a/gcc/config/aarch64/aarch64-simd-builtins.def b/gcc/config/aa= rch64/aarch64-simd-builtins.def > index 0f44ed84ff9d08d808b1b2dfe528db5208b134f5..547509474c23daf6882ed2f84= 07ddb5caf1d1b91 100644 > --- a/gcc/config/aarch64/aarch64-simd-builtins.def > +++ b/gcc/config/aarch64/aarch64-simd-builtins.def > @@ -664,6 +664,9 @@ > BUILTIN_VHSDF (TERNOP, fnma, 4, FP) > VAR1 (TERNOP, fnma, 4, FP, hf) > > + BUILTIN_VDQSF (TERNOP, float_mla_n, 0, FP) > + BUILTIN_VDQSF (TERNOP, float_mls_n, 0, FP) > + > /* Implemented by aarch64_simd_bsl. */ > BUILTIN_VDQQH (BSL_P, simd_bsl, 0, NONE) > VAR2 (BSL_P, simd_bsl,0, NONE, di, v2di) > diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarc= h64-simd.md > index 5f701dd2775290156634ef8c6feccecd359e9ec9..d016970a2c278405b270a0ac7= 45221e69f0f625e 100644 > --- a/gcc/config/aarch64/aarch64-simd.md > +++ b/gcc/config/aarch64/aarch64-simd.md > @@ -2614,6 +2614,17 @@ > [(set_attr "type" "neon_fp_mul_")] > ) > > +(define_insn "mul_n3" > + [(set (match_operand:VHSDF 0 "register_operand" "=3Dw") > + (mult:VHSDF > + (vec_duplicate:VHSDF > + (match_operand: 2 "register_operand" "w")) > + (match_operand:VHSDF 1 "register_operand" "w")))] > + "TARGET_SIMD" > + "fmul\\t%0., %1., %2.[0]" This functionality should already be provided by: (define_insn "*aarch64_mul3_elt_from_dup" [(set (match_operand:VMUL 0 "register_operand" "=3Dw") (mult:VMUL (vec_duplicate:VMUL (match_operand: 1 "register_operand" "")) (match_operand:VMUL 2 "register_operand" "w")))] "TARGET_SIMD" "mul\t%0., %2., %1.[0]"; [(set_attr "type" "neon_mul__scalar")] ) so I think we should instead rename that to mul_n3 and reorder its operands. Thanks, Richard > + [(set_attr "type" "neon_fp_mul_")] > +) > + > (define_expand "div3" > [(set (match_operand:VHSDF 0 "register_operand") > (div:VHSDF (match_operand:VHSDF 1 "register_operand") > @@ -2651,6 +2662,40 @@ > [(set_attr "type" "neon_fp_abs_")] > ) > > +(define_expand "aarch64_float_mla_n" > + [(set (match_operand:VDQSF 0 "register_operand") > + (plus:VDQSF > + (mult:VDQSF > + (vec_duplicate:VDQSF > + (match_operand: 3 "register_operand")) > + (match_operand:VDQSF 2 "register_operand")) > + (match_operand:VDQSF 1 "register_operand")))] > + "TARGET_SIMD" > + { > + rtx scratch =3D gen_reg_rtx (mode); > + emit_insn (gen_mul_n3 (scratch, operands[2], operands[3])); > + emit_insn (gen_add3 (operands[0], operands[1], scratch)); > + DONE; > + } > +) > + > +(define_expand "aarch64_float_mls_n" > + [(set (match_operand:VDQSF 0 "register_operand") > + (minus:VDQSF > + (match_operand:VDQSF 1 "register_operand") > + (mult:VDQSF > + (vec_duplicate:VDQSF > + (match_operand: 3 "register_operand")) > + (match_operand:VDQSF 2 "register_operand"))))] > + "TARGET_SIMD" > + { > + rtx scratch =3D gen_reg_rtx (mode); > + emit_insn (gen_mul_n3 (scratch, operands[2], operands[3])); > + emit_insn (gen_sub3 (operands[0], operands[1], scratch)); > + DONE; > + } > +) > + > (define_insn "fma4" > [(set (match_operand:VHSDF 0 "register_operand" "=3Dw") > (fma:VHSDF (match_operand:VHSDF 1 "register_operand" "w") > diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.= h > index 1c48c166b5b9aaf052761f95121c26845221dae9..c0399c4dc428fe63c07fce0d1= 2bb1580ead1542f 100644 > --- a/gcc/config/aarch64/arm_neon.h > +++ b/gcc/config/aarch64/arm_neon.h > @@ -7050,13 +7050,7 @@ __extension__ extern __inline float32x2_t > __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c) > { > - float32x2_t __result; > - float32x2_t __t1; > - __asm__ ("fmul %1.2s, %3.2s, %4.s[0]; fadd %0.2s, %0.2s, %1.2s" > - : "=3Dw"(__result), "=3Dw"(__t1) > - : "0"(__a), "w"(__b), "w"(__c) > - : /* No clobbers */); > - return __result; > + return __builtin_aarch64_float_mla_nv2sf (__a, __b, __c); > } > > __extension__ extern __inline int16x4_t > @@ -7403,13 +7397,7 @@ __extension__ extern __inline float32x4_t > __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c) > { > - float32x4_t __result; > - float32x4_t __t1; > - __asm__ ("fmul %1.4s, %3.4s, %4.s[0]; fadd %0.4s, %0.4s, %1.4s" > - : "=3Dw"(__result), "=3Dw"(__t1) > - : "0"(__a), "w"(__b), "w"(__c) > - : /* No clobbers */); > - return __result; > + return __builtin_aarch64_float_mla_nv4sf (__a, __b, __c); > } > > __extension__ extern __inline int16x8_t > @@ -7496,13 +7484,7 @@ __extension__ extern __inline float32x2_t > __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c) > { > - float32x2_t __result; > - float32x2_t __t1; > - __asm__ ("fmul %1.2s, %3.2s, %4.s[0]; fsub %0.2s, %0.2s, %1.2s" > - : "=3Dw"(__result), "=3Dw"(__t1) > - : "0"(__a), "w"(__b), "w"(__c) > - : /* No clobbers */); > - return __result; > + return __builtin_aarch64_float_mls_nv2sf (__a, __b, __c); > } > > __extension__ extern __inline int16x4_t > @@ -7853,13 +7835,7 @@ __extension__ extern __inline float32x4_t > __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c) > { > - float32x4_t __result; > - float32x4_t __t1; > - __asm__ ("fmul %1.4s, %3.4s, %4.s[0]; fsub %0.4s, %0.4s, %1.4s" > - : "=3Dw"(__result), "=3Dw"(__t1) > - : "0"(__a), "w"(__b), "w"(__c) > - : /* No clobbers */); > - return __result; > + return __builtin_aarch64_float_mls_nv4sf (__a, __b, __c); > } > > __extension__ extern __inline int16x8_t --_004_DBBPR08MB47586506E3E09013688AC209EB5E9DBBPR08MB4758eurp_ Content-Type: application/octet-stream; name="rb14042.patch" Content-Description: rb14042.patch Content-Disposition: attachment; filename="rb14042.patch"; size=5371; creation-date="Fri, 30 Apr 2021 14:34:05 GMT"; modification-date="Fri, 30 Apr 2021 14:34:28 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQtYnVpbHRpbnMuZGVm IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC1idWlsdGlucy5kZWYKaW5kZXggNWQ0 YzAxZjMyZTdlOTExY2M1M2FmYjJmYTVmMDU4MDAzOWY3NzMwMC4uM2I1ZTg4NDQzYThmYmIwNzA1 OTU2ZGU1NWZhYjg2NjUzNDIzMmYwYyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2Fh cmNoNjQtc2ltZC1idWlsdGlucy5kZWYKKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQt c2ltZC1idWlsdGlucy5kZWYKQEAgLTY2OCw2ICs2NjgsOSBAQAogICBCVUlMVElOX1ZIU0RGIChU RVJOT1AsIGZubWEsIDQsIEZQKQogICBWQVIxIChURVJOT1AsIGZubWEsIDQsIEZQLCBoZikKIAor ICBCVUlMVElOX1ZEUVNGIChURVJOT1AsIGZsb2F0X21sYV9uLCAwLCBGUCkKKyAgQlVJTFRJTl9W RFFTRiAoVEVSTk9QLCBmbG9hdF9tbHNfbiwgMCwgRlApCisKICAgLyogSW1wbGVtZW50ZWQgYnkg YWFyY2g2NF9zaW1kX2JzbDxtb2RlPi4gICovCiAgIEJVSUxUSU5fVkRRUUggKEJTTF9QLCBzaW1k X2JzbCwgMCwgTk9ORSkKICAgVkFSMiAoQlNMX1AsIHNpbWRfYnNsLDAsIE5PTkUsIGRpLCB2MmRp KQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZCBiL2djYy9j b25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQKaW5kZXggNjVlNjM5MDBlMDc1NzIyZWJkOTNl NDMzZjNjYzFmYjQ0OWUwMmM3ZC4uNmVkZmQyZDYzN2VmNWE3NmQwMjdlOTAwNTMzNTllNmRhNjA3 YWI4NCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZAorKysg Yi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kCkBAIC03NTAsMTQgKzc1MCwxNCBA QAogICBbKHNldF9hdHRyICJ0eXBlIiAibmVvbjxmcD5fbXVsXzxWZXR5cGU+X3NjYWxhcjxxPiIp XQogKQogCi0oZGVmaW5lX2luc24gIiphYXJjaDY0X211bDNfZWx0X2Zyb21fZHVwPG1vZGU+Igor KGRlZmluZV9pbnNuICJtdWxfbjxtb2RlPjMiCiAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Vk1VTCAw ICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXciKQotICAgIChtdWx0OlZNVUwKLSAgICAgICh2ZWNfZHVw bGljYXRlOlZNVUwKLQkgICAgKG1hdGNoX29wZXJhbmQ6PFZFTD4gMSAicmVnaXN0ZXJfb3BlcmFu ZCIgIjxoX2Nvbj4iKSkKLSAgICAgIChtYXRjaF9vcGVyYW5kOlZNVUwgMiAicmVnaXN0ZXJfb3Bl cmFuZCIgInciKSkpXQorICAgICAgIChtdWx0OlZNVUwKKwkgKHZlY19kdXBsaWNhdGU6Vk1VTAor CSAgIChtYXRjaF9vcGVyYW5kOjxWRUw+IDIgInJlZ2lzdGVyX29wZXJhbmQiICI8aF9jb24+Iikp CisJIChtYXRjaF9vcGVyYW5kOlZNVUwgMSAicmVnaXN0ZXJfb3BlcmFuZCIgInciKSkpXQogICAi VEFSR0VUX1NJTUQiCi0gICI8Zj5tdWxcdCUwLjxWdHlwZT4sICUyLjxWdHlwZT4sICUxLjxWZXR5 cGU+WzBdIjsKKyAgIjxmPm11bFx0JTAuPFZ0eXBlPiwgJTEuPFZ0eXBlPiwgJTIuPFZldHlwZT5b MF0iOwogICBbKHNldF9hdHRyICJ0eXBlIiAibmVvbjxmcD5fbXVsXzxzdHlwZT5fc2NhbGFyPHE+ IildCiApCiAKQEAgLTI2MzYsNiArMjYzNiw0MCBAQAogICBbKHNldF9hdHRyICJ0eXBlIiAibmVv bl9mcF9hYnNfPHN0eXBlPjxxPiIpXQogKQogCisoZGVmaW5lX2V4cGFuZCAiYWFyY2g2NF9mbG9h dF9tbGFfbjxtb2RlPiIKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkRRU0YgMCAicmVnaXN0ZXJf b3BlcmFuZCIpCisJKHBsdXM6VkRRU0YKKwkgIChtdWx0OlZEUVNGCisJICAgICh2ZWNfZHVwbGlj YXRlOlZEUVNGCisJICAgICAgKG1hdGNoX29wZXJhbmQ6PFZFTD4gMyAicmVnaXN0ZXJfb3BlcmFu ZCIpKQorCSAgICAobWF0Y2hfb3BlcmFuZDpWRFFTRiAyICJyZWdpc3Rlcl9vcGVyYW5kIikpCisJ ICAobWF0Y2hfb3BlcmFuZDpWRFFTRiAxICJyZWdpc3Rlcl9vcGVyYW5kIikpKV0KKyAgIlRBUkdF VF9TSU1EIgorICB7CisgICAgcnR4IHNjcmF0Y2ggPSBnZW5fcmVnX3J0eCAoPE1PREU+bW9kZSk7 CisgICAgZW1pdF9pbnNuIChnZW5fbXVsX248bW9kZT4zIChzY3JhdGNoLCBvcGVyYW5kc1syXSwg b3BlcmFuZHNbM10pKTsKKyAgICBlbWl0X2luc24gKGdlbl9hZGQ8bW9kZT4zIChvcGVyYW5kc1sw XSwgb3BlcmFuZHNbMV0sIHNjcmF0Y2gpKTsKKyAgICBET05FOworICB9CispCisKKyhkZWZpbmVf ZXhwYW5kICJhYXJjaDY0X2Zsb2F0X21sc19uPG1vZGU+IgorICBbKHNldCAobWF0Y2hfb3BlcmFu ZDpWRFFTRiAwICJyZWdpc3Rlcl9vcGVyYW5kIikKKwkobWludXM6VkRRU0YKKwkgIChtYXRjaF9v cGVyYW5kOlZEUVNGIDEgInJlZ2lzdGVyX29wZXJhbmQiKQorCSAgKG11bHQ6VkRRU0YKKwkgICAg KHZlY19kdXBsaWNhdGU6VkRRU0YKKwkgICAgICAobWF0Y2hfb3BlcmFuZDo8VkVMPiAzICJyZWdp c3Rlcl9vcGVyYW5kIikpCisJICAgIChtYXRjaF9vcGVyYW5kOlZEUVNGIDIgInJlZ2lzdGVyX29w ZXJhbmQiKSkpKV0KKyAgIlRBUkdFVF9TSU1EIgorICB7CisgICAgcnR4IHNjcmF0Y2ggPSBnZW5f cmVnX3J0eCAoPE1PREU+bW9kZSk7CisgICAgZW1pdF9pbnNuIChnZW5fbXVsX248bW9kZT4zIChz Y3JhdGNoLCBvcGVyYW5kc1syXSwgb3BlcmFuZHNbM10pKTsKKyAgICBlbWl0X2luc24gKGdlbl9z dWI8bW9kZT4zIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sIHNjcmF0Y2gpKTsKKyAgICBET05F OworICB9CispCisKIChkZWZpbmVfaW5zbiAiZm1hPG1vZGU+NCIKICAgWyhzZXQgKG1hdGNoX29w ZXJhbmQ6VkhTREYgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj13IikKICAgICAgICAoZm1hOlZIU0RG IChtYXRjaF9vcGVyYW5kOlZIU0RGIDEgInJlZ2lzdGVyX29wZXJhbmQiICJ3IikKZGlmZiAtLWdp dCBhL2djYy9jb25maWcvYWFyY2g2NC9hcm1fbmVvbi5oIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2Fy bV9uZW9uLmgKaW5kZXggYmRlMmQxN2ZiZDkyZjlkMmEwYWUyZjQ3ZjJjOTJjNjIyYzM2NTY0Mi4u ZjFlMWUwZWU3OTE0NGM1NTNmZTIwN2E1MWJhMjExYzZkZmM1MjJhYyAxMDA2NDQKLS0tIGEvZ2Nj L2NvbmZpZy9hYXJjaDY0L2FybV9uZW9uLmgKKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FybV9u ZW9uLmgKQEAgLTcwMzUsMTMgKzcwMzUsNyBAQCBfX2V4dGVuc2lvbl9fIGV4dGVybiBfX2lubGlu ZSBmbG9hdDMyeDJfdAogX19hdHRyaWJ1dGVfXyAoKF9fYWx3YXlzX2lubGluZV9fLCBfX2dudV9p bmxpbmVfXywgX19hcnRpZmljaWFsX18pKQogdm1sYV9uX2YzMiAoZmxvYXQzMngyX3QgX19hLCBm bG9hdDMyeDJfdCBfX2IsIGZsb2F0MzJfdCBfX2MpCiB7Ci0gIGZsb2F0MzJ4Ml90IF9fcmVzdWx0 OwotICBmbG9hdDMyeDJfdCBfX3QxOwotICBfX2FzbV9fICgiZm11bCAlMS4ycywgJTMuMnMsICU0 LnNbMF07IGZhZGQgJTAuMnMsICUwLjJzLCAlMS4ycyIKLSAgICAgICAgICAgOiAiPXciKF9fcmVz dWx0KSwgIj13IihfX3QxKQotICAgICAgICAgICA6ICIwIihfX2EpLCAidyIoX19iKSwgInciKF9f YykKLSAgICAgICAgICAgOiAvKiBObyBjbG9iYmVycyAqLyk7Ci0gIHJldHVybiBfX3Jlc3VsdDsK KyAgcmV0dXJuIF9fYnVpbHRpbl9hYXJjaDY0X2Zsb2F0X21sYV9udjJzZiAoX19hLCBfX2IsIF9f Yyk7CiB9CiAKIF9fZXh0ZW5zaW9uX18gZXh0ZXJuIF9faW5saW5lIGludDE2eDRfdApAQCAtNzM4 OCwxMyArNzM4Miw3IEBAIF9fZXh0ZW5zaW9uX18gZXh0ZXJuIF9faW5saW5lIGZsb2F0MzJ4NF90 CiBfX2F0dHJpYnV0ZV9fICgoX19hbHdheXNfaW5saW5lX18sIF9fZ251X2lubGluZV9fLCBfX2Fy dGlmaWNpYWxfXykpCiB2bWxhcV9uX2YzMiAoZmxvYXQzMng0X3QgX19hLCBmbG9hdDMyeDRfdCBf X2IsIGZsb2F0MzJfdCBfX2MpCiB7Ci0gIGZsb2F0MzJ4NF90IF9fcmVzdWx0OwotICBmbG9hdDMy eDRfdCBfX3QxOwotICBfX2FzbV9fICgiZm11bCAlMS40cywgJTMuNHMsICU0LnNbMF07IGZhZGQg JTAuNHMsICUwLjRzLCAlMS40cyIKLSAgICAgICAgICAgOiAiPXciKF9fcmVzdWx0KSwgIj13Iihf X3QxKQotICAgICAgICAgICA6ICIwIihfX2EpLCAidyIoX19iKSwgInciKF9fYykKLSAgICAgICAg ICAgOiAvKiBObyBjbG9iYmVycyAqLyk7Ci0gIHJldHVybiBfX3Jlc3VsdDsKKyAgcmV0dXJuIF9f YnVpbHRpbl9hYXJjaDY0X2Zsb2F0X21sYV9udjRzZiAoX19hLCBfX2IsIF9fYyk7CiB9CiAKIF9f ZXh0ZW5zaW9uX18gZXh0ZXJuIF9faW5saW5lIGludDE2eDhfdApAQCAtNzQ4MSwxMyArNzQ2OSw3 IEBAIF9fZXh0ZW5zaW9uX18gZXh0ZXJuIF9faW5saW5lIGZsb2F0MzJ4Ml90CiBfX2F0dHJpYnV0 ZV9fICgoX19hbHdheXNfaW5saW5lX18sIF9fZ251X2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykp CiB2bWxzX25fZjMyIChmbG9hdDMyeDJfdCBfX2EsIGZsb2F0MzJ4Ml90IF9fYiwgZmxvYXQzMl90 IF9fYykKIHsKLSAgZmxvYXQzMngyX3QgX19yZXN1bHQ7Ci0gIGZsb2F0MzJ4Ml90IF9fdDE7Ci0g IF9fYXNtX18gKCJmbXVsICUxLjJzLCAlMy4ycywgJTQuc1swXTsgZnN1YiAlMC4ycywgJTAuMnMs ICUxLjJzIgotICAgICAgICAgICA6ICI9dyIoX19yZXN1bHQpLCAiPXciKF9fdDEpCi0gICAgICAg ICAgIDogIjAiKF9fYSksICJ3IihfX2IpLCAidyIoX19jKQotICAgICAgICAgICA6IC8qIE5vIGNs b2JiZXJzICovKTsKLSAgcmV0dXJuIF9fcmVzdWx0OworICByZXR1cm4gX19idWlsdGluX2FhcmNo NjRfZmxvYXRfbWxzX252MnNmIChfX2EsIF9fYiwgX19jKTsKIH0KIAogX19leHRlbnNpb25fXyBl eHRlcm4gX19pbmxpbmUgaW50MTZ4NF90CkBAIC03ODM4LDEzICs3ODIwLDcgQEAgX19leHRlbnNp b25fXyBleHRlcm4gX19pbmxpbmUgZmxvYXQzMng0X3QKIF9fYXR0cmlidXRlX18gKChfX2Fsd2F5 c19pbmxpbmVfXywgX19nbnVfaW5saW5lX18sIF9fYXJ0aWZpY2lhbF9fKSkKIHZtbHNxX25fZjMy IChmbG9hdDMyeDRfdCBfX2EsIGZsb2F0MzJ4NF90IF9fYiwgZmxvYXQzMl90IF9fYykKIHsKLSAg ZmxvYXQzMng0X3QgX19yZXN1bHQ7Ci0gIGZsb2F0MzJ4NF90IF9fdDE7Ci0gIF9fYXNtX18gKCJm bXVsICUxLjRzLCAlMy40cywgJTQuc1swXTsgZnN1YiAlMC40cywgJTAuNHMsICUxLjRzIgotICAg ICAgICAgICA6ICI9dyIoX19yZXN1bHQpLCAiPXciKF9fdDEpCi0gICAgICAgICAgIDogIjAiKF9f YSksICJ3IihfX2IpLCAidyIoX19jKQotICAgICAgICAgICA6IC8qIE5vIGNsb2JiZXJzICovKTsK LSAgcmV0dXJuIF9fcmVzdWx0OworICByZXR1cm4gX19idWlsdGluX2FhcmNoNjRfZmxvYXRfbWxz X252NHNmIChfX2EsIF9fYiwgX19jKTsKIH0KIAogX19leHRlbnNpb25fXyBleHRlcm4gX19pbmxp bmUgaW50MTZ4OF90Cg== --_004_DBBPR08MB47586506E3E09013688AC209EB5E9DBBPR08MB4758eurp_--