Message ID | 20230725220821.11431-1-david.faust@oracle.com |
---|---|
State | Unresolved |
Headers |
Return-Path: <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp37745vqo; Tue, 25 Jul 2023 15:10:23 -0700 (PDT) X-Google-Smtp-Source: APBJJlHn2qhJgRVdALdAJG/zbyOEulniDPNQIC2Kv0B6WEGmunCSFUs3tm0YsnjyLGfbrn0C8Bnf X-Received: by 2002:aa7:d813:0:b0:522:2dcc:afb6 with SMTP id v19-20020aa7d813000000b005222dccafb6mr167440edq.7.1690323023501; Tue, 25 Jul 2023 15:10:23 -0700 (PDT) Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id i17-20020a50fc11000000b005222b2ccdd7si4052906edr.433.2023.07.25.15.10.22 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Jul 2023 15:10:23 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=DZUSS8X+; arc=fail (signature failed); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E32E53855583 for <ouuuleilei@gmail.com>; Tue, 25 Jul 2023 22:10:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E32E53855583 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1690323007; bh=MyeKDVBXwxFkvHPx372ta3l5c7r6w/0Mfq3H4wLazUQ=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=DZUSS8X+yP69UZP4tiESNN3JrOg18Rd0funTPTCiP5wvnDm09wPP9+RE2t1LwkkMt JH1TU99rUzP7C7re2bOCZ0ngk2vhFc0Ucj/ZN7VQ7ji/+mu9h3bcrCRCKJrEYo2Eab 0gfJLEwpriw0tgYRgDX8igltGjzLQ05CaOt/o44g= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 1561B3858C33 for <gcc-patches@gcc.gnu.org>; Tue, 25 Jul 2023 22:09:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1561B3858C33 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36PJIqf3019154 for <gcc-patches@gcc.gnu.org>; Tue, 25 Jul 2023 22:09:16 GMT Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s070ax6sj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <gcc-patches@gcc.gnu.org>; Tue, 25 Jul 2023 22:09:16 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 36PLs3ZA025472 for <gcc-patches@gcc.gnu.org>; Tue, 25 Jul 2023 22:09:16 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j5vxgd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <gcc-patches@gcc.gnu.org>; Tue, 25 Jul 2023 22:09:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Dm0ceSEzVf1v4GgbGdyN4Bcu9SATYpg/BM3KXjewUoaZQAmHtCARRc6bDuVFwPCkHoyARjfcJ/FiH4hprp+TvdGhIjn5yxJE5Wu3lmwC3ozGlHP4oEvs4JdLfg0/noz+rG3zH6S8z2zy8JJqcTRf7VMKOQH5jM27cJapGRnz/t9Yzitw7FZErRYwN6x6F3xCIMVKOIqduwh+mhb2pV83yNaw62MT1vKw0GliqAZfRdAzJjS7lNgMo8HfnsEgMZl1WbDJsHQbPMU5BK7/JDzQTWjnGfHQ5eJcnhxeRTzCC28u1T92Y/hcIyHIU5bHIRNXGix4WzU6UGTBfoMH/776zA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MyeKDVBXwxFkvHPx372ta3l5c7r6w/0Mfq3H4wLazUQ=; b=FUCkkyMe89IumPoWE3i0m9GiqRHoB5m5VXzG0A7L7Apv4HoBOAuHTPWmqZH4tJI9zIMAPlvYBQKC+4zj3kHMgMeNb0lE/RynNiXYioE7Y2kZoLPYZl33PzlQDOnkKphTuu1fh4YypbnAM14Jk1lnhYDXeVzgy3H6fN1jTgb1uj7fvFrEVvrpx3Fp5RHAx2a5sGnY/0T+28bEU08IimqmdesmAAlh+7we7X+g0p8xpvoQZX6kGpvLH0v/FbJPC2+2cxMeaXwX7imv98iflL2t7HyBbXPRo+XPwwzblPIQdWoR/Mxrltinnkp42T1QUaa8BOhBPjhPfDSlzzfFgS4aAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) by SJ0PR10MB4512.namprd10.prod.outlook.com (2603:10b6:a03:2dc::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Tue, 25 Jul 2023 22:09:13 +0000 Received: from MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::827f:8665:2052:16c5]) by MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::827f:8665:2052:16c5%4]) with mapi id 15.20.6609.032; Tue, 25 Jul 2023 22:09:13 +0000 To: gcc-patches@gcc.gnu.org Cc: jose.marchesi@oracle.com Subject: [PATCH 1/2] bpf: don't print () in bpf_print_operand_address Date: Tue, 25 Jul 2023 15:08:20 -0700 Message-Id: <20230725220821.11431-1-david.faust@oracle.com> X-Mailer: git-send-email 2.39.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SJ0PR03CA0196.namprd03.prod.outlook.com (2603:10b6:a03:2ef::21) To MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB3213:EE_|SJ0PR10MB4512:EE_ X-MS-Office365-Filtering-Correlation-Id: e5b6dd15-c7f1-4ea2-8e5a-08db8d5bc74a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: If+eP0y5/PFIObxqgeOGU3PJgfhGuGFYuJGyKcgC14kl12XkWywT1yq6GgTNxp34ikA2R/4EfGWXIRyjhHDJsQSNPCsFc0AoH3I1xPqA/Ogccv4B2ZkFSG99UD6hwl9k8fLK0xxC6oDTvIAbBqm/geqSxJFEkrZqABmUf1DNNV/Y5t7A2Qa2oGYX3Ny3uP8zu26QEr0foGCfBglUEGXOz0ErjRZKONanOkHfzzDZ5ytP0xf9gWrEQr7MU9dJ68lYvMnOprqH0ek+WHcdhhOYHIg/auhq8QuujmkT76YJqzfRYlK9ICh4D/wGitrnT6CdXOOySfypjrBmcQMwrycc03KLHCL3szHy8gCOraIHSYv7N+N25NIRd6td+a4EluI2GCMMSS7XQUhBe2r+pyrYG9BIv50poayNHdmXbZwK/jBfRuocou062v0E2HkIviysw4ClWEZh3Idvymm3EnDLKCH79qY3Upi3FCeYvUmH0ZXTHAqmP18byKNGDCHs/If22Kb3ZZlHT4elfD7XfOdhcGWe2GnjVLKNDpFZgj26yfvWnT5Vg8Sd3E4zmb/NcbTi X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR10MB3213.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(346002)(396003)(366004)(376002)(136003)(39860400002)(451199021)(5660300002)(83380400001)(2616005)(2906002)(8676002)(8936002)(38100700002)(6486002)(44832011)(6506007)(478600001)(1076003)(26005)(186003)(107886003)(41300700001)(6666004)(6512007)(66556008)(86362001)(6916009)(4326008)(316002)(66476007)(66946007)(36756003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Bc5VzfBzA/CPkhAoC1esWRfp8QpobwMDee/P902WaZdExBhc6M3HmakcQRCTC7OFazl9QGRO0fq0+5eX61VJ4ukYJRh748tmXMa2P/bhWb6AhETJCfPVXE9teyFBUsZxIqFNennDLDcXelGFQfyiOQ8I27QUcgvkQlmqzywXxZbviOTJSsh3YIK3vGqn6V32yj89BaSV5QNORBFTMyW1v9k/O2fnhRSLFuofelgLezOLHWC4UshcvzdQEK921qpQxcXOV1Rv7qvhyB26i0CKozxo81kObynNcRS4BnE0QU1nCOKLuBKCQ/NlEHlVdbWPMrYBlin5PhSAxpypwdQmjYOfA4N2YbBD/edrOwwXtEkRBkWcLQAn4pOBuKCIOZ2t/nE2MOJ8IE2sgJ1GBZ/CGdF2ALZT/38lTfVdHntLe3U/8VQinIzxtImy0NByuaDXwgMilX4QEdUQ7WosI36MVO8HYWgdZZT9b5ALPFdxew7mKUife0HZ+Ki6KBwmS4MoVwgnKDu6SiTpJEF6Aub1rBNzizqF9sAj4RWobOsrbjr7p84yShAHwcrHwL5OCFVZ5DlcUm6Hr40XDN/frcKE5AGy/WOzsTgXb+YPnJAzFqAsaP3X4jI/tqaMiA8ziYP3snnFv5KPIy7sMegtKvwSl5R4+zAh47jZ4YdJTPUwDaKZ+g4lNVCBzAC3BKoTjQqTgind3M0tteeuvffq1uKK+ZtU23cWxM+D1KeTWbiQyGVWJSZrO+d4GeTED2QPN67pm/My6u4dOoV6kJ5gP8ehNs860iVRw5lq4+9a0h9YEo79+63634tAD1hs3nJdKVCmIh/3a6L09sSnyFQ3uxRt2s6RPP2XXSwZfU27sy7JiE1b0NAtlWJ6CC5kd+hWsn76Xe5Xv9HVF28kHpmbn9OHDikKeqogPHXaEMEzmd6vPBXnk9ZaUyaTAAYlRsP9xf0WyLSup5g+xkHJLO88TVYTzeUdbOOLmR9jwmO04eJjtdpGPAfDGWZxPrszdr3UTX/TB1NSYiAVVkErb8IAuffuTxgpERIgIu8dfMgMGfAnXOBoY09Hjf2Sp+E60iqs8RZ2ORzjZhkv9ZFGfyTSD7z00aR7gFcP3ogHhjhqcjW6AePu/wS+Y8DOYBoLdLFO1t5a/Ue/XB/rlY5onr8a8xH1PibTFCFF4GM8CETeNvG6ypF4wqYamrGxU4UGnCJmiVXtaQqL5MIqBJuzYLFZIL/KeqDv+NiIA8Lr1WCQhGCtE1JFT9Agv8XOey/lgTVSWOG8ty2POrBmMUYYj/KIPnLDHuLtCo9L37ZC4NepSATlCREVixeRMll/bOoxekCeAVkEgoxObCceZPxrtEpsxBigEl+mYOx30Qn4T6EgiiTvB+fHAEqR0kH+Lbu6tjkDRrjEVAlWSy5mr90WZeHZPKXI4y4DWkGUShMbEVChiJDi79x5Ix4VzMrb3dhLL0TaDM2E9vWTaIE7bEiVKCmp5nCUPA5L3jlFV8jshZQ1bEKzJVAy2jGyWSwXgCLPVXFJBUXC8PPhyMITZsmEpdj9g46VJXbWotKMrGd+6H215G8Ul9dXLBTTiKHydKYE/ZgewtAy X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: sRMAdVUuyML4D6R3AxnOw3CyS4fBw4vkP5dX0/HivDzjYfQWNsQvqaA5FlhANowfWWEh84d6h5xH9ln05fls7M9J/9n/jz5PlpcNzV8zxdoRdw+qYVqAe0EK6bLd2RKsrWFpqzF+bZSJ8zBh/0CpG08yb7MeedV3wiIBd8nZW4BLK+zw0kGNHoETNu9tHZTW4TLLRR3i7BYYk7bPy/vUOaJbDksUbbRhalnTBVr45hfTBK2+VBNwk6PMoSpauxapmDPizgcdrj7BpZIEvwLEyx0X8tjJQ3/wvQI8hQFIyhy1nF6c2E9O0n7e486iKPLIkqmA91K5B8wbdXy3xOB/cn/JZe5CpM1lPwfQ4fj2lvSveCwzgl4pSnzci+pje1RUwHpEdSBMl5r7eO1GKA8JRCP0251HUHikHyqDikOMgVz+KEEBYvmnIpevjiNPcQqiOooW79BeJPpxmMixMYGgupGcBmYry/P9xUbT/e7SVUUxTUtfgBKp3CbyQw9qN3EzxETSOMlt1FE7JeKiD7GTviDddyU4ppd7dwnaIWO+v46WdJ6kW6Bi1ruH/KAVESp+ZjyEJyfDhSTn1QdeOPfaDKRo+U7lDLmASo3WnG3iyIhoZ+LpglujAsEZvc1/XJ+/r0HEBJ/2mCgryCTPRqA05nQOB1idToWIU97eFmrLmMcTtOiqrRPGSYt7VOoJ8C8Bj9Jb37lm11A3Pl9lIS8Jw36tBCBTWWTwngBNzpe7puxTlU8nj8YoIwQ9nT9axpnV X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e5b6dd15-c7f1-4ea2-8e5a-08db8d5bc74a X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB3213.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jul 2023 22:09:13.0683 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: u4TbPrewTbK5jMGMajCs0l8/LnPcqvKZZwwOAogRySyD6t5ToR8b87ffbe0KJSLnzTHH5+k1Fb8wVfyzO5E65A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB4512 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-25_12,2023-07-25_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxlogscore=999 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 bulkscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307250189 X-Proofpoint-GUID: 1WS9WpwDxn6IVk1wlfndHBcRmG63U33H X-Proofpoint-ORIG-GUID: 1WS9WpwDxn6IVk1wlfndHBcRmG63U33H X-Spam-Status: No, score=-13.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE 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.29 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> From: David Faust via Gcc-patches <gcc-patches@gcc.gnu.org> Reply-To: David Faust <david.faust@oracle.com> Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772432154892742261 X-GMAIL-MSGID: 1772432154892742261 |
Series |
[1/2] bpf: don't print () in bpf_print_operand_address
|
|
Checks
Context | Check | Description |
---|---|---|
snail/gcc-patch-check | warning | Git am fail log |
Commit Message
David Faust
July 25, 2023, 10:08 p.m. UTC
Unfortunately, the pseudo-C dialect syntax used for some of the v3 atomic instructions clashes with unconditionally printing the surrounding parentheses in bpf_print_operand_address. Instead, place the parentheses in the output templates where needed. Tested in bpf-unknown-none. OK? gcc/ * config/bpf/bpf.cc (bpf_print_operand_address): Don't print enclosing parentheses for pseudo-C dialect. * config/bpf/bpf.md (zero_exdendhidi2): Add parentheses around operands of pseudo-C dialect output templates where needed. (zero_extendqidi2): Likewise. (zero_extendsidi2): Likewise. (*mov<MM:mode>): Likewise. --- gcc/config/bpf/bpf.cc | 8 ++++---- gcc/config/bpf/bpf.md | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-)
Comments
Hi David. > Unfortunately, the pseudo-C dialect syntax used for some of the v3 > atomic instructions clashes with unconditionally printing the > surrounding parentheses in bpf_print_operand_address. > > Instead, place the parentheses in the output templates where needed. > > Tested in bpf-unknown-none. > OK? > > gcc/ > > * config/bpf/bpf.cc (bpf_print_operand_address): Don't print > enclosing parentheses for pseudo-C dialect. > * config/bpf/bpf.md (zero_exdendhidi2): Add parentheses around > operands of pseudo-C dialect output templates where needed. > (zero_extendqidi2): Likewise. > (zero_extendsidi2): Likewise. > (*mov<MM:mode>): Likewise. > --- > gcc/config/bpf/bpf.cc | 8 ++++---- > gcc/config/bpf/bpf.md | 12 ++++++------ > 2 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/gcc/config/bpf/bpf.cc b/gcc/config/bpf/bpf.cc > index 55b6927a62f..2c077ea834e 100644 > --- a/gcc/config/bpf/bpf.cc > +++ b/gcc/config/bpf/bpf.cc > @@ -933,9 +933,9 @@ bpf_print_operand_address (FILE *file, rtx addr) > switch (GET_CODE (addr)) > { > case REG: > - fprintf (file, asm_dialect == ASM_NORMAL ? "[" : "("); > + fprintf (file, asm_dialect == ASM_NORMAL ? "[" : ""); We can save the call to fprintf there with a conditional. > bpf_print_register (file, addr, 0); > - fprintf (file, asm_dialect == ASM_NORMAL ? "+0]" : "+0)"); > + fprintf (file, asm_dialect == ASM_NORMAL ? "+0]" : "+0"); > break; > case PLUS: > { > @@ -944,11 +944,11 @@ bpf_print_operand_address (FILE *file, rtx addr) > > if (GET_CODE (op0) == REG && GET_CODE (op1) == CONST_INT) > { > - fprintf (file, asm_dialect == ASM_NORMAL ? "[" : "("); > + fprintf (file, asm_dialect == ASM_NORMAL ? "[" : ""); Likewise. > bpf_print_register (file, op0, 0); > fprintf (file, "+"); > output_addr_const (file, op1); > - fprintf (file, asm_dialect == ASM_NORMAL ? "]" : ")"); > + fprintf (file, asm_dialect == ASM_NORMAL ? "]" : ""); > } > else > fatal_insn ("invalid address in operand", addr); > diff --git a/gcc/config/bpf/bpf.md b/gcc/config/bpf/bpf.md > index 64342ea1de2..579a8213b09 100644 > --- a/gcc/config/bpf/bpf.md > +++ b/gcc/config/bpf/bpf.md > @@ -260,7 +260,7 @@ (define_insn "zero_extendhidi2" > "@ > {and\t%0,0xffff|%0 &= 0xffff} > {mov\t%0,%1\;and\t%0,0xffff|%0 = %1;%0 &= 0xffff} > - {ldxh\t%0,%1|%0 = *(u16 *) %1}" > + {ldxh\t%0,%1|%0 = *(u16 *) (%1)}" > [(set_attr "type" "alu,alu,ldx")]) > > (define_insn "zero_extendqidi2" > @@ -270,7 +270,7 @@ (define_insn "zero_extendqidi2" > "@ > {and\t%0,0xff|%0 &= 0xff} > {mov\t%0,%1\;and\t%0,0xff|%0 = %1;%0 &= 0xff} > - {ldxh\t%0,%1|%0 = *(u8 *) %1}" > + {ldxh\t%0,%1|%0 = *(u8 *) (%1)}" > [(set_attr "type" "alu,alu,ldx")]) > > (define_insn "zero_extendsidi2" > @@ -280,7 +280,7 @@ (define_insn "zero_extendsidi2" > "" > "@ > * return bpf_has_alu32 ? \"{mov32\t%0,%1|%0 = %1}\" : \"{mov\t%0,%1\;and\t%0,0xffffffff|%0 = %1;%0 &= 0xffffffff}\"; > - {ldxw\t%0,%1|%0 = *(u32 *) %1}" > + {ldxw\t%0,%1|%0 = *(u32 *) (%1)}" > [(set_attr "type" "alu,ldx")]) > > ;;; Sign-extension > @@ -319,11 +319,11 @@ (define_insn "*mov<MM:mode>" > (match_operand:MM 1 "mov_src_operand" " q,rI,B,r,I"))] > "" > "@ > - {ldx<mop>\t%0,%1|%0 = *(<smop> *) %1} > + {ldx<mop>\t%0,%1|%0 = *(<smop> *) (%1)} > {mov\t%0,%1|%0 = %1} > {lddw\t%0,%1|%0 = %1 ll} > - {stx<mop>\t%0,%1|*(<smop> *) %0 = %1} > - {st<mop>\t%0,%1|*(<smop> *) %0 = %1}" > + {stx<mop>\t%0,%1|*(<smop> *) (%0) = %1} > + {st<mop>\t%0,%1|*(<smop> *) (%0) = %1}" > [(set_attr "type" "ldx,alu,alu,stx,st")]) > > ;;;; Shifts Otherwise, LGTM. OK. Thanks!
On 7/25/23 15:14, Jose E. Marchesi wrote: > > Hi David. > >> Unfortunately, the pseudo-C dialect syntax used for some of the v3 >> atomic instructions clashes with unconditionally printing the >> surrounding parentheses in bpf_print_operand_address. >> >> Instead, place the parentheses in the output templates where needed. >> >> Tested in bpf-unknown-none. >> OK? >> >> gcc/ >> >> * config/bpf/bpf.cc (bpf_print_operand_address): Don't print >> enclosing parentheses for pseudo-C dialect. >> * config/bpf/bpf.md (zero_exdendhidi2): Add parentheses around >> operands of pseudo-C dialect output templates where needed. >> (zero_extendqidi2): Likewise. >> (zero_extendsidi2): Likewise. >> (*mov<MM:mode>): Likewise. >> --- >> gcc/config/bpf/bpf.cc | 8 ++++---- >> gcc/config/bpf/bpf.md | 12 ++++++------ >> 2 files changed, 10 insertions(+), 10 deletions(-) >> >> diff --git a/gcc/config/bpf/bpf.cc b/gcc/config/bpf/bpf.cc >> index 55b6927a62f..2c077ea834e 100644 >> --- a/gcc/config/bpf/bpf.cc >> +++ b/gcc/config/bpf/bpf.cc >> @@ -933,9 +933,9 @@ bpf_print_operand_address (FILE *file, rtx addr) >> switch (GET_CODE (addr)) >> { >> case REG: >> - fprintf (file, asm_dialect == ASM_NORMAL ? "[" : "("); >> + fprintf (file, asm_dialect == ASM_NORMAL ? "[" : ""); > > We can save the call to fprintf there with a conditional. Good point, thanks. I will update these before pushing. > >> bpf_print_register (file, addr, 0); >> - fprintf (file, asm_dialect == ASM_NORMAL ? "+0]" : "+0)"); >> + fprintf (file, asm_dialect == ASM_NORMAL ? "+0]" : "+0"); >> break; >> case PLUS: >> { >> @@ -944,11 +944,11 @@ bpf_print_operand_address (FILE *file, rtx addr) >> >> if (GET_CODE (op0) == REG && GET_CODE (op1) == CONST_INT) >> { >> - fprintf (file, asm_dialect == ASM_NORMAL ? "[" : "("); >> + fprintf (file, asm_dialect == ASM_NORMAL ? "[" : ""); > > Likewise. > >> bpf_print_register (file, op0, 0); >> fprintf (file, "+"); >> output_addr_const (file, op1); >> - fprintf (file, asm_dialect == ASM_NORMAL ? "]" : ")"); >> + fprintf (file, asm_dialect == ASM_NORMAL ? "]" : ""); >> } >> else >> fatal_insn ("invalid address in operand", addr); >> diff --git a/gcc/config/bpf/bpf.md b/gcc/config/bpf/bpf.md >> index 64342ea1de2..579a8213b09 100644 >> --- a/gcc/config/bpf/bpf.md >> +++ b/gcc/config/bpf/bpf.md >> @@ -260,7 +260,7 @@ (define_insn "zero_extendhidi2" >> "@ >> {and\t%0,0xffff|%0 &= 0xffff} >> {mov\t%0,%1\;and\t%0,0xffff|%0 = %1;%0 &= 0xffff} >> - {ldxh\t%0,%1|%0 = *(u16 *) %1}" >> + {ldxh\t%0,%1|%0 = *(u16 *) (%1)}" >> [(set_attr "type" "alu,alu,ldx")]) >> >> (define_insn "zero_extendqidi2" >> @@ -270,7 +270,7 @@ (define_insn "zero_extendqidi2" >> "@ >> {and\t%0,0xff|%0 &= 0xff} >> {mov\t%0,%1\;and\t%0,0xff|%0 = %1;%0 &= 0xff} >> - {ldxh\t%0,%1|%0 = *(u8 *) %1}" >> + {ldxh\t%0,%1|%0 = *(u8 *) (%1)}" >> [(set_attr "type" "alu,alu,ldx")]) >> >> (define_insn "zero_extendsidi2" >> @@ -280,7 +280,7 @@ (define_insn "zero_extendsidi2" >> "" >> "@ >> * return bpf_has_alu32 ? \"{mov32\t%0,%1|%0 = %1}\" : \"{mov\t%0,%1\;and\t%0,0xffffffff|%0 = %1;%0 &= 0xffffffff}\"; >> - {ldxw\t%0,%1|%0 = *(u32 *) %1}" >> + {ldxw\t%0,%1|%0 = *(u32 *) (%1)}" >> [(set_attr "type" "alu,ldx")]) >> >> ;;; Sign-extension >> @@ -319,11 +319,11 @@ (define_insn "*mov<MM:mode>" >> (match_operand:MM 1 "mov_src_operand" " q,rI,B,r,I"))] >> "" >> "@ >> - {ldx<mop>\t%0,%1|%0 = *(<smop> *) %1} >> + {ldx<mop>\t%0,%1|%0 = *(<smop> *) (%1)} >> {mov\t%0,%1|%0 = %1} >> {lddw\t%0,%1|%0 = %1 ll} >> - {stx<mop>\t%0,%1|*(<smop> *) %0 = %1} >> - {st<mop>\t%0,%1|*(<smop> *) %0 = %1}" >> + {stx<mop>\t%0,%1|*(<smop> *) (%0) = %1} >> + {st<mop>\t%0,%1|*(<smop> *) (%0) = %1}" >> [(set_attr "type" "ldx,alu,alu,stx,st")]) >> >> ;;;; Shifts > > Otherwise, LGTM. > OK. > > Thanks!
diff --git a/gcc/config/bpf/bpf.cc b/gcc/config/bpf/bpf.cc index 55b6927a62f..2c077ea834e 100644 --- a/gcc/config/bpf/bpf.cc +++ b/gcc/config/bpf/bpf.cc @@ -933,9 +933,9 @@ bpf_print_operand_address (FILE *file, rtx addr) switch (GET_CODE (addr)) { case REG: - fprintf (file, asm_dialect == ASM_NORMAL ? "[" : "("); + fprintf (file, asm_dialect == ASM_NORMAL ? "[" : ""); bpf_print_register (file, addr, 0); - fprintf (file, asm_dialect == ASM_NORMAL ? "+0]" : "+0)"); + fprintf (file, asm_dialect == ASM_NORMAL ? "+0]" : "+0"); break; case PLUS: { @@ -944,11 +944,11 @@ bpf_print_operand_address (FILE *file, rtx addr) if (GET_CODE (op0) == REG && GET_CODE (op1) == CONST_INT) { - fprintf (file, asm_dialect == ASM_NORMAL ? "[" : "("); + fprintf (file, asm_dialect == ASM_NORMAL ? "[" : ""); bpf_print_register (file, op0, 0); fprintf (file, "+"); output_addr_const (file, op1); - fprintf (file, asm_dialect == ASM_NORMAL ? "]" : ")"); + fprintf (file, asm_dialect == ASM_NORMAL ? "]" : ""); } else fatal_insn ("invalid address in operand", addr); diff --git a/gcc/config/bpf/bpf.md b/gcc/config/bpf/bpf.md index 64342ea1de2..579a8213b09 100644 --- a/gcc/config/bpf/bpf.md +++ b/gcc/config/bpf/bpf.md @@ -260,7 +260,7 @@ (define_insn "zero_extendhidi2" "@ {and\t%0,0xffff|%0 &= 0xffff} {mov\t%0,%1\;and\t%0,0xffff|%0 = %1;%0 &= 0xffff} - {ldxh\t%0,%1|%0 = *(u16 *) %1}" + {ldxh\t%0,%1|%0 = *(u16 *) (%1)}" [(set_attr "type" "alu,alu,ldx")]) (define_insn "zero_extendqidi2" @@ -270,7 +270,7 @@ (define_insn "zero_extendqidi2" "@ {and\t%0,0xff|%0 &= 0xff} {mov\t%0,%1\;and\t%0,0xff|%0 = %1;%0 &= 0xff} - {ldxh\t%0,%1|%0 = *(u8 *) %1}" + {ldxh\t%0,%1|%0 = *(u8 *) (%1)}" [(set_attr "type" "alu,alu,ldx")]) (define_insn "zero_extendsidi2" @@ -280,7 +280,7 @@ (define_insn "zero_extendsidi2" "" "@ * return bpf_has_alu32 ? \"{mov32\t%0,%1|%0 = %1}\" : \"{mov\t%0,%1\;and\t%0,0xffffffff|%0 = %1;%0 &= 0xffffffff}\"; - {ldxw\t%0,%1|%0 = *(u32 *) %1}" + {ldxw\t%0,%1|%0 = *(u32 *) (%1)}" [(set_attr "type" "alu,ldx")]) ;;; Sign-extension @@ -319,11 +319,11 @@ (define_insn "*mov<MM:mode>" (match_operand:MM 1 "mov_src_operand" " q,rI,B,r,I"))] "" "@ - {ldx<mop>\t%0,%1|%0 = *(<smop> *) %1} + {ldx<mop>\t%0,%1|%0 = *(<smop> *) (%1)} {mov\t%0,%1|%0 = %1} {lddw\t%0,%1|%0 = %1 ll} - {stx<mop>\t%0,%1|*(<smop> *) %0 = %1} - {st<mop>\t%0,%1|*(<smop> *) %0 = %1}" + {stx<mop>\t%0,%1|*(<smop> *) (%0) = %1} + {st<mop>\t%0,%1|*(<smop> *) (%0) = %1}" [(set_attr "type" "ldx,alu,alu,stx,st")]) ;;;; Shifts