From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=uikukfdbUD/+OFpzLGbFWTKH8XGrBiDCSs6PQwhQmQg=; b=y6dksgN1WmtcQ5o86t/Y1jcicneRE8EAEW7C7nD9aLzZjyQ+w+jpijkgKWvnV+GnOxTG 9EB4rQOqJ792NbHEeJN6DMmgnw93o4jziCrix7spihwTVJHfDnuhmWcSwIPq0faS4STB /5hBxFSGLVKhG0ypV8cdr4RPLm5DbaALw4qrZMrmlPfaeckyKKc6L4/qkkCJt4VRupBG wNQEv6SaW2aElk1ZVcKuQyevzX5wGs9j+YIvV3SSM7mMQ7m/qAoQncgkdjS+FHIbZ6an /dTp4gRG9iURfBIpQDz/6b2sgM/6huwd+jOW/JjyN9dY9UToAGgOgJmvgje1+u6v92vt Qg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uikukfdbUD/+OFpzLGbFWTKH8XGrBiDCSs6PQwhQmQg=; b=iM/KvYotCRbFDxhgnvsEH0lOYwfAZ4fQmj91RRaCwEzNaUVTHu+WRXzI2E0Eaqmmf6m/oFz4C3B3LNA4hajd4jWbp+GvJPZwRHlCMeXGzQ8zT84tC1fGVsVXw+jAa/gBeyxmfOyDGKqHkXQ6teGffqKbyFp04MYa8zZi92cmLPc= 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 From: David Faust 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 Content-Transfer-Encoding: 8bit Content-Type: text/plain 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: =?us-ascii?Q?qZ+LU3EqH5hxWCHEkgwptU/52AUqQXUicQTJon07vL+AGMdQYI/G66Ay5cdj?= =?us-ascii?Q?Pu9+WnAnK7NlecI+boILpKwYIp4WYb1d3InvJSYaNzNPF8456BVS9iGsC5vP?= =?us-ascii?Q?7BLMOoSANtAiKMPnJm291l/x8ulo+aaI1M9GkUEu8vX3NSH3kYDWOACPnr7S?= =?us-ascii?Q?G9IVyLrgMLvfaq9FcjTiCOWt5ZtvrlAzpKp4+pEkKexQ3MbbkbyE6xSrVgza?= =?us-ascii?Q?C0FaIiO4CkmH+bdkiJ3SpR6fdmekTK7RcxhalP1dbCOwS1T08dDSI0CHwNCO?= =?us-ascii?Q?VeXiKQdmN5xO4Q8FZkSeISYLShkHvKMsPDMN1adfj2oR5JWpwcI/vqX1NoNu?= =?us-ascii?Q?w62L7MB70bTnz3DbaLMTRTwRqr23pQYKjfnLQjkUr659WBV3EApBB4ErXNKR?= =?us-ascii?Q?42khf7A3tcWMR7pqjVX6GfVnsyExlZAAe6PDIq3VZ7CO+1vVeAS5EnYQ+EKo?= =?us-ascii?Q?bm38n1HBMk/TyL4VJEhmO2lfTr4Z4H5Arx0Tk3oQmuNYjV45WBJojBTafeGv?= =?us-ascii?Q?IyY98aGm0c/BiTthRjSNpm6vcLV8JyX2xxoVkQ5idvAFc7MviiRlpIi8Vaph?= =?us-ascii?Q?UHHBGZLkdLxJa/YdV9P8Qi9gVzKn4cOE+531/qS883hT8/3KwVWsjVAkPc6T?= =?us-ascii?Q?XsGwOgbQliZFK2T2rIAahkyOx+7uzEPrOlum54jVO7EiG7kJF5ap142o3+dl?= =?us-ascii?Q?SNiK90loHXTw/hKAF/p7VHCTNptPqiE9pgsWFb4mr0a2ime8wLHaKmXkY9b/?= =?us-ascii?Q?h0gZVedtH4CjOO9UirzmmdY1GGKz6ONLb4WoxIm/iJEtiYzK0+3AB3UeVsiP?= =?us-ascii?Q?6cwaBTpPGSoKMD84194aAsUpi7KO+q2d4o8N+8HL7gJL+72B9e9dLa8LNbK9?= =?us-ascii?Q?E10usVdhM20pCtPLTIzxxHbBVSMZdy6XJ9ROP1boMp5PKijR4fUoN8lJFQvJ?= =?us-ascii?Q?dY8Obgk6IocnUCS6h4+VCrJ+OPR1jOl4kVXD/oAZUDsZtlZAa6YyKrs1x6It?= =?us-ascii?Q?VZ7lhjV99RPGeo2GrMbzcSFeVBjeZZeLgS77AfuRsMC2lBLYrk7zUusyqScK?= =?us-ascii?Q?jQ0bR4J+TmwdAPfLVvILVXkyQw5h4SgY5yHPSvmD4H9Ll1tUqJOxgWpIVfIh?= =?us-ascii?Q?VGt8OF2b2B0C6AOjlgdX3H1kwqGd/R68fp/J2kFbhISVgWD7eilYhFQMfmpw?= =?us-ascii?Q?YQ7XN4F9QhWkuI9tAOIS42HYG5KBKx4z5B79DZlQS+sS9pS/X1xj1upsh25Q?= =?us-ascii?Q?px4QxLxhYKTfex/llfeQ3TKOlssqPxlq/UIr9jYUVu3dGqyTn3viACdlO3io?= =?us-ascii?Q?SovZhhAPuW0c1YFR8qbAj6VT2LGkU+EdgVtmIrInuTcDHX0FTKT+Mpg7GAM8?= =?us-ascii?Q?jMhQRpccvkjwObNlq+/s1M1JCKDj25XPQc172CUoUvPL1lMWe5tbjFOI4FtU?= =?us-ascii?Q?tz+eO9PvQlNEiYQR40fb30RbgbUsm48ybOKYlTA/r3X2m/jdxlvTcv5jJT+s?= =?us-ascii?Q?pOZsrfg5qLK6Jk65uDf5CSRuxg+V1gPZ331Lv46hAVF8nLsF8Lgz29y2iES4?= =?us-ascii?Q?2u56BP6gAHUB0oMth81V2o3EDjGwyUbcRtvS7k1eRUa/ava0/FYfQAtgM6bQ?= =?us-ascii?Q?tiuDpoxabY+ALnLUAc0Kqv8=3D?= 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 List-Id: 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} } } */ + -- 2.40.1