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 C50D33858D38 for ; Thu, 17 Aug 2023 09:15:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C50D33858D38 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 37GNflfn018086; Thu, 17 Aug 2023 09:15:47 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 : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=yrB40GzBH30lx40cSg5ikVyM9P3szEGw+q34pxdFPLc=; b=Tzr8oBjq7lXX1tu0W7jS8oRUG07/8Sqcd/2LWAfxKzDHNXLt5yWcjmPqePfeSBOzaMxu 7C5ZrkTU53rsnZ89SREtSB86MMMlQMekvMLZUAyx+gC3rlpuEC5dS6Awy474MGmxUqZ/ 7OkO0bfZXXus8ab3IjG83P2GPMRFlz6MCo88rnCK+XrxAl9OMAmY9OHqewE/6yQjAHya tIlcqOTX9lzu9l67D7x5vjm4Voc27JfQD1MCNXyWMu0mbl1XHpRIRY6gUMzpY6rBqrdt czjiSCIarUrDKLB3aglADv7d1nBzF6yso3Y5T171yvQLP7H98FgovfQWDmDjPxwoiSHG lA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3se61c8yyn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 17 Aug 2023 09:15:47 +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 37H7F7Yi027555; Thu, 17 Aug 2023 09:15:46 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2046.outbound.protection.outlook.com [104.47.74.46]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3sey1ujw08-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 17 Aug 2023 09:15:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KdU6K0cO6JLw3uI/cDswHB7ASJRC7bbvePzKGYiHMyyX+XQnqKr6baoKDey5fLENqD1zpFFtfejT2eMxoIs6UPaH5BLRDUtV1uvuDrMSA+TzVYWeis8X3Hp4UMSOPOl9kOX9ygbd5i/oKMfhb863+gjFz5cKhIvxZe6BpmChQiD4iLt3Np+bQZcVa1FlSypRVFWef4z1Ld39StCgzgxzlQOfaIPOwbwl3g9dRrbPXZ3rM8rtSmQ/eC1dKu4CHTg13Qi9UAOf1MI6zAByLg9sOr+NYwOBrlZ+V7BJ8bbQs4TRlGXss+v+aoAHjcFA2WbEIB98cWsp3nU+zLlfcbiSig== 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=yrB40GzBH30lx40cSg5ikVyM9P3szEGw+q34pxdFPLc=; b=Bw19ozs5wRz8Ala811ZJEcqqf58YJnMFqtVOqHjeDg9NbPcsCmyFn/PnU4vng1wb4QjrlF0i0gQBXpdfrky6FUMNbu7NE4CSHKMrL/dUQcEavY5j8/0j4CmQBMNapZYhx4vMQMFmQvRTqboH0BZXnQHlu1JgAzeINTmAGwxns2X7h1iSn0mZTbaAnMn8z4zpKmRp4dYX5XS3/yfrxUfjA3MsLgx2bFTn2A8jFzNlq52KkYe8VMkPqfPvfQWHLWtZwT5NldLMgOjWLbIdVpQATIrusG0zXoeC91PiCBqlzuKc5Kcb3ka4OebPeIP8zkE206ES4q7PewDSppENYRfAag== 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=yrB40GzBH30lx40cSg5ikVyM9P3szEGw+q34pxdFPLc=; b=mS4VuOJ/2E6G5P5G9jOzdJuwbfH1K2oE/usPXxHx1uLrEfjCCeDZejFvmQ4mlbZaa+5G5KtQeJlYS/zHoH+xGPbl+wdmh+1ofhCSgNi9mNNKeE1KfIDp499d8EHuSbtqzxHri5hIPAP15PKAsMRw+QP1PLnnNuODgmVVB9TNCRk= Received: from BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) by CY8PR10MB7379.namprd10.prod.outlook.com (2603:10b6:930:96::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug 2023 09:15:43 +0000 Received: from BYAPR10MB2888.namprd10.prod.outlook.com ([fe80::7d31:72cf:ebed:894f]) by BYAPR10MB2888.namprd10.prod.outlook.com ([fe80::7d31:72cf:ebed:894f%5]) with mapi id 15.20.6678.029; Thu, 17 Aug 2023 09:15:43 +0000 From: "Jose E. Marchesi" To: Richard Biener Cc: David Faust , gcc-patches@gcc.gnu.org Subject: Re: [PATCH] bpf: fix pseudoc w regs for small modes [PR111029] In-Reply-To: (Richard Biener's message of "Thu, 17 Aug 2023 10:44:23 +0200") References: <20230815184618.7396-1-david.faust@oracle.com> <87cyzo3z8c.fsf@oracle.com> Date: Thu, 17 Aug 2023 11:15:37 +0200 Message-ID: <87il9eyqpy.fsf@oracle.com> User-Agent: Gnus/5.13 (Gnus v5.13) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P265CA0376.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a3::28) To BYAPR10MB2888.namprd10.prod.outlook.com (2603:10b6:a03:88::32) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB2888:EE_|CY8PR10MB7379:EE_ X-MS-Office365-Filtering-Correlation-Id: 83afc4b4-83ec-4ab5-2bbb-08db9f028869 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jh47DDdyorL/RdysOHm2leSasTyUz08mT8LpHj0odwrDvfNClV3QpKcoxBK68znC4uAEps46dwk84glFuespdyd51Zl+BQG5L01v5EkV+P5x9erE6i6FXUj+b0PzH9+3H0bXk71mZ6JI4i73JjJDOC+LalX6y7S6FLBpt9M1Mq2mhqe77WmQOS3u3EpvlJVnVM+SsmQ6rabpabJoaJu7bJNW1Yzrc1ahmdQt86iHwwx7ArKFVtw9jNgOYKUVlxL0e0HMJMpUEaarxVFStEWEfXy7inf6V532aNnc0sCY8QuEI2xk1Iujc2okh/kXkqLDO8954xj3XbC7QcVDUs+tuQsLnxPKm7w+yZ6y3ORSnwc3qv97+a39FpvbD+mA/3NSLMqHPshLU8Nc3UD2SDtfwsp9Yu3Ng/jXDcL7f4bSAwx81z3UipV+d9jY+jFuoWtkiFAwuHk87Bzcehh3heUVMsk94vUK2JgZEnOnfd8MLSjKi0QoKglkiuYdIU9WS3uFil07gcyADVuHfeDPOFD4Xa4nmz0w5PAve1IEnr+EzqU= 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:(13230031)(376002)(366004)(346002)(396003)(136003)(39860400002)(451199024)(186009)(1800799009)(66556008)(66476007)(66946007)(5660300002)(2616005)(41300700001)(84970400001)(6916009)(2906002)(316002)(8676002)(8936002)(4326008)(478600001)(6512007)(6666004)(6486002)(6506007)(53546011)(36756003)(83380400001)(38100700002)(86362001)(26005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?L05uRmFSS0JqU1NyMXdhTzdUem44Qk5nQTJXVEkzN29RTW4rZ1FJeVd4QVNV?= =?utf-8?B?dVd3ZE5zeXJEZDkycllJQ3dud1R5aExOc1JqVXRDZFpxK2piSFMyVUN4NnBy?= =?utf-8?B?SHpGNkJFdWNoY0xVSlhaSjEwT3FYQ2ExczNVNWUydW4yWGU3S29PaWQwSHhI?= =?utf-8?B?STdIUnlsNzRIVm9zVGZ0cWRWMTJVdkFOWVVOQ0cyemtZdnhsRFR6cjhjRENy?= =?utf-8?B?cVNVMm93THRLU3dIc3ArWllwcVVNbHRicFZJdGRtU25BN3NyYmptK2NFYnZK?= =?utf-8?B?ZVQ2T3NVUGQrek5QaGh3aFoxZjV3RU5PVmpzeEZCQS9wVzN2ei9KbDA5eit0?= =?utf-8?B?ZEo2c1hPTmljQmxQYlk1MDJmeWd4bytFcmoraHZ0S0NpZWtmbWpXcDJRN2pX?= =?utf-8?B?N3N2MmsxdTFOc2dvZ2Exb3hyOG5SSTZtMmwvZU5lSWVGK0NVNjUzdjMzUmpk?= =?utf-8?B?ZDRibHBLU3NOaUp1ZFNEVTd6ZnF2dFk0dzFUTStlUW1lMXRteVpteWUrM1FQ?= =?utf-8?B?ZjR5bnY3aitoMSt0ZTRXamxsZXVLOWhFQTBVbHZNR1Y4NXB2M0dHWlJBVmVT?= =?utf-8?B?ZkcwQkZaV2NKNjd3ZVFFQkU4SGFPK0ZVK0lQZXZZeHBIdzkydWJibGVPbkhw?= =?utf-8?B?VHllcG1pRkhIUXFOOWxkUktiNU5ub2ZZOEZFcjAxZEVzZk4yRy9MYnlGNFp2?= =?utf-8?B?blo5Tjh5REpHQmE2WDlOaTQ4WENVenY2cU0raS9NWThyem5PZlloWlc2d3I4?= =?utf-8?B?aEVQYm00ZW5kQUU4RlFqRG1zMUh6K1VXZlF4VE1ibERJQWJ4RGFMZCtYY1hU?= =?utf-8?B?MmxWcndmbzgyY3hjS2lRa2lYeFZvTzkyY0txYUNxdTluR21id1V1ckJubVp6?= =?utf-8?B?dm9ua2o4V2pEaVROam14bEN0aHlNQU03cDFCbnhnTStXVmY2d1IrZk1lclVa?= =?utf-8?B?MWYzNnd0Y2Z2aHJPcWpQQUFicytSNlNFdWtRZy82aEJmT2tkWVdQZEFyQ2Nv?= =?utf-8?B?ektMVmVDNDNMTlZpbURaU2VndDZIcFhlc2MzWDFKMDA4dWJKK1VrYkNoUkx4?= =?utf-8?B?L040YUNyWUduaXR5QWpMMG0zTmJVR1VrSm12a29iSndBQkM2d0xHN2VCVWxY?= =?utf-8?B?ZXFOaHQ1SGVKQVFvWmk3ZFpwSGRkVEFYNlhIWlhJWGF3NnF6TDI5aG9pTDNU?= =?utf-8?B?SStXZVhvd3JJS0RJdjlvWWtRT1JxNnlSNmNDZWN1bWFUTklpdm11a2g5Y3Yr?= =?utf-8?B?bVdoaXJjdUhvNm9UQWl5d09wR3NrSlRzby9BWkpxOWdad01lNnpxSVpXako4?= =?utf-8?B?N3VCZS9XR0JBWE5jaWNXOFM1SWp4YnpOdTVDMEtUaHZ0VGwvMWVKSXQyTGNO?= =?utf-8?B?QlNjeWRWNTh4czRsNERiYmQ2dmovVHpwR3hKdzYwS0NnU0FVQjhHNHpjZ3Ji?= =?utf-8?B?TUw5VkFxalA1MFlJclRQbDlxcmVVdlowVlB3T0s5dVNPZm4zRzdydmJHc3Rq?= =?utf-8?B?aHFTaEU5YTZDSkI0bHZQS2t2RjkwTlF1QmE4MkVOZVI3d3h5dGhxRHl2OC9h?= =?utf-8?B?eXpCZDVUSjdrQ1QwU0JZaEtCYU9zY2R0RzRKNG1CSXF6bHVEaHNRSm9RY2VZ?= =?utf-8?B?SlNCejBhUHJUY1JPR1BaV0JQWFBGOUxXZThGVlJ4WHRRVE95dnFkZ0xQWXg2?= =?utf-8?B?VGx2NkNFQzdYMnhEeHZUUXI2QlUvYThYK1VWUS9TVUdKOWxZZkYyNDBEM2FV?= =?utf-8?B?Zll1b1AyZEtPK1BLZUNRbGVHbDlrMVVTVEUvL1BPRzdlenBEQVhBOE1KTEhi?= =?utf-8?B?U0d1OVdIdEhnT2s0N2YzM0NKMHJHRCtFTFFxSkF1cnNiZ1R1a2dOQkJ3R1RS?= =?utf-8?B?ajZlNDNpK3hJWmVSUDk4UEJ4OEhncWJRMVVoaUNWZ0JWYlBDaW9Pb05zR0dY?= =?utf-8?B?NkxTS2xCK0JvTWhOSnFzV0pHQlJtQWNpR0p5c0ZkZ0JnWXUxdCtsejA3dkZ6?= =?utf-8?B?akNQRkFUanZVbmxyTFBZMmt6d2pxa0JHN1FMS3NJbUpnSVJBTlBnc3FWYTZj?= =?utf-8?B?d2o1c3BIdlIxSW5nYmpKZWhRZ2ZIdTBsZHlBT2pVanJxbStFc1k5dERZdm5E?= =?utf-8?B?Qmg3YURrM205UVpPdmRTVUdvdlY5NlBzYXNXQjJsTzNmNys3OXpQcnVlWHJ1?= =?utf-8?B?cHc9PQ==?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: GjUgI99KSuWc1fX32LumRCKb1B9T9zLcHUQbUkNHpLE6/jcg2vSlprfIUWHYeWoFGQ4W4AJRASj48qS2g2yXJfi1bKWwlvLr+cmfYbEPBjgiDIiGE4Zol+WsXcTkmEZVAOOLroZfum4u57zif+VAMeiuJ1rI0ko2Ubdz4cvKm2ga954U8uldXVtZHXpZU38KSDdR0HpxwjZ9LKQKq3I6958Psn2gjDkdG9L6/06M+3ogdKifMemLDHdERfrVWXUrCjDbdX+teji5MFJt6tQN3haRT1GSDZQHWDqpuZsLBIMz6ItmQ2lpN2KooysVMcwfjg8RKXwV9q9wZmm+1dXMuNmvV2ZccP5G0hxuSxtfmd5PIBRC/bPhnjcE8e+rlyhWCZEqiITHvH2D/jFXApBZK6zkTuf6i4TO6WIRH3aBtH/uaaojeBFMEJvPVbp+8Op5e3zqMbzELtp1u0ISvOUcASl6QKY/V7WzH51jjidYiw6ehymxmcdB8ma8dkAg2FXbgTIkDZeS9oL4SMfBuiykup2xzX9f14mpydAyuRhYeBwHAdH0klY8gcThwBnc6jHMqmkOWhjhy4UkMk015cnuK70go8fSJNg1FzNNk1cKc8tkmJMHirnJZWP5zeOn6lmVUJAWKNu7DQzWvSu4ujfGlH3jiUsP1OaZZLLNv6i4b0j/Fp9Spv1S8ovoT8afYmqbeEYajlGXyI4ujhFn0HCMd/Xd2ehsIk4CsCDXlHb6sMfpc/Ayz1fHrEmJ//UV06lsAhypder95ujSxxlsMtleFw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 83afc4b4-83ec-4ab5-2bbb-08db9f028869 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB2888.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 09:15:43.2841 (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: 44daIiTeDC3N+W5sbAEMFO+a+/GCQP0XYr5kYlA+yUx6i+1+ZvhKg8VQTHXpT1nmADdiBEAMHrM01Ntat7ulAC/LhlJ4zC6wOdYzYjLl/Q8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7379 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-08-17_03,2023-08-15_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 suspectscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2308170082 X-Proofpoint-GUID: Qr_YAtXkJ_KyIyyDYgw8zhoVjrWuRGEe X-Proofpoint-ORIG-GUID: Qr_YAtXkJ_KyIyyDYgw8zhoVjrWuRGEe X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,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 List-Id: > On Tue, Aug 15, 2023 at 9:03=E2=80=AFPM Jose E. Marchesi via Gcc-patches > wrote: >> >> >> Hello David. >> Thanks for the patch. >> >> OK. > > Picking a random patch/mail for this question - how do we maintain BPF > support for the most recent GCC release which is GCC 13? I see the > current state in GCC 13 isn't fully able to provide upstream kernel BPF > support but GCC 14 contains some bugfixes and some new features(?). > Is it worthwhile to backport at least bugfixes while GCC 14 is still in > development even if those are not regression fixes? Or is GCC 13 BPF > too broken to be used anyway? Our plan is: 1. Get git GCC and git binutils to compile all the kernel BPF selftests. This covers both functionality (builtins, attributes, BTF, CO-RE, etc) and consolidation of behavior between the GNU and llvm bpf ports. We are working very hard to achieve this point and we are very near: functionality wise we are on-par in all components, but there are some bugs we are fixing. We expect to be done in a couple of weeks. 2. Once the above is achieved, we plan to start doing the backports to released/maintained versions of both binutils and GCC so distros like Debian (that already package gcc-bpf) can use the toolchain. 3. Next step is to make sure the compiler generates code that can generally satisfy the many restrictions imposed by the kernel verifier, at least to a point that is practical. This is a difficult general problem not specific to GCC and is shared by llvm and other optimizing compilers, sort of a moving target, and it is not clear at all how to achieve this in a general and practical way. We have some ideas and have submitted a proposal to discuss this topic during this year's Cauldron: "The challenge of compiling for verified targets". > Thanks, > Richard. > >> > In the BPF pseudo-c assembly dialect, registers treated as 32-bits >> > rather than the full 64 in various instructions ought to be printed as >> > "wN" rather than "rN". But bpf_print_register () was only doing this >> > for specifically SImode registers, meaning smaller modes were printed >> > incorrectly. >> > >> > This caused assembler errors like: >> > >> > Error: unrecognized instruction `w2 =3D(s8)r1' >> > >> > for a 32-bit sign-extending register move instruction, where the sourc= e >> > register is used in QImode. >> > >> > Fix bpf_print_register () to print the "w" version of register when >> > specified by the template for any mode 32-bits or smaller. >> > >> > Tested on bpf-unknown-none. >> > >> > PR target/111029 >> > >> > gcc/ >> > * config/bpf/bpf.cc (bpf_print_register): Print 'w' registers >> > for any mode 32-bits or smaller, not just SImode. >> > >> > gcc/testsuite/ >> > >> > * gcc.target/bpf/smov-2.c: New test. >> > * gcc.target/bpf/smov-pseudoc-2.c: New test. >> > --- >> > gcc/config/bpf/bpf.cc | 2 +- >> > gcc/testsuite/gcc.target/bpf/smov-2.c | 15 +++++++++++++++ >> > gcc/testsuite/gcc.target/bpf/smov-pseudoc-2.c | 15 +++++++++++++++ >> > 3 files changed, 31 insertions(+), 1 deletion(-) >> > create mode 100644 gcc/testsuite/gcc.target/bpf/smov-2.c >> > create mode 100644 gcc/testsuite/gcc.target/bpf/smov-pseudoc-2.c >> > >> > diff --git a/gcc/config/bpf/bpf.cc b/gcc/config/bpf/bpf.cc >> > index 3516b79bce4..1d0abd7fbb3 100644 >> > --- a/gcc/config/bpf/bpf.cc >> > +++ b/gcc/config/bpf/bpf.cc >> > @@ -753,7 +753,7 @@ bpf_print_register (FILE *file, rtx op, int code) >> > fprintf (file, "%s", reg_names[REGNO (op)]); >> > else >> > { >> > - if (code =3D=3D 'w' && GET_MODE (op) =3D=3D SImode) >> > + if (code =3D=3D 'w' && GET_MODE_SIZE (GET_MODE (op)) <=3D 4) >> > { >> > if (REGNO (op) =3D=3D BPF_FP) >> > fprintf (file, "w10"); >> > diff --git a/gcc/testsuite/gcc.target/bpf/smov-2.c b/gcc/testsuite/gcc= .target/bpf/smov-2.c >> > new file mode 100644 >> > index 00000000000..6f3516d2385 >> > --- /dev/null >> > +++ b/gcc/testsuite/gcc.target/bpf/smov-2.c >> > @@ -0,0 +1,15 @@ >> > +/* Check signed 32-bit mov instructions. */ >> > +/* { dg-do compile } */ >> > +/* { dg-options "-mcpu=3Dv4 -O2" } */ >> > + >> > +int >> > +foo (unsigned char a, unsigned short b) >> > +{ >> > + int x =3D (char) a; >> > + int y =3D (short) b; >> > + >> > + return x + y; >> > +} >> > + >> > +/* { dg-final { scan-assembler {movs32\t%r.,%r.,8\n} } } */ >> > +/* { dg-final { scan-assembler {movs32\t%r.,%r.,16\n} } } */ >> > diff --git a/gcc/testsuite/gcc.target/bpf/smov-pseudoc-2.c b/gcc/tests= uite/gcc.target/bpf/smov-pseudoc-2.c >> > new file mode 100644 >> > index 00000000000..6af6cadf8df >> > --- /dev/null >> > +++ b/gcc/testsuite/gcc.target/bpf/smov-pseudoc-2.c >> > @@ -0,0 +1,15 @@ >> > +/* Check signed 32-bit mov instructions (pseudo-C asm dialect). */ >> > +/* { dg-do compile } */ >> > +/* { dg-options "-mcpu=3Dv4 -O2 -masm=3Dpseudoc" } */ >> > + >> > +int >> > +foo (unsigned char a, unsigned short b) >> > +{ >> > + int x =3D (char) a; >> > + int y =3D (short) b; >> > + >> > + return x + y; >> > +} >> > + >> > +/* { dg-final { scan-assembler {w. =3D \(s8\) w.\n} } } */ >> > +/* { dg-final { scan-assembler {w. =3D \(s16\) w.\n} } } */