From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 0352E385694E for ; Thu, 27 Jul 2023 18:50:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0352E385694E 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 (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36RFOEj8004111 for ; Thu, 27 Jul 2023 18:50:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : in-reply-to : references : date : message-id : content-type : mime-version; s=corp-2023-03-30; bh=8jT6APpcc9XDSQtpfIGlwCVgXBpq+ZsbClhjII23uU4=; b=vxw7kdpg+FrvMOOVn5EHyWFiiztbGCuCrhISvH7sAITb/4he4BDFeGQNaUWOAu6hL7XG sRbImjGMnu6JegujGik5obvmznPVkN+VePFYIh0HKB4fpnMgq7DvRujrL3EmHy6tCawv zbOyJnkqozEsOgljjeaL+ffSjsnIIRPsGrp72IcGfGJ9RYqiFT3akdw416aFb2ndiSx+ meA4WYHw7pX4RjboECs1jO8piplyBkD0gIc0FvjtmGKBKP6ubdvRA1GkBPSiyC5jV+D8 mH4oWMgK/KxuTJ+B5Xn3pNvfDPhcS74Us/nHL2ReJSBUqB5g9RbZAHz5pAhmzcSJi36I 6Q== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s075daj0n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 27 Jul 2023 18:50:39 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 36RInB6Q011788 for ; Thu, 27 Jul 2023 18:50:39 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2173.outbound.protection.outlook.com [104.47.56.173]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j89mdd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 27 Jul 2023 18:50:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S7gQMDk8loGKBPEIu0eQ0s8wgizt3/UVvsy+dyftMKyyaKlZH+I2TbKuTrmI65GqjLPsxocGNBpuBrX0WsgKiiq3N7DcscdY3Bh+hezIAErgB/pOSSFhsLuwSFoXTGg+VXDPmmkx+tD3fuhY6YQOR6HINDxRMB2k9VXmHgLMtQzkM3obPj+AC71wyU0LRIZkfl5zowW2wMtrP5vHXg1gCvNEqYSUK64dDAYenMvzO0ZN4lwsfmYRssTpOGbjfHRQdECIpqHE2aLn1KHUUrfBG5fzwzi6KonpdPl7gsPTsDY35AlNOnVSZEYf0rAiMw2WzGO4hbovcbgiqEPvZUEDyQ== 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=8jT6APpcc9XDSQtpfIGlwCVgXBpq+ZsbClhjII23uU4=; b=GIvhykCb4jYdFZ6LNpelIFTdNSOUhVFKDBgm/2AanQHs2pYSiI3alAR7kKn77lS3GiWnu4Tb72dVDLK7RGLMApW4aVJI/s03tD2cuaip3AjXXfyfRf44DBiZi2BRfU+7HgLKBTh5T/WSVDaEa+1D69kZOKDEgGk0DPfEy3hDCaKKfPWd9BK1dEnDfIp67ZcZUBtLAwKn9n8MUKFJWxfGcgKnw+BJq6OaEjCmBipvI90vKp5T+9AsAa6vajds4yvX9+VFA1zn9T9SkaubNloS2NzyZSvjt10APJQoIgP2+dWBD/r812ugrVW7u+39GbReiAbMGVQaQMMfTSUqm/noWQ== 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=8jT6APpcc9XDSQtpfIGlwCVgXBpq+ZsbClhjII23uU4=; b=ug0cCB4fyPWwiBn/VpskBmhV5Cs5NkI88RR/1njLsUQ1ysLjq4hsJBWhbRxHrU9RN+A2fJpeAdRkf7MrpqL5D7RS2IwlJvPFHuzE2L/asIcKg/WvlV5fmI22AKHiaU583TDwkY1enOIWbKlfzVlJTFufM9ruyp209N+VpXnuEyU= Received: from BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) by IA1PR10MB6781.namprd10.prod.outlook.com (2603:10b6:208:42b::9) 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:50:36 +0000 Received: from BYAPR10MB2888.namprd10.prod.outlook.com ([fe80::d5ed:aedb:b99f:6f19]) by BYAPR10MB2888.namprd10.prod.outlook.com ([fe80::d5ed:aedb:b99f:6f19%3]) with mapi id 15.20.6631.026; Thu, 27 Jul 2023 18:50:36 +0000 From: "Jose E. Marchesi" To: David Faust Cc: gcc-patches@gcc.gnu.org, cupertino.miranda@oracle.com Subject: Re: [PATCH] bpf: correct pseudo-C template for add3 and sub3 In-Reply-To: <20230727181105.15595-1-david.faust@oracle.com> (David Faust's message of "Thu, 27 Jul 2023 11:11:05 -0700") References: <20230727181105.15595-1-david.faust@oracle.com> Date: Thu, 27 Jul 2023 20:50:30 +0200 Message-ID: <87ila51955.fsf@oracle.com> User-Agent: Gnus/5.13 (Gnus v5.13) Content-Type: text/plain X-ClientProxiedBy: AS4P190CA0025.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5d0::12) To BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB2888:EE_|IA1PR10MB6781:EE_ X-MS-Office365-Filtering-Correlation-Id: 694b3f76-6574-4231-7274-08db8ed25d34 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CrvePeCz1j0EdUtatPR0T8ylqIxmQicuBvHArHjuiVDhuVt224M9LJgIdzXqev8sfUM2HVlQlD6OO2UWjbr9cBk8QmZMnUca38diN2L8UouN4rkhqHJrnmqdCe8ULpDGEg1yLC1xB9iTK/5tufnwioJhhiCXQFoAaa6OQyhCuxq+y0uXPLoATacWKMai4XrYC43NjYIr3Vwtop+qtcxnRHNg5VR7/1mBb64rmPQpNftRX0Un3lNwxBKy7F4VBcn6tHJ7JfEWL9sHrQ/cA0/ZWvRcDJrNmFScK6luy495Lvvh7j7ZLYkLY6IO+AwEEbdDwgGnuHKlwMUTZMYMrNcbaei6eJP5FAvEw6vOvhH7cWerdsIEVAhOlmORzL4xw/V/U5tLGvH7ta+5ZfVXiTnRHLWitvsUl0JEOlSe7uSpOfNZNjCGs+SY/yel6dCOM8531n26Ky/G56aftZ8a6AGb7a1K9cp8Be8FRKBgE3iaEjwaBXOtg9SLmkC5dnLe/ArZAeWc6/YUQ2UURQq0lBxwkkp+kGOf3Tx5PQRkM3qWvaI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB2888.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(376002)(366004)(136003)(346002)(451199021)(2906002)(316002)(8676002)(8936002)(6862004)(5660300002)(41300700001)(36756003)(86362001)(6512007)(6486002)(6666004)(26005)(478600001)(6506007)(107886003)(186003)(37006003)(84970400001)(2616005)(83380400001)(66946007)(38100700002)(66556008)(4326008)(66476007)(6636002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?bh69lXGH7R60RI3KXUJYx6u0O+zVOgbCqscWB0/Zr6whKtfTNzw1CFVOdd/k?= =?us-ascii?Q?2dYBgTiqltRcCYgW3pjG9T1cFj+Lu33FBsQWGDiSryCn0VP6MYhHiI2Q/ncr?= =?us-ascii?Q?P16oXUfn+5Ux1WXyvaeDwylSpull2iI+0yvfksAzq5kDODMtAWGTFerQezsa?= =?us-ascii?Q?9x0fcvQeRPfMdHTmtB8mzxflpVbfsR+GD5A6gF9z8hR4LzAL21DWAU5k7/Im?= =?us-ascii?Q?z9wV+pSoazeSHnONYbTZbJXs/t6az2K+nVTo9+ApGCuaPUjSF5ofAkl4u5CO?= =?us-ascii?Q?NULFL8geeSlfW95KcKS0ZY49efbg7LLv0tuAHUxiBcUSizxFdwHzT8og3Npz?= =?us-ascii?Q?tQ3fw98YQbXNMAM3kG3/w5D3hDDp10ntqzjlwi0lkVviLK7h+jJjY8Rd8+kU?= =?us-ascii?Q?vxAgb5u4E7I30sRHmeyWsJxLoStdyc75VDZVCYC+7dku/olUtKSL+SWHat/V?= =?us-ascii?Q?ybV4FhTsKLlPnYnBmTLIWa7KCf0aJcaeBmxqEQPM/Ea5FfoZvNR9+JNooFgh?= =?us-ascii?Q?hDVGUxpM3wXHcg0FZeBNw6nZB10lDY2fS7INw7aGaIkp/KMBWoiO7ZwyRUCK?= =?us-ascii?Q?j+i2fxF55zle0xATkghKy+lCv4wHpXp5Tam92B3bhnrLUbEXGjw872JsFbVW?= =?us-ascii?Q?Gmjm4lSailEJ1dlxt6pxrChw7WKwru6K5xdJCUdx3MBIw16gre9envtODnW3?= =?us-ascii?Q?hYK1oJcVXW/Hvt/eFJO5nufNu1RscHPe2unguU/pv9ESfOFzodcK9gZKAWfn?= =?us-ascii?Q?gde+qkRm/IiD+yBDsGeA6yS9JgrXkktVhuECfOHguQIR46F1Q4bEOKdGYwGd?= =?us-ascii?Q?+heMm/+Q7X592DxTR164d6jvAw3pk3OXQMunZv4nN6VGT82O3fu8X9QoPGfE?= =?us-ascii?Q?zvKLsk6RdH2z+y5i3I9XMkuI79B2IfMujVTfJtDm/4ehPGnT3hrEDA7KipVg?= =?us-ascii?Q?7LAjs5NBmrRFFzJtpl6nSWmHrIaF7QCOWcydFY+9nso5uukDiAJjPIMj/hXX?= =?us-ascii?Q?FEgWzn/KBL6TOal1Xczt9kN/3maYA99rvMIHotWRg0bVj4NaelKGRwPMpRpw?= =?us-ascii?Q?GlcOcLVFbCQvZyp4h0BwD3LI918Vz/UbNCX8ZuBA1nZsxoOvtqLlhX2WmV0B?= =?us-ascii?Q?SbInHhVB+/j7PW2vy8KoxE1jwi4B4xBORsD1QTOAhmCf+Bw8Pms/EYEbrsVT?= =?us-ascii?Q?75uabE8Yh+VWntP9DhXCq4gzGQ9I8HvzBPviaOTJpV68d8VnaswqraX4pJUf?= =?us-ascii?Q?bgct5rP5tjIbuuNPilBYmy4IWFt4Z74UVQ4vysJl8lT/OCC0Lw85PR4ExmXy?= =?us-ascii?Q?oP6jbd5tMPUCrLDSIA8kzKi7SjL252IHG4kXf1wItDn7bQ5IYnpEpUuo0aKe?= =?us-ascii?Q?hv1WVSbsMV7LRzFd/kNSQ9YwgVjv2q46aPlpQUmVz0+EEtsHRKQW424TVp9N?= =?us-ascii?Q?IxYishtP0mkQzfuvBaBG0YGP7TRvxTLaAE8MR8oWRkaKhNs2wAduNbFw2yy2?= =?us-ascii?Q?gllpMivNMy+UwrE7Y6GNutI4Wuo8x5aGxz3Q8d/sybMvYcjha8VfwxnHPhDZ?= =?us-ascii?Q?R5GNuUZj15S/imMh64pghS1BCgNyA+g3BIzf9iVgFzlfpA5GBszNCIbkBNf5?= =?us-ascii?Q?Cg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Vc61Lfyi6v0KrDDD/+RRv28RQz50YoNRznAA+h0tqNEPz865eAGkBBm9Cfq5QiGhV1qrZ0LS+XIl4ZEQDlUgDfLHaSO9g99ttRGVcQ0LVCjCwA2pVZBx2KpO2ib3EbMOhwOgit1l9KkMezeyGkbVdCchA18fAiBHVIHQrpQSjZi0ZamLdmpZ1Jc+0k1QWeYMuQL/xHZ+Y1ijd12FTb+uisLzBRGdCDQpJUl1huYcifFD6s9BgedGzUoMgIqXtBNm4C4yEuZPlU0WU41LF55+35XxeHg001l5TQ3LltAIxQ5BliBkXg+ShGcmp8IGGoS9MPskRrtITlUGaKF/xxIpw+12tneKaK9WCgXEaxf2LyJbwXLl7wOpVV9KgO5NaBHa+WE3y7e7xfJWB5ICYDbILhwgqbzKQWQVsXs4K+n2j2u1wcMPpMclaqOSrKNeCgw1hqTFCga2IPItF6CGNhTv4MK6a987RgX0iL6mpASOY2PF9iukakPY0I3gzA1HRE6BS9BtHtSLc+NAD/4zc/dqRmYzQd3EWYw7GXTO+lPa4miJMJN5RKVKTLJfIZlGsu2wYEiNq8GMobLg5Q7Ixe31TH2TTvitiDyARQQz9qppboq77oQzJVgzaNfyllHuIo3Q8RCgJUHMnyUJbiR2n1lKkdISR9b3rN7aBlzmmNJ6KO5f9sDkxaNNnnzOZHtbWQY6ExbMsbPIbdEBpXY4ucM5PFkbrSYVcCo46D2KLu8WMhUhdP1doC02Qk5whX0y0Rer X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 694b3f76-6574-4231-7274-08db8ed25d34 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB2888.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2023 18:50:36.3837 (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: AvOuq3GpEAd5X9i6q70C+c9VjGEAuP04hrKYzdshGaOIPrNaQ81i09zu3z+XJBXIP8zcSq6Db3UIeeYq9OsLzW0FDRROvMN7KN/iTspHnbo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6781 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_09,2023-07-26_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 spamscore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307270171 X-Proofpoint-ORIG-GUID: 3cTz-rgViIDrRVvrI3VfVwDyLx0QJpeB X-Proofpoint-GUID: 3cTz-rgViIDrRVvrI3VfVwDyLx0QJpeB X-Spam-Status: No, score=-12.2 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? OK. Thanks for spotting and fixing this! > > 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} } } */ > +