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 7F9E73858C53 for ; Wed, 26 Jul 2023 09:41:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7F9E73858C53 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 36Q88Zj9019069 for ; Wed, 26 Jul 2023 09:41:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=s6+hSLVhuhyotjUrkbesL/zWeUX+Pa1IRpCBwso3LO0=; b=jfCSEl+jIq0058qZ5O7NDfR3Ozo+DgOF9pIQhZ6D/pb7kpB141MCC7CqcSzbUf+FOxOt z2b6C3K7vF56tXKrC00SQkgz6DxiF2k6t4vi+e1cg56F80HbP0OUSedtAJkOI0dsLtE5 ynH1nJ2ZUHMgp6Oq5yq/qpf3yiFjAT9klGGF+uJkOPLCcyra0EU8pCBORU+DoMSPFqM+ 5UUQ8INKWQ84Fb4857n/e7I4CVRpbA/fHfzLWKQ2FYMb8lRdd80nHPJsT/ITFw15hKw4 IwToUvBj2+e8JblVVDH1n0IwesRXm7ZYGje/byeEhWhz2a2OIchpOUTIpy17BMXVYxC4 iw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3s070ay2t7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 26 Jul 2023 09:41:08 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 36Q8AMwJ029535 for ; Wed, 26 Jul 2023 09:41:08 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2046.outbound.protection.outlook.com [104.47.73.46]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3s05j5yrbc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 26 Jul 2023 09:41:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bc7chz3cfhRxAOF1Vmna4AOpWJDrA9hTf18O9G6pc5B+9HWCskvPcLX18GNJOIRRv8GPNr5Sp1BY7AjMA1Sr9+m4CO0LhJX/ARGmXONwAO0QLxGzzre+ZqMiX+nSVjFKHcV+BAlf1gLCRKMTyL0j0Asx50QEiitP92274a/Lr/zRsT83tD2M0NO+TZDamPjHdEFkCjmiXva4kSTuPXtGKgLVS6dPxQSD0hIiS1UZBDemRiuhceBo832jqb3dWdGZUZ3eMLvmDm77TVKhadcJFBbAcxKfYlBq/f9brZpenski+TlDNWiAqSCOBTQNylyq1j8WIKuyK93edEBSZ+w2BQ== 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=s6+hSLVhuhyotjUrkbesL/zWeUX+Pa1IRpCBwso3LO0=; b=ecQ6Y7LJQXy24DxtDm8SIGxBnudzP6CDAciaoW2ypYTRw//tRjb/WpCfu2x5i01Ws9A99pvy3tYgMUA62ENHegCpiQTfteUiXxaKlCYmyWxPqEXZzU9CQmk4haOxn319Ck/IBV9HsNXA9b+RyA7yOvgwHkTUca8RkOjelNSjapy9e58mwv6WGKodSi717DmwfjNd5NXwarhuKfMT3lxFqnibPH1SvZj7xFy7SRAePIVsE6iGhRBCXwemnjdknsHfmZmEbGUDs+KktNoVn129hIEpfD+ANxODMFDSkRz+r9JeMqj8hX6nh+YCTWeak5phN5naEgfp0OVs2BGOfEfQAQ== 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=s6+hSLVhuhyotjUrkbesL/zWeUX+Pa1IRpCBwso3LO0=; b=WSYmy6cVtGfRf0T6trGOo7YuYXPeXujIx65R3TYz/I9kTWKdCLPSiP4GuzMbGj8G3UCNOuvn5KIl31aZ3Hxbo7FBJjA+PsQkWNvOzvDJteDH7E8/mACiR7ECQ2FMsp0kuKrs2wicNTtRKL4yeuwYIbT+60AaBA7xjgfzj4ZmDvM= Received: from BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) by CH0PR10MB5355.namprd10.prod.outlook.com (2603:10b6:610:c8::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.29; Wed, 26 Jul 2023 09:41:05 +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.6609.032; Wed, 26 Jul 2023 09:41:04 +0000 From: "Jose E. Marchesi" To: binutils@sourceware.org Subject: [COMMITTED] bpf: fix register NEG[32] instructions Date: Wed, 26 Jul 2023 11:40:59 +0200 Message-Id: <20230726094059.25399-1-jose.marchesi@oracle.com> X-Mailer: git-send-email 2.30.2 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: AS4P191CA0043.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:657::10) To BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB2888:EE_|CH0PR10MB5355:EE_ X-MS-Office365-Filtering-Correlation-Id: 9fe401c2-02c0-4850-179b-08db8dbc6e3d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qswNwPGDV2fjcrqgUpTatKe//83SY09kRvMQqt6A7fpmqWtSC3mOgPIpPpC1WxBVFQlpNcUy6qla8OFQfh2VUe4sSWJQb+CCu7gNSGhzeSD9PpxkvNuqItynz+dh5bXZyyn2oKPiishIp1yoGjOV6YjuKi1v6RVjb3dLyJ8coz5tD3AiuPnfUGMGKFOfMW6mlEv2W21HP6JaDl//UWWOeqOapbZv9asc03LX96qq1V0h29AYNhbI1rIsvb7iaEtjZVbVfuWvaKQzGrviXBv1+QXWLbCSO76XkRcNmxVeACrL9E5DPaadHlcXqES2LxVx7mrge7nMuDp4RCseY120TNWiNnqrwMgLXxjAZK6Jx4xT6JcelDSjiXGfSg784I/wl2jZ27Ne7UmPT74ybasP4FJBCT0ZVjGYYn1T78e5enxZtMA1/ewOdnOSp3ahOtpkDQJFuRBeavanrvFOd2d+mT/YwvcR4Wa9148Ow/nkkexNkCdZykFuiglNa26ZQOpecG6U+qscssKB+smrrMlIszTc0b6Bobda7sJTU0r5+mwguQnxJwSY2eNuFhXvEpzL 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)(136003)(396003)(39860400002)(376002)(366004)(346002)(451199021)(6512007)(6486002)(478600001)(6666004)(83380400001)(36756003)(86362001)(30864003)(2906002)(66556008)(2616005)(66476007)(186003)(1076003)(6506007)(26005)(38100700002)(66946007)(6916009)(316002)(41300700001)(8936002)(8676002)(5660300002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XYcqUX3Iy4FhmtzRjpBFHOgweSbQFtwXjhhzZrcV7kziTt32HID0uQ2xsU1n?= =?us-ascii?Q?Y2meb5AIG4+/YDozxCkNs8s4v/Qnme8goVDS2RJK0s/RybfnLnZyxI3Jy+uh?= =?us-ascii?Q?eGy+A3j7gvFYZWagP+4wwY/w2KuD0bcozTAEejpAXWhpE9TK2IzG90o0Pne+?= =?us-ascii?Q?cee0Y5fnWufu/RgTvFlwMjMedXso6DrFCfsKTwxjVtK9w0U7awtOL8UyKBh7?= =?us-ascii?Q?G7L7Y2R8nKYKBU/EwSN9PFVqdTeUKDd6G1LPN+tRgDoDPpqhUN5l+ZonJ02c?= =?us-ascii?Q?EDzdo40DNwwLcPKDAtXh5IvGCQoumj2sAZCFXgVw7MrFrRIiqyzycOFPHEIW?= =?us-ascii?Q?P6A0/gzYoO5pei9rL+2+WtKUth1XM3OwIxcVAzCogK8XFiCOZJm31Q1bsjXq?= =?us-ascii?Q?z+7NQEWkg9MxehVQ4jUCHIMPUkrxk0z2ZEOSjbXUCFtbk4+58dsoPHbxxPwX?= =?us-ascii?Q?VgeZ9DDg8tN7z38ed6sygBVWFkm96Us70NIbdaACHGoE06v8t0s0FOr4pnjE?= =?us-ascii?Q?1m/swNs7J8jifVp4FhRhsqWlsfN5nXNgCo0lr66q2qvOBPEQRqozAFCedn3S?= =?us-ascii?Q?SJVlQmUKaMjqHqOOW7DENpC04JsqZWbt1ZSG0b+Bhiah+vJocLPHnh/pqca5?= =?us-ascii?Q?MFdECXHLJSvbb7+n9BgIsCFFB8RWollG8iLdknBILR8ZYqM3ky7IWZMMQRX7?= =?us-ascii?Q?Yla2uumiIlQZnvIFD5XMtErsJC9Ue62j9hTelm/OuchgI263JUaQxMLYjqlW?= =?us-ascii?Q?2tNEGFjil6xvu8TlDoE9p8DhS3UuKz5GqWQT/JsfrLsDCtwEdI4s1aL+ISte?= =?us-ascii?Q?rMdc5VxKZTS+Hf8cSdKLLBgp/SKWX1C0NqZIk+/R3Lk2t6pOuVTWBH5J4qPo?= =?us-ascii?Q?ZZWEHt3RYu/QL2YX/so7E70cVItngd5c5eUZ1ALQ+nLLU+o3ELVQTBqkzP4H?= =?us-ascii?Q?Ot6v91ffYLCuoPNZv5iVlkEmrVs0zwPa+sbVg565aQjfHc0O2AD91O0EtK/w?= =?us-ascii?Q?xAZ3zw1hi0K+67YZdRaPNxyjfbtFMFRx3r9hSwichmyDLjyHXBmY1GlBu4W4?= =?us-ascii?Q?g51iD4hNVqPGDUFCnqVPjYTXDoSoVeiSk/aQq4XH3EuLVrVzhPSJxb9axcM6?= =?us-ascii?Q?SMjxtquJBetI0bbkB9hJ6UAtJuZw2sGIQzsuqrW8DWqRKyxSak3y+XFAqcwe?= =?us-ascii?Q?inX8RgvfuhfoGSIcFh1tabtFApz+cyVM+A0lIvx7tFpYnMiWWcV4FrFDVnTb?= =?us-ascii?Q?45DPFBcT9Eq2ZGC9ESq0nSu6yON+f9mgUkuDVa4z1+car0s0cMZBks36jmJE?= =?us-ascii?Q?zavTgHUg4vocajBXP/AiQMohrpy5R7mpvGhdCME3fTufmN1k6uND2AchmYnD?= =?us-ascii?Q?OV7fGscINHHjQgL5wrqVOKR2QLL9SWqWBuTz652pFKTj1H+HfKiHsH+P6TzW?= =?us-ascii?Q?nsYYuVCMGe5ubPecT3NJgiIkZvDArMVYNVp4NQpzhERP/09qs0V0XFGZrhbm?= =?us-ascii?Q?AVW6nzSqTG5nvseMnpfQ6C8AUpy78eIHaArE9JpZaDAeVB1swoVy2xPWoTD2?= =?us-ascii?Q?3TezC1I9J3l5oMOByHDtoDXhm6LWMIJ1pxyLOnzmKP8vUXC5eRw5nHXyZMY1?= =?us-ascii?Q?Fg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ZFzeX39B3Fp+hvCwuoepmfgwnk4+rzrg4nqjhyQOTls/4w4WElbMKXU5bD225WF7SlvUOTwefubMudiXi1QALzxOU9K20XU6TN5ga0geHOGX5/JmdjFmdzI1pnp5oZE8koJQL2NpwSyelctm0xnjukYcw4RjP/Khn29q0H2etdYY2uSivCbflHAxWGhLrsHVZHvYeWprGWm8SZEW+9tVA945IgPT2i7ho2vpIPnthoRe+ySQgCQNfn6GpHcRc9ObYlH0IghmmOD84nEmXJp3u9GjkA6JIEi382H7CDywGR7+HNGGVw5itKLK6PmlXc4nwtfVDlneOa+lXcbgcS+XMih55VlXJga8sKxHXz84RWBWTMjPXn1nxUSAomBRCV3wyQQ8PebmMyDPzQCl9Sj+QnuntqtLGps2FVUvWoSFTyfj53a8yxb+N/Y2Alzz9C0zQs/EAY7DuMXsNLrv3wEwyUCrjz1N7rqW+Lx6PNz31WjTcXaRZUGtMWNoGZj2Hgc6qIQYzncP+pcnZZTo9YS3+yB+IpecGrG9FGzWwn21rtjGYuR3B0iTzUlKK4CfY+h5O9574c1lK3CjDWOrR88GUDRRaAyNACLFko6dW9gXjxT2dNPtZAR2w9IPKFdJaJK9FRX4+6khGAW6hmSHHWbH2NHLSRWOaC6/2qriG0l+ed2cCcUdVdM356mVzU0xrmKbTQ7Pn7t7waRnbJdd3mrKJ0PisyOnKn0/mvqap4jfq8lsfqCfBJoCYKWYAeU5DfMa X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9fe401c2-02c0-4850-179b-08db8dbc6e3d X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB2888.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jul 2023 09:41:04.8672 (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: VNp2FAoHTAyWivfH4QH1tuiAsKtI9V4U2QTLRX/AYABowGfdZPpOWbPRmS32I8akpMCNcbteqwf3AfhkIRKdrruLbGWlGuTSBZkjDIEgMDM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5355 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-26_03,2023-07-25_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 adultscore=0 phishscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307260085 X-Proofpoint-GUID: JYnl6PQ37FfxEPcXGivt6VSb1pvuZxJF X-Proofpoint-ORIG-GUID: JYnl6PQ37FfxEPcXGivt6VSb1pvuZxJF X-Spam-Status: No, score=-12.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 List-Id: This patch fixes the BPF_INSN_NEGR and BPF_INSN_NEG32R BPF instructions to not use their source registers. Tested in bpf-unknown-none. opcodes/ChangeLog: 2023-07-26 Jose E. Marchesi * bpf-opc.c (bpf_opcodes): Fix BPF_INSN_NEGR to not use a src register. gas/ChangeLog: 2023-07-26 Jose E. Marchesi * testsuite/gas/bpf/alu.s: The register neg instruction gets only one argument. * testsuite/gas/bpf/alu32-be-pseudoc.d: Likewise. * testsuite/gas/bpf/alu32-pseudoc.d: Likewise. * testsuite/gas/bpf/alu32-pseudoc.s: Likewise. * testsuite/gas/bpf/alu-pseudoc.d: Likewise. * testsuite/gas/bpf/alu-be-pseudoc.d: Likewise. * testsuite/gas/bpf/alu-pseudoc.s: Likewise. * testsuite/gas/bpf/alu-be.d: Likewise. * testsuite/gas/bpf/alu.d: Likewise. * testsuite/gas/bpf/alu32-be.d: Likewise. * testsuite/gas/bpf/alu32.d: Likewise. * testsuite/gas/bpf/alu32.s: Likewise. * doc/c-bpf.texi (BPF Instructions): Update accordingly. --- gas/ChangeLog | 17 +++++++++++++++++ gas/doc/c-bpf.texi | 8 ++++---- gas/testsuite/gas/bpf/alu-be-pseudoc.d | 2 +- gas/testsuite/gas/bpf/alu-be.d | 2 +- gas/testsuite/gas/bpf/alu-pseudoc.d | 2 +- gas/testsuite/gas/bpf/alu-pseudoc.s | 2 +- gas/testsuite/gas/bpf/alu.d | 2 +- gas/testsuite/gas/bpf/alu.s | 2 +- gas/testsuite/gas/bpf/alu32-be-pseudoc.d | 2 +- gas/testsuite/gas/bpf/alu32-be.d | 2 +- gas/testsuite/gas/bpf/alu32-pseudoc.d | 2 +- gas/testsuite/gas/bpf/alu32-pseudoc.s | 2 +- gas/testsuite/gas/bpf/alu32.d | 2 +- gas/testsuite/gas/bpf/alu32.s | 2 +- opcodes/ChangeLog | 5 +++++ opcodes/bpf-opc.c | 4 ++-- 16 files changed, 40 insertions(+), 18 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index ef87eea33b6..94e4e741c6b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,20 @@ +2023-07-26 Jose E. Marchesi + + * testsuite/gas/bpf/alu.s: The register neg instruction gets only + one argument. + * testsuite/gas/bpf/alu32-be-pseudoc.d: Likewise. + * testsuite/gas/bpf/alu32-pseudoc.d: Likewise. + * testsuite/gas/bpf/alu32-pseudoc.s: Likewise. + * testsuite/gas/bpf/alu-pseudoc.d: Likewise. + * testsuite/gas/bpf/alu-be-pseudoc.d: Likewise. + * testsuite/gas/bpf/alu-pseudoc.s: Likewise. + * testsuite/gas/bpf/alu-be.d: Likewise. + * testsuite/gas/bpf/alu.d: Likewise. + * testsuite/gas/bpf/alu32-be.d: Likewise. + * testsuite/gas/bpf/alu32.d: Likewise. + * testsuite/gas/bpf/alu32.s: Likewise. + * doc/c-bpf.texi (BPF Instructions): Update accordingly. + 2023-07-24 Jose E. Marchesi * doc/c-bpf.texi (BPF Instructions): Document BSWAP* instructions. diff --git a/gas/doc/c-bpf.texi b/gas/doc/c-bpf.texi index 8f39ab314a7..6683ff98105 100644 --- a/gas/doc/c-bpf.texi +++ b/gas/doc/c-bpf.texi @@ -244,9 +244,9 @@ registers. @itemx rd s>>= imm32 64-bit right arithmetic shift, by @code{rs} or @code{imm32} bits. -@item neg rd, rs +@item neg rd @itemx neg rd, imm32 -@itemx rd = - rs +@itemx rd = - rd @itemx rd = - imm32 64-bit arithmetic negation. @@ -351,9 +351,9 @@ in the same instruction. @itemx rd s>>= imm32 32-bit right arithmetic shift, by @code{rs} or @code{imm32} bits. -@item neg32 rd, rs +@item neg32 rd @itemx neg32 rd, imm32 -@itemx rd = - rs +@itemx rd = - rd @itemx rd = - imm32 32-bit arithmetic negation. diff --git a/gas/testsuite/gas/bpf/alu-be-pseudoc.d b/gas/testsuite/gas/bpf/alu-be-pseudoc.d index 1d83eaccd1e..b35f05d9242 100644 --- a/gas/testsuite/gas/bpf/alu-be-pseudoc.d +++ b/gas/testsuite/gas/bpf/alu-be-pseudoc.d @@ -56,7 +56,7 @@ Disassembly of section .text: 168: c7 30 00 00 ff ff fd 66 r3 s>>=0xfffffd66 170: c7 40 00 00 7e ad be ef r4 s>>=0x7eadbeef 178: cf 56 00 00 00 00 00 00 r5 s>>=r6 - 180: 8f 23 00 00 00 00 00 00 r2=-r3 + 180: 8f 20 00 00 00 00 00 00 r2=-r2 188: d4 90 00 00 00 00 00 10 r9=le16 r9 190: d4 80 00 00 00 00 00 20 r8=le32 r8 198: d4 70 00 00 00 00 00 40 r7=le64 r7 diff --git a/gas/testsuite/gas/bpf/alu-be.d b/gas/testsuite/gas/bpf/alu-be.d index 2911d8b0445..fd8bc9ceba1 100644 --- a/gas/testsuite/gas/bpf/alu-be.d +++ b/gas/testsuite/gas/bpf/alu-be.d @@ -56,7 +56,7 @@ Disassembly of section .text: 168: c7 30 00 00 ff ff fd 66 arsh %r3,0xfffffd66 170: c7 40 00 00 7e ad be ef arsh %r4,0x7eadbeef 178: cf 56 00 00 00 00 00 00 arsh %r5,%r6 - 180: 8f 23 00 00 00 00 00 00 neg %r2,%r3 + 180: 8f 20 00 00 00 00 00 00 neg %r2 188: d4 90 00 00 00 00 00 10 endle %r9,16 190: d4 80 00 00 00 00 00 20 endle %r8,32 198: d4 70 00 00 00 00 00 40 endle %r7,64 diff --git a/gas/testsuite/gas/bpf/alu-pseudoc.d b/gas/testsuite/gas/bpf/alu-pseudoc.d index bfc2493fdd4..ce0a56d1f21 100644 --- a/gas/testsuite/gas/bpf/alu-pseudoc.d +++ b/gas/testsuite/gas/bpf/alu-pseudoc.d @@ -56,7 +56,7 @@ Disassembly of section .text: 168: c7 03 00 00 66 fd ff ff r3 s>>=0xfffffd66 170: c7 04 00 00 ef be ad 7e r4 s>>=0x7eadbeef 178: cf 65 00 00 00 00 00 00 r5 s>>=r6 - 180: 8f 32 00 00 00 00 00 00 r2=-r3 + 180: 8f 02 00 00 00 00 00 00 r2=-r2 188: d4 09 00 00 10 00 00 00 r9=le16 r9 190: d4 08 00 00 20 00 00 00 r8=le32 r8 198: d4 07 00 00 40 00 00 00 r7=le64 r7 diff --git a/gas/testsuite/gas/bpf/alu-pseudoc.s b/gas/testsuite/gas/bpf/alu-pseudoc.s index 172a93cb0ec..323a6522f22 100644 --- a/gas/testsuite/gas/bpf/alu-pseudoc.s +++ b/gas/testsuite/gas/bpf/alu-pseudoc.s @@ -48,7 +48,7 @@ r3 s>>= -666 r4 s>>= 2125315823 r5 s>>= r6 - r2 = - r3 + r2 = - r2 r9 = le16 r9 r8 = le32 r8 r7 = le64 r7 diff --git a/gas/testsuite/gas/bpf/alu.d b/gas/testsuite/gas/bpf/alu.d index 65f32803536..15e817b8fc5 100644 --- a/gas/testsuite/gas/bpf/alu.d +++ b/gas/testsuite/gas/bpf/alu.d @@ -56,7 +56,7 @@ Disassembly of section .text: 168: c7 03 00 00 66 fd ff ff arsh %r3,0xfffffd66 170: c7 04 00 00 ef be ad 7e arsh %r4,0x7eadbeef 178: cf 65 00 00 00 00 00 00 arsh %r5,%r6 - 180: 8f 32 00 00 00 00 00 00 neg %r2,%r3 + 180: 8f 02 00 00 00 00 00 00 neg %r2 188: d4 09 00 00 10 00 00 00 endle %r9,16 190: d4 08 00 00 20 00 00 00 endle %r8,32 198: d4 07 00 00 40 00 00 00 endle %r7,64 diff --git a/gas/testsuite/gas/bpf/alu.s b/gas/testsuite/gas/bpf/alu.s index 3e8a3cf4001..2d8d22da0e1 100644 --- a/gas/testsuite/gas/bpf/alu.s +++ b/gas/testsuite/gas/bpf/alu.s @@ -48,7 +48,7 @@ arsh %r3, -666 arsh %r4, 0x7eadbeef arsh %r5, %r6 - neg %r2, %r3 + neg %r2 endle %r9,16 endle %r8,32 endle %r7,64 diff --git a/gas/testsuite/gas/bpf/alu32-be-pseudoc.d b/gas/testsuite/gas/bpf/alu32-be-pseudoc.d index f46235ca903..71c6d3aec87 100644 --- a/gas/testsuite/gas/bpf/alu32-be-pseudoc.d +++ b/gas/testsuite/gas/bpf/alu32-be-pseudoc.d @@ -56,7 +56,7 @@ Disassembly of section .text: 168: c4 30 00 00 ff ff fd 66 w3 s>>=0xfffffd66 170: c4 40 00 00 7e ad be ef w4 s>>=0x7eadbeef 178: cc 56 00 00 00 00 00 00 w5 s>>=w6 - 180: 8c 23 00 00 00 00 00 00 w2=-w3 + 180: 8c 20 00 00 00 00 00 00 w2=-w2 188: bc 12 00 08 00 00 00 00 w1 = \(s8\) w2 190: bc 12 00 10 00 00 00 00 w1 = \(s16\) w2 198: bc 12 00 20 00 00 00 00 w1 = \(s32\) w2 diff --git a/gas/testsuite/gas/bpf/alu32-be.d b/gas/testsuite/gas/bpf/alu32-be.d index 0549bf23131..140a7f13764 100644 --- a/gas/testsuite/gas/bpf/alu32-be.d +++ b/gas/testsuite/gas/bpf/alu32-be.d @@ -56,7 +56,7 @@ Disassembly of section .text: 168: c4 30 00 00 ff ff fd 66 arsh32 %r3,0xfffffd66 170: c4 40 00 00 7e ad be ef arsh32 %r4,0x7eadbeef 178: cc 56 00 00 00 00 00 00 arsh32 %r5,%r6 - 180: 8c 23 00 00 00 00 00 00 neg32 %r2,%r3 + 180: 8c 20 00 00 00 00 00 00 neg32 %r2 188: bc 12 00 08 00 00 00 00 movs32 %r1,%r2,8 190: bc 12 00 10 00 00 00 00 movs32 %r1,%r2,16 198: bc 12 00 20 00 00 00 00 movs32 %r1,%r2,32 diff --git a/gas/testsuite/gas/bpf/alu32-pseudoc.d b/gas/testsuite/gas/bpf/alu32-pseudoc.d index 851658a1abe..16e38ac212c 100644 --- a/gas/testsuite/gas/bpf/alu32-pseudoc.d +++ b/gas/testsuite/gas/bpf/alu32-pseudoc.d @@ -56,7 +56,7 @@ Disassembly of section .text: 168: c4 03 00 00 66 fd ff ff w3 s>>=0xfffffd66 170: c4 04 00 00 ef be ad 7e w4 s>>=0x7eadbeef 178: cc 65 00 00 00 00 00 00 w5 s>>=w6 - 180: 8c 32 00 00 00 00 00 00 w2=-w3 + 180: 8c 02 00 00 00 00 00 00 w2=-w2 188: bc 21 08 00 00 00 00 00 w1 = \(s8\) w2 190: bc 21 10 00 00 00 00 00 w1 = \(s16\) w2 198: bc 21 20 00 00 00 00 00 w1 = \(s32\) w2 diff --git a/gas/testsuite/gas/bpf/alu32-pseudoc.s b/gas/testsuite/gas/bpf/alu32-pseudoc.s index 0922d4cdc58..46c4e15a4b7 100644 --- a/gas/testsuite/gas/bpf/alu32-pseudoc.s +++ b/gas/testsuite/gas/bpf/alu32-pseudoc.s @@ -48,7 +48,7 @@ w3 s>>= -666 w4 s>>= 2125315823 w5 s>>= w6 - w2 = - w3 + w2 = - w2 w1 = (s8) w2 w1 = (s16) w2 w1 = (s32) w2 diff --git a/gas/testsuite/gas/bpf/alu32.d b/gas/testsuite/gas/bpf/alu32.d index 68aa86fce09..3bdaf1252e6 100644 --- a/gas/testsuite/gas/bpf/alu32.d +++ b/gas/testsuite/gas/bpf/alu32.d @@ -56,7 +56,7 @@ Disassembly of section .text: 168: c4 03 00 00 66 fd ff ff arsh32 %r3,0xfffffd66 170: c4 04 00 00 ef be ad 7e arsh32 %r4,0x7eadbeef 178: cc 65 00 00 00 00 00 00 arsh32 %r5,%r6 - 180: 8c 32 00 00 00 00 00 00 neg32 %r2,%r3 + 180: 8c 02 00 00 00 00 00 00 neg32 %r2 188: bc 21 08 00 00 00 00 00 movs32 %r1,%r2,8 190: bc 21 10 00 00 00 00 00 movs32 %r1,%r2,16 198: bc 21 20 00 00 00 00 00 movs32 %r1,%r2,32 diff --git a/gas/testsuite/gas/bpf/alu32.s b/gas/testsuite/gas/bpf/alu32.s index 14f0a12de2c..291f9ced6a7 100644 --- a/gas/testsuite/gas/bpf/alu32.s +++ b/gas/testsuite/gas/bpf/alu32.s @@ -48,7 +48,7 @@ arsh32 %r3, -666 arsh32 %r4, 0x7eadbeef arsh32 %r5, %r6 - neg32 %r2, %r3 + neg32 %r2 movs32 %r1,%r2,8 movs32 %r1,%r2,16 movs32 %r1,%r2,32 diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 973b17edc2b..f611ec5bb0f 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2023-07-26 Jose E. Marchesi + + * bpf-opc.c (bpf_opcodes): Fix BPF_INSN_NEGR to not use a src + register. + 2023-07-24 Jose E. Marchesi * bpf-opc.c (bpf_opcodes): Add entries for the BSWAP* diff --git a/opcodes/bpf-opc.c b/opcodes/bpf-opc.c index 26db795903c..3f42680c661 100644 --- a/opcodes/bpf-opc.c +++ b/opcodes/bpf-opc.c @@ -73,7 +73,7 @@ const struct bpf_opcode bpf_opcodes[] = BPF_V1, BPF_CODE, BPF_CLASS_ALU64|BPF_CODE_XOR|BPF_SRC_X}, {BPF_INSN_XORI, "xor%W%dr , %i32", "%dr ^= %i32", BPF_V1, BPF_CODE, BPF_CLASS_ALU64|BPF_CODE_XOR|BPF_SRC_K}, - {BPF_INSN_NEGR, "neg%W%dr, %sr", "%dr = - %sr", + {BPF_INSN_NEGR, "neg%W%dr", "%dr = - %dr", BPF_V1, BPF_CODE, BPF_CLASS_ALU64|BPF_CODE_NEG|BPF_SRC_X}, {BPF_INSN_NEGI, "neg%W%dr , %i32", "%dr = -%W%i32", BPF_V1, BPF_CODE, BPF_CLASS_ALU64|BPF_CODE_NEG|BPF_SRC_K}, @@ -141,7 +141,7 @@ const struct bpf_opcode bpf_opcodes[] = BPF_V1, BPF_CODE, BPF_CLASS_ALU|BPF_CODE_XOR|BPF_SRC_X}, {BPF_INSN_XOR32I, "xor32%W%dr , %i32", "%dw ^= %i32", BPF_V1, BPF_CODE, BPF_CLASS_ALU|BPF_CODE_XOR|BPF_SRC_K}, - {BPF_INSN_NEG32R, "neg32%W%dr , %sr", "%dw = - %sw", + {BPF_INSN_NEG32R, "neg32%W%dr", "%dw = - %dw", BPF_V1, BPF_CODE, BPF_CLASS_ALU|BPF_CODE_NEG|BPF_SRC_X}, {BPF_INSN_NEG32I, "neg32%W%dr , %i32", "%dw = -%W%i32", BPF_V1, BPF_CODE, BPF_CLASS_ALU|BPF_CODE_NEG|BPF_SRC_K}, -- 2.30.2