From patchwork Wed Oct 16 15:04:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Evgeny Karpov X-Patchwork-Id: 1998114 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=microsoft.com header.i=@microsoft.com header.a=rsa-sha256 header.s=selector2 header.b=JVcPp+pS; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.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 ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XTDlT6MVbz1xth for ; Thu, 17 Oct 2024 02:04:37 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F09833858C42 for ; Wed, 16 Oct 2024 15:04:35 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on20721.outbound.protection.outlook.com [IPv6:2a01:111:f403:2612::721]) by sourceware.org (Postfix) with ESMTPS id 322F03858D33 for ; Wed, 16 Oct 2024 15:04:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 322F03858D33 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=microsoft.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=microsoft.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 322F03858D33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2612::721 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1729091059; cv=pass; b=sTMmri0EUuOC2lDPDlPyuqd4EA6UQXZyJI5nwHQBa36CF4nVJItREI8rVUTT/4VSZydRNzhEj84DtdrcBHvC4b0UnGQlAURu97hibP6cLuz2rupbqBSzMfK3Bji0Am61H9thhnGxyoIKT9mH8B9mSlhI/1N4gY18o3ardKMsFyo= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1729091059; c=relaxed/simple; bh=A8T8+nVvKP1PPpsziVfD3Xek6BpX6ambw9VgRK2NWH8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=p+4oVCsCbc6cfA+Ngy9xXGjB79Gl0gGViioJIaUHQJY8wMC3zV8N1xE3su3u7LnLZHWw9HijQTPlmDy3F6oseud7++gYBroZDym5GN8+NeL4/GzNKfbAGJn4wF3I8Tmt2jR6xiyjdbyBeEuukSSdXISjTOYMr8H54Ro/xgmqPSs= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=B+EuRb3HSj0lxSl9nu/C3KwjIpaTSIi5YhneeVzoOVyuUkZ/vEgZ+hYN3lR57jwvnpnOjm6XK9dnSg2SpvaEY3K7dvYGZFTYbk1Biw+ikpvbF/yRM+Zb/2jABmUlWcpjpE+U37F3qcaCU5fe5Ns8L6D6y89IVAcCIRmsrbqHS4O+2vuHrXAZp+HCsXENhlmHiFBTP7DCrwOyeHhUYfEFSwABaB79BLa2EeQSa+/d88mAYHtCwKCmSWjsFg42R9decQ01VBQSTVG+icnm68oJP1Ru3kFLuB24L9CwW5q5h8Li2kwgQgxId+VfjNwOhxu1bTEVG+AUwKoa6ZklPKSH0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=m7YsAJrwfzWNZLV+bELBbWK6+hD2iJjIWpiKJ3UPu14=; b=i8Imjc2eQU4VudMX4TSCjOJQtbj/lxk/8h4z404G8/w7dgaljO3LDGNb2zo4IQirKTl3EWlFl48Sn/vUfk5i8oiraPV1/Ii7cpESt9s8LxMJdpZ9/SKL0eDPthlGxbDyPLkVxa9bnGMIePyUQKD6xXJtmuWC0IZrpZvN6PEeJBtbY2JaF3qunYs890LVm4GaeFdJ64b9wxkFHEN5nji+GQhPZb/cO9HE/xzDez3KosiKGNELiwmNV1cbpWvDhiRYM6XUKtYLJ+Q2cgPUci+twqISLB/B8NZS4snxZ57wG4+44gYI6ngZVBzho54EyZqZLRKlkeMhDis1ORgANVO4Ew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=m7YsAJrwfzWNZLV+bELBbWK6+hD2iJjIWpiKJ3UPu14=; b=JVcPp+pSt/Vv36FZh6uLQ4jTekeVErGZzvqW5TQW4/erSCW9h7s8e/kj9GmL11JvtkVOy/agAVYrbT5ZYR4POa9tRlll/qEhXmmXRUwHw1dIpHovCnjw/fxJXGIo4Po4452zL1+axU7pflxWHj5FJKi+wrgX+cC/oEUaDmBfqQw= Received: from DBBPR83MB0613.EURPRD83.prod.outlook.com (2603:10a6:10:533::21) by DBBPR83MB0615.EURPRD83.prod.outlook.com (2603:10a6:10:533::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.7; Wed, 16 Oct 2024 15:04:13 +0000 Received: from DBBPR83MB0613.EURPRD83.prod.outlook.com ([fe80::399d:9bfc:1209:af10]) by DBBPR83MB0613.EURPRD83.prod.outlook.com ([fe80::399d:9bfc:1209:af10%7]) with mapi id 15.20.8093.000; Wed, 16 Oct 2024 15:04:13 +0000 From: Evgeny Karpov To: Richard Sandiford CC: "gcc-patches@gcc.gnu.org" , "Richard Earnshaw (lists)" , "christophe.lyon@linaro.org" , Maxim Kuvyrkov , Radek Barton Subject: [PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT Thread-Topic: [PATCH v2 9/9] aarch64: Handle alignment when it is bigger than BIGGEST_ALIGNMENT Thread-Index: AQHbH9yp0n6fh6P04EmnuKyeyRjoSg== Date: Wed, 16 Oct 2024 15:04:13 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2024-10-16T15:04:07.885Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DBBPR83MB0613:EE_|DBBPR83MB0615:EE_ x-ms-office365-filtering-correlation-id: d489d705-8787-4697-5177-08dcedf3cbfe x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|10070799003|1800799024|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?q?CRvHVGHuI4zdXotXxEB/kWyGN6?= =?iso-8859-1?q?aH83/YpvQOAp+vMa/Ysdfwy5hyi7r/4Mzd7TwN04QpWB4wNiHntp0pmJEngD?= =?iso-8859-1?q?FcXeOylzopw01ZGVyiCEcD/bQBwhkA/C+TKxlTwaJ7h/gDi0/uvRItxhv3wb?= =?iso-8859-1?q?fbBzz63Hp57zcdQ5ANlelCVHuUfq3rj42XjW7wQzRi523uWjPq3yL1tAR1lC?= =?iso-8859-1?q?vfA9VQJqaAaqukxvW8erp3OioBxnKlA9QALKqNJuQVLvbsTdpaZzQK7W8mYT?= =?iso-8859-1?q?czLHwscI7i2UGNZ1dgBpAWQd/DFDEwD6nZj8ReodKFWaljSh6bweAuk1xDxt?= =?iso-8859-1?q?PGD4x79UhSw9s6QFqVPE0FaZSUr5VxxC3mDo+wYyocMQysOLLUMRoZKuHtbf?= =?iso-8859-1?q?Q5jM2iogF5ie8Opn2CBnbnXfxkX6XEeD/XgCVAOB9qLGPbgmTD0FpzgdiuE7?= =?iso-8859-1?q?Wd5W1sjc/Sxdv2Ad+AikTgwawPIUAk9PV8nGVUD4pO+bloktbJrIPDNjIkz1?= =?iso-8859-1?q?1d3lUO0mu5ztrXOs2KZht4Erm8pL0Mx82iCVTMchZf+6k9tadsfEHPR09fVu?= =?iso-8859-1?q?VxAeiw/e9l+vBQ1LRLeW2OV5DSoBEcVlHTO+CUG7qleLX+zWu0AWZXEV1IDX?= =?iso-8859-1?q?EWqT/5Os8VZJSwp0FK9nLGtcN5lj3E6aUEEgj6VqCQbV+S6nUO7JtKL3MLiM?= =?iso-8859-1?q?gyzdpIDHBEfh0znU2T76gipjg5we93no9GjsRrZLamX3ZO0jybo9OCu5rNDy?= =?iso-8859-1?q?T2ze8mlMhj6QH/VxMRxoNuCU6DLz1FVt35rcQbULu5Tnf3i2SfgwplrW8dhy?= =?iso-8859-1?q?jeqoTIJIRxPYdtNgzZVWGEBMaG8uBkj/Iegi8TeVreYRYSvafoGytgAC8Spv?= =?iso-8859-1?q?smNxpgCQWfyrn6/nJN8NjOC6LP/YuF6dHTLhpLZlyw6JveIyNQDWoa1FQU3O?= =?iso-8859-1?q?HVsUccbJVHD0pERtbYw4V50T14JPOdBvBLeffxBE8c+5NMjvs6KPTXcI+PQz?= =?iso-8859-1?q?+RfZiCearKaShNEM/4LKSSVjKXvDiDgfYV4P/VE8WzY1f9m89JE/wanP21O8?= =?iso-8859-1?q?BcfFpJbqFNC469Vnrpnffjk2ZTPJRYVDvW3Pww63pcgXtRmV8bTYZlFduio8?= =?iso-8859-1?q?TYieNkbeZkLplcv9lq37OMLvxl48+K1LK65P1zDuNl69d7co8bsZ4nQdWIcn?= =?iso-8859-1?q?1iUv4yW+bM0ONshZPK1wFI0s3y5c+/jkXa7Q8qJNtpTkMRA+BcPG3AfTBV+Q?= =?iso-8859-1?q?mveDAOFYUmDBpJRLd2liZBpYwp7DJ3bEEVALgPBGii+OtU9Q9w7SxDxL1kOj?= =?iso-8859-1?q?2l4J0+hDugl3/2JACUw5ELLlcY2/7kDd+g4AG7gTrATdh9ZDTWqD33HGDLTu?= =?iso-8859-1?q?YtjJ118DvTgS+MSqtzNg=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR83MB0613.EURPRD83.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(10070799003)(1800799024)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?ydCroe2q1olcM3sYsh5gBLl?= =?iso-8859-1?q?2G0XGF9SCPZm9PEYcZ7HzOVvScmXzzAZ3hYggSgqPY21Cxt+51N3trHf+Tnv?= =?iso-8859-1?q?/EcLp97jl+qjVFVGMwzjlQ0hXGOg/RPfzrwmKoQkx9OmRjYRbDvebrR4owat?= =?iso-8859-1?q?w0GVIMddMiIabD5IXMvcnZK6vH6AnT/fsJhWdrWzQpuv/MJha+ShS/lbuFcz?= =?iso-8859-1?q?LjVgcQfVnIyKlw7M3B6noHS2FgQnyOmL9jvnT0yg6zk47rACqBxpXjmExFgk?= =?iso-8859-1?q?tcrYQZRv6NODn51015UKHBhNn0nLDRgGkHZ/msoiTmOGWT37VWsJM/JNu5IL?= =?iso-8859-1?q?1MSCRR5iqgwczL8FavlNTLHey3RKiEmuMxGuz1UH7GT8dF8S14c1j47Y9vct?= =?iso-8859-1?q?IB/FKas+Q7GDyZWXBfTVF0kw2wTbjFSlYpgB0fOVtMf5lfVwy/BFWkttSUln?= =?iso-8859-1?q?7vkb+9y/WZfehoCUdNDoV7WkrhEOdMSZ6kDUAkkI5VFo1GvkqzRXUizZk9iL?= =?iso-8859-1?q?uiBPUCbZtN3ojdqAGBSDGGHPMIiojEKgQz4WXMw90O+XdUb8mqS1kBsudGBr?= =?iso-8859-1?q?9OKw1CYKHeSMn9AxY6YaWFwU7+zyJ9ubN718g//EvlbvFOeKRaL3SV+gMH1n?= =?iso-8859-1?q?BqKbmYIQ9UQ6NkBGa73ijFcHTzsJURR6ecGWtHya/DmS3nxgPfHYfr7fpLs8?= =?iso-8859-1?q?Q5CGWhdiEXSeZPIwrxWyFaFlR3n+/wio+MvyP1BLkpzKm3I3e9xoUsZ2E5OC?= =?iso-8859-1?q?dCWcCLmhPn5KO3aaWeieZeoncwv0iIP+0SkSBpI9hAFEMNwXSnDi3VaVMquF?= =?iso-8859-1?q?bakePMUNt5DMsAB+mxbYuyhd/K7Ye4kHqa3YR0UttOu9nso/zgdnIplq3WCE?= =?iso-8859-1?q?uGffh8vS18YIbtHTttYZn0riQu7JGKTH1fgQq8MscsMIUXTUxqz5ZmcZjNLa?= =?iso-8859-1?q?C4bHONqcLSajSdisP4hUB4EHBW8VoeNKahO+izyxFyMDStgPJ+6eWQoYnu75?= =?iso-8859-1?q?VsVZCxScLZNUFkOdhqveqHS/zyePMrIWtZTGVvEwHXpqvYPWctvJu+TNjhfg?= =?iso-8859-1?q?o4QZQFf5TZBCOC0jjhilp2Xe8ImILTKOfKcXFvIwoyd5Ci7R6n9DtBhWQTzY?= =?iso-8859-1?q?UlLhCs838G1RKStaBtqLOHob7i4fhxIbi+TIpa6Ic/78oB9DCarLo8TIeOB+?= =?iso-8859-1?q?VYCnX+dmXsrILpiFz4ohpciFp+aPCexVdDKJeWVNNQizmMNFYmXvpK2Gp904?= =?iso-8859-1?q?cxYwaPrscl9uK8HkcLAx5/wWc3XgMG8aSFTVCZxbXNOl8geD2zxTKNoKP/mP?= =?iso-8859-1?q?gkRiog/VV1rAe5uJeDdpVvBGrq+KOsPbkHj9ODRqPEKQ87xHiQVUqOwl/Gf4?= =?iso-8859-1?q?LDzwUkyFp4jCfjKJwI1kw3deAx87m7ztQPZWBGn78DAMlA51IY/r7SrLoyjW?= =?iso-8859-1?q?iFV7X8mpNQEjC6+RprWNp0+TCJQTvUZd+iTXKq/KYHuJYV8nUWRWcS573Cje?= =?iso-8859-1?q?a6/F4thcnT/OteCaogJdqpEE+qdJbAFddWDiZ/JIjm166/SPgwoY1e5Wjbtu?= =?iso-8859-1?q?0zTlUY28Hc013WFbZPtlwsUCbW3w846j2S3LOWJS4FW5oiTX/csXz1ymFC9y?= =?iso-8859-1?q?cE3a57/3lzyN8uIbmrXX99qCFo+mUhs8oejt1gCVZqw9bNF8bL5s4IAiYjSr?= =?iso-8859-1?q?8ZzrlpoRTtu06j1aed5Xq?= MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DBBPR83MB0613.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d489d705-8787-4697-5177-08dcedf3cbfe X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Oct 2024 15:04:13.4681 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: njZScnkk73nVWDKO5h2aX2gnenYU3rHwblzPEuZjgv2ty5iTpsseoRRhQKf7n5XLBZUk1GqFn3ZSZFP2WgqQdA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR83MB0615 X-Spam-Status: No, score=-10.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, SPF_HELO_PASS, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org Thursday, September 19, 2024 Richard Sandiford wrote: >> For instance: >> float __attribute__((aligned (32))) large_aligned_array[3]; >> >> BIGGEST_ALIGNMENT could be up to 512 bits on x64. >> This patch has been added to cover this case without needing to >> change the FFmpeg code. > > What goes wrong if we don't do this?  I'm not sure from the description > whether it's a correctness fix, a performance fix, or whether it's about > avoiding wasted space. It is a correctness fix. >> +#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGNMENT)  \ >> +  { \ >> +    unsigned HOST_WIDE_INT rounded = MAX ((SIZE), 1); \ >> +    unsigned HOST_WIDE_INT alignment = MAX ((ALIGNMENT), BIGGEST_ALIGNMENT); \ >> +    rounded += (alignment / BITS_PER_UNIT) - 1; \ >> +    rounded = (rounded / (alignment / BITS_PER_UNIT) \ >> +      * (alignment / BITS_PER_UNIT)); \ > > There's a ROUND_UP macro that could be used here. Here is the patch after applying ROUND_UP. Regards, Evgeny diff --git a/gcc/config/aarch64/aarch64-coff.h b/gcc/config/aarch64/aarch64-coff.h index 3c8aed806c9..1a45256ebfe 100644 --- a/gcc/config/aarch64/aarch64-coff.h +++ b/gcc/config/aarch64/aarch64-coff.h @@ -58,6 +58,13 @@ assemble_name ((FILE), (NAME)), \ fprintf ((FILE), "," HOST_WIDE_INT_PRINT_DEC "\n", (ROUNDED))) +#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGNMENT) \ + { \ + unsigned rounded = ROUND_UP (MAX ((SIZE), 1), \ + MAX ((ALIGNMENT), BIGGEST_ALIGNMENT) / BITS_PER_UNIT); \ + ASM_OUTPUT_LOCAL (FILE, NAME, SIZE, rounded); \ + } + #define ASM_OUTPUT_SKIP(STREAM, NBYTES) \ fprintf (STREAM, "\t.space\t%d // skip\n", (int) (NBYTES))