From patchwork Thu Jul 27 18:11:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Faust X-Patchwork-Id: 127101 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a985:0:b0:3e4:2afc:c1 with SMTP id t5csp1278217vqo; Thu, 27 Jul 2023 11:12:16 -0700 (PDT) X-Google-Smtp-Source: APBJJlHDmDjNW7keknqYlQivUoZLiIErv1ggGi+/r17SEaFXbYQpB9u5I+5/WPR60Q5fAO7qb7nN X-Received: by 2002:a05:6512:2108:b0:4f8:7960:f72 with SMTP id q8-20020a056512210800b004f879600f72mr2020012lfr.44.1690481536095; Thu, 27 Jul 2023 11:12:16 -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 ga15-20020a170906b84f00b0099bc8f0358asi1476462ejb.918.2023.07.27.11.12.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jul 2023 11:12:16 -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=VF2vWhI2; 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 07D80385B53C for ; Thu, 27 Jul 2023 18:12:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 07D80385B53C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1690481530; bh=uikukfdbUD/+OFpzLGbFWTKH8XGrBiDCSs6PQwhQmQg=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=VF2vWhI270dmpvjjKEpRtbKQ5LF0xwo4cI0XMVeFQXIat5z8okOc4P3vZbxyrSnek ex+HD1jibwDRC8rBkJ2x785+fSyL8BSpK63RmyYA2jHj2Xhk0/nVvJAAh3RVyaV5qq XMixgckcXjzAbYA7GmcXrfi2t26ghNBB+rpsqTkY= 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 834FE3858D37 for ; Thu, 27 Jul 2023 18:11:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 834FE3858D37 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 36RFOdoo014623 for ; Thu, 27 Jul 2023 18:11:25 GMT Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s070b2b9r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 27 Jul 2023 18:11:25 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 36RH7ZBE023169 for ; Thu, 27 Jul 2023 18:11:24 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j7yjhp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 27 Jul 2023 18:11:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZcVrQ1CQz4A1kJCZqtwzIjEN/Jz8yLC80b1oY8xdRRM4qtkCrv1BiXrwWcMWfc3m3VF7EpODanT6A8XFlUIc+oFa9P4oENGigyuNDUuVRmo/x743mg6McqYC985hlArKZapUnjtl9m70ff0A+QjtbfVLC3OU3EKnyJ5avyQPcHZK7uE64FjfuROS0E2ZegILnJPcw0q/VW0DCeLbaT0kJYaaGLpESN3entQTuBgqcotovvXhSuWdf8IKBZVT1GkhTQxiOOA0LZXaFV87IOpcSsZMcCOBPpInpJwVSjTACEhRS6pQQ7XOYvK9sfFY2FmgPBlB1Hsi62CO0mEimAcAiA== 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=uikukfdbUD/+OFpzLGbFWTKH8XGrBiDCSs6PQwhQmQg=; b=OztmgQCwcMthHGV92N0fXuszP4z/S5H1SUw8Yo7FcR+jt/iOZiAXAJSt/wJ2c6OUO87BP25HkVzqY+WX0RpX8bNdud7qiuTXWBpkvHUi+aaiCSSnQ4KJTlqv8QnWXkcnjaSR1iEy9d0QILMyXarcP1/tmWOUh+L38RtLqwM5JWgc9/EmgBIPhrJDlYHTjaGWxSTZMjTEAfBci7Cil/EimMzZzmns/Ksys85i5hoY0VxbMwhHzD0UJGyRYbLrV8EMga1PJuJqSecy+PqnAnrKRiizlhW1Zm3VyBPftqgaUYdVBofUZteKfuzst0rJgGvVGez/xU1BT5CqSNYdmsYtMA== 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 PH7PR10MB6650.namprd10.prod.outlook.com (2603:10b6:510:209::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.29; Thu, 27 Jul 2023 18:11:22 +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.6631.026; Thu, 27 Jul 2023 18:11:22 +0000 To: gcc-patches@gcc.gnu.org Cc: jose.marchesi@oracle.com, cupertino.miranda@oracle.com Subject: [PATCH] bpf: correct pseudo-C template for add3 and sub3 Date: Thu, 27 Jul 2023 11:11:05 -0700 Message-ID: <20230727181105.15595-1-david.faust@oracle.com> X-Mailer: git-send-email 2.41.0 X-ClientProxiedBy: SA0PR11CA0014.namprd11.prod.outlook.com (2603:10b6:806:d3::19) To MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB3213:EE_|PH7PR10MB6650:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d652650-154b-406b-17b0-08db8ecce1e8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: J+LM29EUNy4+4JLOQZknYjIReRxALsAnF3IvkE4CKvUsSayIIK/Bt9R82DKuLK6uMFdsHJH1b1rkgkorHSPsyJrR1iJBKJvwNJzVUcpB+psuwBVFdyDRric4iQSB/yJN3EKAquzGjMOERZccVpA98wm1zkW7rQuEAgcrXFsIgd/DH0l26EZtMc1gWi9FjKwwEVb3FyDnDILDhpYyu34D/PxuKz5awxFyrip9RkPheXHfhB6A93Ty9lk/LQMnqL97t+Wizfq8aPPBOjz/irFTP9cAwI0fDcR3ZMO05MTC+ngsb5XZhFr1UG2UdFdABkGJmn79AAQK/UGhH9KubUyP9NOKniaarydV3wWsC1VbkDlURQgPXaktuCKR9ajn1/6iSUVhDRM/GCJeAVzSyBmbnX2f7eJD8ObBhbeO45nypkdiSJXuyppGshh9HWj4USrTFl1T8eabRKltgjBHJnMoTqbJO7AC3iabHiQ1YlbSabJcH0xWnCqHIRQ6JRrxoghoFMKZO0KlSrTFWcYwuFW2JDLlO8RWc13oFIPNOZmX1zo= 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)(396003)(39860400002)(366004)(136003)(376002)(346002)(451199021)(2906002)(316002)(8676002)(8936002)(5660300002)(44832011)(41300700001)(86362001)(36756003)(6512007)(1076003)(6506007)(84970400001)(107886003)(478600001)(6666004)(6486002)(83380400001)(186003)(2616005)(4326008)(6916009)(66556008)(66946007)(66476007)(38100700002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: qZ+LU3EqH5hxWCHEkgwptU/52AUqQXUicQTJon07vL+AGMdQYI/G66Ay5cdjPu9+WnAnK7NlecI+boILpKwYIp4WYb1d3InvJSYaNzNPF8456BVS9iGsC5vP7BLMOoSANtAiKMPnJm291l/x8ulo+aaI1M9GkUEu8vX3NSH3kYDWOACPnr7SG9IVyLrgMLvfaq9FcjTiCOWt5ZtvrlAzpKp4+pEkKexQ3MbbkbyE6xSrVgzaC0FaIiO4CkmH+bdkiJ3SpR6fdmekTK7RcxhalP1dbCOwS1T08dDSI0CHwNCOVeXiKQdmN5xO4Q8FZkSeISYLShkHvKMsPDMN1adfj2oR5JWpwcI/vqX1NoNuw62L7MB70bTnz3DbaLMTRTwRqr23pQYKjfnLQjkUr659WBV3EApBB4ErXNKR42khf7A3tcWMR7pqjVX6GfVnsyExlZAAe6PDIq3VZ7CO+1vVeAS5EnYQ+EKobm38n1HBMk/TyL4VJEhmO2lfTr4Z4H5Arx0Tk3oQmuNYjV45WBJojBTafeGvIyY98aGm0c/BiTthRjSNpm6vcLV8JyX2xxoVkQ5idvAFc7MviiRlpIi8VaphUHHBGZLkdLxJa/YdV9P8Qi9gVzKn4cOE+531/qS883hT8/3KwVWsjVAkPc6TXsGwOgbQliZFK2T2rIAahkyOx+7uzEPrOlum54jVO7EiG7kJF5ap142o3+dlSNiK90loHXTw/hKAF/p7VHCTNptPqiE9pgsWFb4mr0a2ime8wLHaKmXkY9b/h0gZVedtH4CjOO9UirzmmdY1GGKz6ONLb4WoxIm/iJEtiYzK0+3AB3UeVsiP6cwaBTpPGSoKMD84194aAsUpi7KO+q2d4o8N+8HL7gJL+72B9e9dLa8LNbK9E10usVdhM20pCtPLTIzxxHbBVSMZdy6XJ9ROP1boMp5PKijR4fUoN8lJFQvJdY8Obgk6IocnUCS6h4+VCrJ+OPR1jOl4kVXD/oAZUDsZtlZAa6YyKrs1x6ItVZ7lhjV99RPGeo2GrMbzcSFeVBjeZZeLgS77AfuRsMC2lBLYrk7zUusyqScKjQ0bR4J+TmwdAPfLVvILVXkyQw5h4SgY5yHPSvmD4H9Ll1tUqJOxgWpIVfIhVGt8OF2b2B0C6AOjlgdX3H1kwqGd/R68fp/J2kFbhISVgWD7eilYhFQMfmpwYQ7XN4F9QhWkuI9tAOIS42HYG5KBKx4z5B79DZlQS+sS9pS/X1xj1upsh25Qpx4QxLxhYKTfex/llfeQ3TKOlssqPxlq/UIr9jYUVu3dGqyTn3viACdlO3ioSovZhhAPuW0c1YFR8qbAj6VT2LGkU+EdgVtmIrInuTcDHX0FTKT+Mpg7GAM8jMhQRpccvkjwObNlq+/s1M1JCKDj25XPQc172CUoUvPL1lMWe5tbjFOI4FtUtz+eO9PvQlNEiYQR40fb30RbgbUsm48ybOKYlTA/r3X2m/jdxlvTcv5jJT+spOZsrfg5qLK6Jk65uDf5CSRuxg+V1gPZ331Lv46hAVF8nLsF8Lgz29y2iES42u56BP6gAHUB0oMth81V2o3EDjGwyUbcRtvS7k1eRUa/ava0/FYfQAtgM6bQtiuDpoxabY+ALnLUAc0Kqv8= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: DgxQmtZXuIAux3xOidErRFWQilwl8EH13+gFsPPePWmrBAX94jhtHn2nCpdgG/4JnnHgvvHjDrC/D3ObD3nLS9HKGmmU1zjuWg4qVGUiIbGfELMxcYsOAY5mSrwrbIX0kCpwRGVwhcbsZJYAOaKgMTE11vrtNHcU6BTA0/IULqH+zGZsb7izBVtv1vahz8f704+MlFBZ5Eclm/yciqC67Z9d0oL5JqZ3M5J11LuVstU05bHGS0llzUqBee4f2vPAVCdjgU8LKaTu9ABcBz2QHBi7P1VNAlw+9hE+nO1ku7qdljVCc2YMi0qAIODsmInr592aP2ogGLln4mI7kp7j7+1dUDTdFFR4b7buK27H73ptq1cP0YI2dRSuQfQicXAjd7j8E7VusRszxR7VEzWZQSkQAuIrJxEzJsDby0wu1T0zqmFVU6MfJN3QBd4wJVjb2e54Hq7my8tJQQc2zYbjqu10pst8k9A7Drn9UW0bI37vIJjINyTN8geo9TU/KBFQTd3gx4M8cyBHTYk4wyALH+v5sj/7rTMJ8U2ZI/m5XQD6FiVFWovREo0naKmwp04ZIXAqEWXcoVXF5r/mxkvbjuux8dlJp+Nga9qI3Jn5xLb3WDsk3ZtDPhPsUoVKO95/QFzfTDYyZ11+cj0SO1sP/AChm3ZjrJSQo7s8zMcF9tW8KMiwOw5dxkmMzCq0I02gD4+gvPju3qCbsxASOHwD2hpEm9OvJZs2GbJrdPueFGrwaQYlTC6KJcfjUION41e+ X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d652650-154b-406b-17b0-08db8ecce1e8 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB3213.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2023 18:11:22.0815 (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: KxnnZN3sMvMlYhQzyrJtfx45U9f1/NHAPqVYn3efzspzd/rU6YX8WBBqq00eNiTojHOsrtc1PLufFDhe71hzWg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB6650 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-27_08,2023-07-26_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307270164 X-Proofpoint-GUID: cXHrfM3cpPeRfYVKSxCAAdb7QTdarwOy X-Proofpoint-ORIG-GUID: cXHrfM3cpPeRfYVKSxCAAdb7QTdarwOy X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_NUMSUBJECT, KAM_SHORT, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: David Faust via Gcc-patches From: David Faust Reply-To: David Faust Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772598367232843888 X-GMAIL-MSGID: 1772598367232843888 The pseudo-C output templates for these instructions were incorrectly using operand 1 rather than operand 2 on the RHS, which led to some very incorrect assembly generation with -masm=pseudoc. Tested on bpf-unknown-none. OK? gcc/ * config/bpf/bpf.md (add3): Use %w2 instead of %w1 in pseudo-C dialect output template. (sub3): Likewise. gcc/testsuite/ * gcc.target/bpf/alu-2.c: New test. * gcc.target/bpf/alu-pseudoc-2.c: Likewise. --- gcc/config/bpf/bpf.md | 4 ++-- gcc/testsuite/gcc.target/bpf/alu-2.c | 12 ++++++++++++ gcc/testsuite/gcc.target/bpf/alu-pseudoc-2.c | 13 +++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.target/bpf/alu-2.c create mode 100644 gcc/testsuite/gcc.target/bpf/alu-pseudoc-2.c diff --git a/gcc/config/bpf/bpf.md b/gcc/config/bpf/bpf.md index 2ffc4ebd17e..66436397bb7 100644 --- a/gcc/config/bpf/bpf.md +++ b/gcc/config/bpf/bpf.md @@ -131,7 +131,7 @@ (define_insn "add3" (plus:AM (match_operand:AM 1 "register_operand" " 0,0") (match_operand:AM 2 "reg_or_imm_operand" " r,I")))] "1" - "{add\t%0,%2|%w0 += %w1}" + "{add\t%0,%2|%w0 += %w2}" [(set_attr "type" "")]) ;;; Subtraction @@ -144,7 +144,7 @@ (define_insn "sub3" (minus:AM (match_operand:AM 1 "register_operand" " 0") (match_operand:AM 2 "register_operand" " r")))] "" - "{sub\t%0,%2|%w0 -= %w1}" + "{sub\t%0,%2|%w0 -= %w2}" [(set_attr "type" "")]) ;;; Negation diff --git a/gcc/testsuite/gcc.target/bpf/alu-2.c b/gcc/testsuite/gcc.target/bpf/alu-2.c new file mode 100644 index 00000000000..0444a9bc68a --- /dev/null +++ b/gcc/testsuite/gcc.target/bpf/alu-2.c @@ -0,0 +1,12 @@ +/* Check add and sub instructions. */ +/* { dg-do compile } */ +/* { dg-options "" } */ + +long foo (long x, long y) +{ + return y - x + 4; +} + +/* { dg-final { scan-assembler-not {sub\t(%r.),\1\n} } } */ +/* { dg-final { scan-assembler {sub\t(\%r.),(\%r.)\n} } } */ +/* { dg-final { scan-assembler {add\t(\%r.),4\n} } } */ diff --git a/gcc/testsuite/gcc.target/bpf/alu-pseudoc-2.c b/gcc/testsuite/gcc.target/bpf/alu-pseudoc-2.c new file mode 100644 index 00000000000..751db2477c0 --- /dev/null +++ b/gcc/testsuite/gcc.target/bpf/alu-pseudoc-2.c @@ -0,0 +1,13 @@ +/* Check add and sub instructions (pseudoc asm dialect). */ +/* { dg-do compile } */ +/* { dg-options "-masm=pseudoc" } */ + +long foo (long x, long y) +{ + return y - x + 4; +} + +/* { dg-final { scan-assembler-not {\t(r.) -= \1\n} } } */ +/* { dg-final { scan-assembler {\t(r.) -= (r.)\n} } } */ +/* { dg-final { scan-assembler {\t(r.) \+= 4\n} } } */ +