From patchwork Wed Aug 9 19:16:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Faust X-Patchwork-Id: 133439 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp3019425vqr; Wed, 9 Aug 2023 12:16:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEwSw0J2tGrTlDDe58mQsi4oK3XrVe25JPzes0DdV6++Co3fL89ScDSicNZi5BhQjVR1ov+ X-Received: by 2002:a17:906:1da1:b0:99b:cb59:79b3 with SMTP id u1-20020a1709061da100b0099bcb5979b3mr530907ejh.1.1691608616230; Wed, 09 Aug 2023 12:16:56 -0700 (PDT) Received: from server2.sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id r1-20020a170906280100b00992ae2a902dsi9105286ejc.786.2023.08.09.12.16.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Aug 2023 12:16:56 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=jNWrTnir; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1FC4E3857B8E for ; Wed, 9 Aug 2023 19:16:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1FC4E3857B8E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1691608615; bh=n7+2Zp547ZTKdE/9LHVQynhhT+SqXhsw8ayI2/NCGLU=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=jNWrTnir9BBUqbvxBVCRtSMddzmM8j1hjimTqwlTyqegq4p25kQJkDECaxzGus7LM r/6+0259qW1RtQta/bxXT1hMkXkN0Yg4wzfhxr0Th0PS14/R7KZtsUqqrtqfjDTp+6 nK3bGsZJfdK2QgYsCsIxAko9Vruts2ewS2EclDsI= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 864043858D33 for ; Wed, 9 Aug 2023 19:16:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 864043858D33 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 379IiYtG009525 for ; Wed, 9 Aug 2023 19:16:45 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 3s9eyuhk4g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 09 Aug 2023 19:16:45 +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 379HV8Zs006568 for ; Wed, 9 Aug 2023 19:16:44 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 3s9cveff9h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 09 Aug 2023 19:16:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nmPZ+X9frGNf966N1OKSVBtnI9y9DYKFeFGajgz9KxT8SnaCp9FTkxX0Ox0Q3hj8IHT9Lqqbza9fHdXYimxJsa01THCMtmdVy+pKnxJ/BGo53S/eeg9XLd9UTkLbqVXUomNqbuqQbW+NCAuC30+AeOXNi0js9hNFwF37LMAr5srY1c0bi9VlaeZ3PdWI4N9OQZ3RR0FxiSivG0oS+cm/4FRVWMpjm5LsohFtn2ke068GA5vI5UHaC3pIiIj2sFAhX+e+O33p4HqHGRtu7DxSjPlyJX8rvH4qiho2H9aFsqIECNPNw3V4qVp9ud05nQQ69MTVpgXVDgvaNltvncrA9Q== 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=n7+2Zp547ZTKdE/9LHVQynhhT+SqXhsw8ayI2/NCGLU=; b=GUKv35BLYR3X5UNp2n1yu3SCWqliHVjz3GCOqwxsHmwyBcBoYRU8R6CLbWlsBiTbioaBIvuIAh7bNBZLOpJxWB3x2rq7Goaf99R1XeC8QAxNvnhso6kueaxNrKBBh6r2mWVnP26iGXLurVkGgaVR4EmzcOBTR0ZtLnraH9cxQI4knt+BCcO54VYI2hymX4m1Ll+KC4jyGjMuLTFj9456DpsZPHxxqP9StJxIsUx9+G+4V7OgDIilXqr+2B4f71qvZ454Pgcfv5Ox474GQ3r50qLoSbuqc/gO01Ksqo/5VBYlbYFirmwymOZQZfwrRMWOzxAlzhX9Rx17x7Gl3v4xZw== 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 SJ0PR10MB6327.namprd10.prod.outlook.com (2603:10b6:a03:44d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Wed, 9 Aug 2023 19:16:38 +0000 Received: from MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::62e5:60f6:5cd2:6d9b]) by MN2PR10MB3213.namprd10.prod.outlook.com ([fe80::62e5:60f6:5cd2:6d9b%4]) with mapi id 15.20.6652.026; Wed, 9 Aug 2023 19:16:38 +0000 To: binutils@sourceware.org Cc: jose.marchesi@oracle.com, cupertino.miranda@oracle.com Subject: [PATCH] bpf: use w regs in 32-bit non-fetch atomic pseudo-c Date: Wed, 9 Aug 2023 12:16:12 -0700 Message-ID: <20230809191612.12464-1-david.faust@oracle.com> X-Mailer: git-send-email 2.41.0 X-ClientProxiedBy: SJ0PR13CA0085.namprd13.prod.outlook.com (2603:10b6:a03:2c4::30) To MN2PR10MB3213.namprd10.prod.outlook.com (2603:10b6:208:131::33) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR10MB3213:EE_|SJ0PR10MB6327:EE_ X-MS-Office365-Filtering-Correlation-Id: e96a0cd0-7b57-489c-2977-08db990d27b6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SChI54iHS/QgJheIbPv76ILGgEfKS8MRQqv1wgmUdDLOSzPwFnbub9MBhsjEzBulfiEUx2gHYzRUx8652x5hIRE7UitBUdnTp8CUqYDd1JIsrvBGjniS0iq+G+XvDG/bFgiWAETwFWi5yjuiiwlBeVLgJsZNq5DI2WdMCZSvkI+Kv8eTcqQHLqn/9w9pfsxZNO45kQ4TlPKLCLLPRdBhe6gBYV6F3rrGvLmJQACue92J0vr7c4H4jp5DeChw88j7s04RF6w8Yx7yY3dkMNnMwkdOBdvWA4qEZLHstO0WuBGFT5FdbtnUtkzADPKzdkkEiO9/f1S93yZYrmIdQL623W5onAY7q96txAvoTmZGLmuCiKTqHkwF4z2xwL3ytiIs45WSIw7Kce+urn8NvTbNHYcL2Plm1RVX5UUPxjTc+yhDEjMs+T9PeKHm8MKljNLxtWAYbbZ2e+t1D3lkq8KqWfc2UclJeVkPLngxK2V1IdohZBF+cmuIQhsUConwex9PFGp12ccql5URINsDunGy7tHQvlsoHX50b8hmM2ROt8CdIeUHhjt2eOSIFCyaC1al 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)(366004)(346002)(39860400002)(376002)(136003)(186006)(451199021)(1800799006)(83380400001)(2616005)(4326008)(6916009)(8936002)(5660300002)(44832011)(38100700002)(8676002)(316002)(2906002)(66476007)(66556008)(66946007)(86362001)(478600001)(6666004)(6486002)(6512007)(41300700001)(1076003)(36756003)(107886003)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: E/3XTXOqkuxTouj5VMFoFmK2T4cEBFukCORODQ6Mf6iQ1uoLzbRqLiHj7/cJ/qdU+L3LY/nzGj9ndGFFrj0NJ1pRGMvcT31KjFNULtApX5ho2mpSmigIDhORL/hlumH+1qI/fK/ceyQvZpdSGwsjPwRUfXlj07gTOy29kBGbExCBYLLl5N/fD2hF2Nc7bcXklrSL8vg2NdcHjIggIW2ER1ws/Mt44r824awB1taZ/0UUzb3FaXB2hzqQv9SK6iGw6hcI0jLH3sSdvYm3XoWTu4i4XTa0IIIH6otv8lTIEPNlmZFznXCGXggBI8Ci6t8x4a2kwTtC2YqQybZP6kcmzdEnXkBWDl5mtHZcDo261/rrbkL+HEf8l7AYfk5W0y49bvCaoderAh1eUalJ7mrxh5c9aVVL+g2WQNlB5QBVv2FN6CVp3OJqMlW4k+eDhc9J6mZkwrs/uX+H/m+pt3StEHxLUY4n5WLz4hJEHPdgO90ZpVHVnaRi93VP3EDnB/Z1Slwfuh/HX14qtnZ/Fmc7oCLylD6VooaW25hhjnl2D9n+O4ieHq3tVbHDjXaVj/EfoBSTi6oFc1wpudYZkvS0YeCjDjESy7m6miinqPwQkG6b5fbhbi9KJe1BU9nlWVGLsLRFvMI14GbwRx2xIuUMNxN/ZVXu7/g+e6zcJ0ZK4bgaRthU8PtBqlgExG7CCns7bwTpjWcGin9sUAQAdfGejQQX0oxTH1BIbQ6NJjRaUaxwbglTOuHaSoJeL/nMahyYSBvLUYnFuCasfq7jnE8xfR9Oz6c1+1smRM/S5Q6c4czkvOENVrfkPsLJh3gulhCx0UL2ha2+GLcbv0/veqjHtWlYiVeeUURkGIeeM3jPV+5HGRLI6e3EgeUetf7Qu7k01at1ekzuXkQ7WseeDG61z7zYSB8sD3mrJau57DlHxcCRW3shwvq2hR/E5ndVfukKGmfIijGb7ECNJobu7iZzg1WWbVkhQzbwzLsRSX51e66DM8R3qrqiTGKwlb5Fl9Pmj+Wli0s1rMdlORm7ll3CigFZtvMx/Gq52aLnuR8s+zB8vt0yV/NzTFiv4oK5EcUdXlURMBFcSFP2ZBsmWUxC1ujXrd6CI+vhvE2gljfM7K/2Sh6C6VlTqh3yNls272nEaj/zKmYQj02jIX7QH8gb/QKXPi6fkHm4V/e8UUkQW0SMBLNsN4qBc1MIiAMX0XqACdqZb2tdC/s3IGl7h0gkVLAxRd63Tf2hgeb+yNAtJO5wIN//tOy1oNagMjYM6R4Zk137Vncmq5GBo7NMnw9zbLuU5RpTobOAynTOaiECAjmUImlqFqlFAigscC1dlhlOydxHURtmgErWPKDdyAxZX7+HOdmZBWjij+/k0Ja2SsDaAWgqaABNAO4Xtlprw81IWu5LxBQxaX1Xm83AGvlKNH3XwVrzEiwBQnDawVG+QDxd4+H4aAEL5jhcFqsbc2q1TdfMyQIRQ8w1mWJWdpK99guRSj3at6CmXLZUe8jTwhjRn5UBlxagIxWLHpvC6/PLv9QICyhJVkvtJO/LZ126DZxr4IcS5lAFG9BXL5BA9sDM+Azl7RCEGRcdzSbqvH2MizyU4jWLDDknDcZYVPOJ/WbbfMtiazJuW3e6WDAd3tU= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Ceg6hjFereu1kfk4DASIQkgTtDY8Gz3L/vD66Dj/mHLoMh5RsixYVIcVlF/rXZFPs7p9TAJAVxVp5l8OmhWXg7zx3d9xdUqb4bvHee2qS08yx8QoJL29+qtRrrvyr/F9b/ZHMYQzjXBIKfeMtuchx0vZhhRTQzzlZgXph+iubHTW+h2vgOTXHa35lDyeWu7xqufD+Ow/zLipK9OVzvlgXtI0o9JRRnkFDRA44yIY9S1o62mvU/Y1Wl4Gcjx676X0qACRkkleRqFj+L0F91+BdFvt2HjXfilu5siWB22KRskBjWY1r9qXdmaMODVSuZhXMOEtTMEpqPaLSlm/CgxsghBpqpB8SEPjtwrATP23mzv1trhZT0hX0E8PmcaahHEiBDUFwjFZoI4P6aK+hB7K8suzFRqCitMZHc8eosODIRgcJ9gsdJMS4ymIlYySoOQ7ITiGo4jb/4QH2mtJXQ+NClGuqBvVhTn9BctcubUkCebkGDJgfFH61EkWmRvW7WNeatoH6wVwJFKQho892mL89wPDdXj60e23RnsEqNywvE2pg927ahQBnUPHWwEV7clptj26e6FhqPoU/1aRqZxzwjuFXijV02mHcu6Ev/C/efAcym3DVMe1/V8tGYDi8l5O41vyctOMEKPuX4GHrrIkNuV8AwhSPYNRRKVWEa/f/6QmV9/6fnJ6nS+XpzdNYCJvd6XJbj+mEUqwbSMndSi98GAbNuBF2s70eY4DwPqtn+9T28y5czQ4XyRd9LkLPMQE X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e96a0cd0-7b57-489c-2977-08db990d27b6 X-MS-Exchange-CrossTenant-AuthSource: MN2PR10MB3213.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2023 19:16:38.4259 (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: ylF1HDS58J/qaHYivyuLZwjY2vt57E7vEm4YH1lbV3LINQhg/QINbR+K6KuplDypI5heAU5PbiFo4FwOyeyBcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB6327 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-08-09_16,2023-08-09_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 spamscore=0 adultscore=0 mlxlogscore=742 bulkscore=0 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2308090168 X-Proofpoint-GUID: Tfl6U00T4rgOjok3CIOOXtuPqDWBP5w7 X-Proofpoint-ORIG-GUID: Tfl6U00T4rgOjok3CIOOXtuPqDWBP5w7 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 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: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: David Faust via Binutils From: David Faust Reply-To: David Faust Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773780196335008891 X-GMAIL-MSGID: 1773780196335008891 The 32-bit non-fetching atomic instructions treat the source register as 32-bits, which means in the pseudo-c syntax the "w" registers should be used rather than the "r" registers. opcodes/ * bpf-opc-c (bpf_opcodes): Use %sw for AAD32, AOR32, AAND32 and AXOR32 pseudo-c dialect asm templates. gas/ * testsuite/gas/bpf/atomic-be-pseudoc.d: Use "w" for source reg in non-fetching 32-bit atomic instructions. * testsuite/gas/bpf/atomic-pseudoc.d: Likewise. * testsuite/gas/bpf/atomic-pseudoc.s: Likewise. --- gas/testsuite/gas/bpf/atomic-be-pseudoc.d | 10 +++++----- gas/testsuite/gas/bpf/atomic-pseudoc.d | 10 +++++----- gas/testsuite/gas/bpf/atomic-pseudoc.s | 10 +++++----- opcodes/bpf-opc.c | 8 ++++---- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/gas/testsuite/gas/bpf/atomic-be-pseudoc.d b/gas/testsuite/gas/bpf/atomic-be-pseudoc.d index 30c40fa2d12..f48684a96d5 100644 --- a/gas/testsuite/gas/bpf/atomic-be-pseudoc.d +++ b/gas/testsuite/gas/bpf/atomic-be-pseudoc.d @@ -9,15 +9,15 @@ Disassembly of section .text: 0+ <.text>: 0: db 12 1e ef 00 00 00 00 lock \*\(u64\*\)\(r1\+0x1eef\)\+=r2 - 8: c3 12 1e ef 00 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\+=r2 + 8: c3 12 1e ef 00 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\+=w2 10: db 12 1e ef 00 00 00 00 lock \*\(u64\*\)\(r1\+0x1eef\)\+=r2 - 18: c3 12 1e ef 00 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\+=r2 + 18: c3 12 1e ef 00 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\+=w2 20: db 12 1e ef 00 00 00 50 lock \*\(u64\*\)\(r1\+0x1eef\)\&=r2 - 28: c3 12 1e ef 00 00 00 50 lock \*\(u32\*\)\(r1\+0x1eef\)\&=r2 + 28: c3 12 1e ef 00 00 00 50 lock \*\(u32\*\)\(r1\+0x1eef\)\&=w2 30: db 12 1e ef 00 00 00 40 lock \*\(u64\*\)\(r1\+0x1eef\)\|=r2 - 38: c3 12 1e ef 00 00 00 40 lock \*\(u32\*\)\(r1\+0x1eef\)\|=r2 + 38: c3 12 1e ef 00 00 00 40 lock \*\(u32\*\)\(r1\+0x1eef\)\|=w2 40: db 12 1e ef 00 00 00 a0 lock \*\(u64\*\)\(r1\+0x1eef\)\^=r2 - 48: c3 12 1e ef 00 00 00 a0 lock \*\(u32\*\)\(r1\+0x1eef\)\^=r2 + 48: c3 12 1e ef 00 00 00 a0 lock \*\(u32\*\)\(r1\+0x1eef\)\^=w2 50: db 12 1e ef 00 00 00 01 r2=atomic_fetch_add\(\(u64\*\)\(r1\+0x1eef\),r2\) 58: c3 12 1e ef 00 00 00 01 w2=atomic_fetch_add\(\(u32\*\)\(r1\+0x1eef\),w2\) 60: db 12 1e ef 00 00 00 51 r2=atomic_fetch_and\(\(u64\*\)\(r1\+0x1eef\),r2\) diff --git a/gas/testsuite/gas/bpf/atomic-pseudoc.d b/gas/testsuite/gas/bpf/atomic-pseudoc.d index 2b3739ee47e..257a2cde7dd 100644 --- a/gas/testsuite/gas/bpf/atomic-pseudoc.d +++ b/gas/testsuite/gas/bpf/atomic-pseudoc.d @@ -9,15 +9,15 @@ Disassembly of section .text: 0+ <.text>: 0: db 21 ef 1e 00 00 00 00 lock \*\(u64\*\)\(r1\+0x1eef\)\+=r2 - 8: c3 21 ef 1e 00 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\+=r2 + 8: c3 21 ef 1e 00 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\+=w2 10: db 21 ef 1e 00 00 00 00 lock \*\(u64\*\)\(r1\+0x1eef\)\+=r2 - 18: c3 21 ef 1e 00 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\+=r2 + 18: c3 21 ef 1e 00 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\+=w2 20: db 21 ef 1e 50 00 00 00 lock \*\(u64\*\)\(r1\+0x1eef\)\&=r2 - 28: c3 21 ef 1e 50 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\&=r2 + 28: c3 21 ef 1e 50 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\&=w2 30: db 21 ef 1e 40 00 00 00 lock \*\(u64\*\)\(r1\+0x1eef\)\|=r2 - 38: c3 21 ef 1e 40 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\|=r2 + 38: c3 21 ef 1e 40 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\|=w2 40: db 21 ef 1e a0 00 00 00 lock \*\(u64\*\)\(r1\+0x1eef\)\^=r2 - 48: c3 21 ef 1e a0 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\^=r2 + 48: c3 21 ef 1e a0 00 00 00 lock \*\(u32\*\)\(r1\+0x1eef\)\^=w2 50: db 21 ef 1e 01 00 00 00 r2=atomic_fetch_add\(\(u64\*\)\(r1\+0x1eef\),r2\) 58: c3 21 ef 1e 01 00 00 00 w2=atomic_fetch_add\(\(u32\*\)\(r1\+0x1eef\),w2\) 60: db 21 ef 1e 51 00 00 00 r2=atomic_fetch_and\(\(u64\*\)\(r1\+0x1eef\),r2\) diff --git a/gas/testsuite/gas/bpf/atomic-pseudoc.s b/gas/testsuite/gas/bpf/atomic-pseudoc.s index 6994fd10367..928f5caf0db 100644 --- a/gas/testsuite/gas/bpf/atomic-pseudoc.s +++ b/gas/testsuite/gas/bpf/atomic-pseudoc.s @@ -1,15 +1,15 @@ # Test for eBPF atomic pseudo-C instructions. .text lock *(u64 *)(r1 + 0x1eef) += r2 - lock *(u32 *)(r1 + 0x1eef) += r2 + lock *(u32 *)(r1 + 0x1eef) += w2 lock *(u64*)(r1+0x1eef)+=r2 - lock *(u32*)(r1+0x1eef)+=r2 + lock *(u32*)(r1+0x1eef)+=w2 lock *(u64*)(r1+0x1eef)&=r2 - lock *(u32*)(r1+0x1eef)&=r2 + lock *(u32*)(r1+0x1eef)&=w2 lock *(u64*)(r1+0x1eef)|=r2 - lock *(u32*)(r1+0x1eef)|=r2 + lock *(u32*)(r1+0x1eef)|=w2 lock *(u64*)(r1+0x1eef)^=r2 - lock *(u32*)(r1+0x1eef)^=r2 + lock *(u32*)(r1+0x1eef)^=w2 r2 = atomic_fetch_add((u64*)(r1+0x1eef),r2) w2 = atomic_fetch_add((u32*)(r1+0x1eef),w2) r2 = atomic_fetch_and((u64*)(r1+0x1eef),r2) diff --git a/opcodes/bpf-opc.c b/opcodes/bpf-opc.c index 3f42680c661..3d6dccbd005 100644 --- a/opcodes/bpf-opc.c +++ b/opcodes/bpf-opc.c @@ -384,13 +384,13 @@ const struct bpf_opcode bpf_opcodes[] = BPF_V3, BPF_CODE|BPF_IMM32, BPF_CLASS_STX|BPF_SIZE_DW|BPF_MODE_ATOMIC|BPF_IMM32_AFXOR}, /* Atomic instructions (32-bit.) */ - {BPF_INSN_AADD32, "aadd32%W[ %dr %o16 ] , %sr", "lock%w* ( u32 * ) ( %dr %o16 ) += %sr", + {BPF_INSN_AADD32, "aadd32%W[ %dr %o16 ] , %sr", "lock%w* ( u32 * ) ( %dr %o16 ) += %sw", BPF_V3, BPF_CODE|BPF_IMM32, BPF_CLASS_STX|BPF_SIZE_W|BPF_MODE_ATOMIC|BPF_IMM32_AADD}, - {BPF_INSN_AOR32, "aor32%W[ %dr %o16 ] , %sr", "lock%w* ( u32 * ) ( %dr %o16 ) |= %sr", + {BPF_INSN_AOR32, "aor32%W[ %dr %o16 ] , %sr", "lock%w* ( u32 * ) ( %dr %o16 ) |= %sw", BPF_V3, BPF_CODE|BPF_IMM32, BPF_CLASS_STX|BPF_SIZE_W|BPF_MODE_ATOMIC|BPF_IMM32_AOR}, - {BPF_INSN_AAND32, "aand32%W[ %dr %o16 ] , %sr", "lock%w* ( u32 * ) ( %dr %o16 ) &= %sr", + {BPF_INSN_AAND32, "aand32%W[ %dr %o16 ] , %sr", "lock%w* ( u32 * ) ( %dr %o16 ) &= %sw", BPF_V3, BPF_CODE|BPF_IMM32, BPF_CLASS_STX|BPF_SIZE_W|BPF_MODE_ATOMIC|BPF_IMM32_AAND}, - {BPF_INSN_AXOR32, "axor32%W[ %dr %o16 ] , %sr", "lock%w* ( u32 * ) ( %dr %o16 ) ^= %sr", + {BPF_INSN_AXOR32, "axor32%W[ %dr %o16 ] , %sr", "lock%w* ( u32 * ) ( %dr %o16 ) ^= %sw", BPF_V3, BPF_CODE|BPF_IMM32, BPF_CLASS_STX|BPF_SIZE_W|BPF_MODE_ATOMIC|BPF_IMM32_AXOR}, /* Atomic instructions with fetching (32-bit.) */