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 5D81C3858402 for ; Tue, 28 Nov 2023 12:46:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5D81C3858402 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5D81C3858402 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1701175621; cv=pass; b=Jd8qOYPksVNCCPqHuPuR8AAYyh/kYRciGE34881JXDxLUrGmQSGcZkgm/G3Ob7vsD1Qw+BSj54ZN+YpA9MWuFluoHIm/LNUHuGLltIIa5nB2jqqODw4qVLUkE+K4wOC5Hk3hBvxZzayjaTipmJiva6e0teyuBJw9xg5OEf9iR1I= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1701175621; c=relaxed/simple; bh=KTFn3c3QvIeMszFZ/DV3rImaxIoHD+g3/X+Q+f7TN/I=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=TD6ELe7CzhCBrbhsOCOtlSvDyg0UE7cJFGbVCxCYESMGzCrSOBuL7zjNpYNJt8U0hAdsXXw0foN8N8FAWAAKCl5EuiK+u0ePzWvxrfJf2C+vGMSfP5rYvsi6jvPdINOgTT9lQDeFwEaH4QRA6LCvMDv6jU9gl2YT8sRL845zty4= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3ASBT0mC007312 for ; Tue, 28 Nov 2023 12:46:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=references : from : to : cc : subject : in-reply-to : date : message-id : content-type : mime-version; s=corp-2023-11-20; bh=tdA2JcxtphIRjzrUrO4e2Dk4w63KR+2r86dLzGx+NoQ=; b=UNQLEetDKW7ns8c8Xdr9BSIvkINEm0t5qQkQ2ZTiotEJwG2Vrirt3fAYvEG6DAuKcnp/ S8AQ5Z7+BIft5E9GzmMw8mMoiToahruHbZ0/xzbAY2qln1QpkNrU2O8q4vdNXKlsN3zc 0ZdRVbFOvQPUAzYzeJ/efi0aY1vBhP124TcArAq9jagi96TurX/ZS4xQ1APMrGtezs4+ 7lAG/fgVHUrdAl/io8Pz13Buo3xdqrWTeTQT9mP7aAAg8oZrVnMpox+ouRL2IeyLAVhb BwZ/fh0EhsKe7CrypnogAFzb974NOolXhVVAfWraAygdusim8VTy6SvQ3b8f/78aCfUC cg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3uk8hu5net-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 28 Nov 2023 12:46:58 +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 3ASBH2lZ012686 for ; Tue, 28 Nov 2023 12:46:58 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2169.outbound.protection.outlook.com [104.47.73.169]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3uk7cck340-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 28 Nov 2023 12:46:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ReFhlgotYoxZtso2n5X6cU1o3S5kWff8zg9bByMOFNzu3ggjoPcjb+sFkDpd+fw5Xdj+PNq+8uPpUFuisGyLWxYRvzWZ6RoaaXKEHbs5P3FEZwOLQvGACYiltE0Tw4X9u/2ZlBcpWt6x/uD520K62MR6TQ0QkkQyzHKdIwzvhXX04FZWjcZsljIbpcBuNdCucpf0RzJAfZyIrXlmy51v4B09TdM8XBPgLQCPasok3tp0n5o6TCLerDDig8dX6dLHqYWMYpXX7mocaZNq6L3pYaMknhQ+Fzayufi16TgRxPHT0xPPFzlN9eg+zXZpc92DBmDSf8Hkb+nYEDDo36gw9g== 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=tdA2JcxtphIRjzrUrO4e2Dk4w63KR+2r86dLzGx+NoQ=; b=KUQ5Sk9vhIy3/ta9vImC5U/ZcFMZ/Xq2VBtpdnBIsAE7ckyV6+7qW9UXoK3Qc+2SXKXLPHeK2e/x9/XXyWRlsace0dpPAC/Cm77j/EN06EUduKX7T/GWm4gUYkgubiHIFYNeET5DT0FxOUs5TWDdwILzs9UmtEzqa6PFEaTz+6tLTCj1K6hxB9wFZyY2cLk3AY/mPsjY53P9gd64323Xse/oM6WjeFlad5YUw1/yeo58qzCQeO0MBEcnztZNU+eY9rLI+JJCkVzUeWgIG+giX56wOFiKQ1B5D6A1UycTuoR0MYXZegRyEX0nPRl+jje9SBEFFEBBWFrerbyv1aWLew== 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=tdA2JcxtphIRjzrUrO4e2Dk4w63KR+2r86dLzGx+NoQ=; b=DNMEm80QywITZLCI7hA+1Vc4wilKctYCCRpN/rs+VxdoC8GJsGN336kabMNfHosvipxEZN8hSSTy5s1Yqy2Bob1bs5rfgccMx71Lw6fFidEgphcRQSHU5gRIBUElE/zWjWvhXSwjFzpCvQ0BxRDa0Z4JZJJ6B0Oq+zp7PztN4H4= Received: from BN6PR1001MB2340.namprd10.prod.outlook.com (2603:10b6:405:30::36) by SN7PR10MB6474.namprd10.prod.outlook.com (2603:10b6:806:2a1::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Tue, 28 Nov 2023 12:46:55 +0000 Received: from BN6PR1001MB2340.namprd10.prod.outlook.com ([fe80::fec4:3a58:6118:aab2]) by BN6PR1001MB2340.namprd10.prod.outlook.com ([fe80::fec4:3a58:6118:aab2%6]) with mapi id 15.20.7025.022; Tue, 28 Nov 2023 12:46:55 +0000 References: <20231113223723.11760-1-cupertino.miranda@oracle.com> <87plzzccrp.fsf@oracle.com> User-agent: mu4e 1.4.15; emacs 28.1 From: Cupertino Miranda To: "Jose E. Marchesi" Cc: gcc-patches@gcc.gnu.org, elena.zannoni@oracle.com, david.faust@oracle.com Subject: Re: [PATCH] bpf: Forces __buildin_memcmp not to generate a call upto 1024 bytes. In-reply-to: <87plzzccrp.fsf@oracle.com> Date: Tue, 28 Nov 2023 12:46:51 +0000 Message-ID: <878r6iavus.fsf@oracle.com> Content-Type: text/plain X-ClientProxiedBy: LO4P123CA0520.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:272::16) To BN6PR1001MB2340.namprd10.prod.outlook.com (2603:10b6:405:30::36) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN6PR1001MB2340:EE_|SN7PR10MB6474:EE_ X-MS-Office365-Filtering-Correlation-Id: 051bfbee-e3fd-4021-edbe-08dbf0101a70 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: I6JfpJp8s1iilrphIRRxWQGnBeMPfZczz+tcLj8MoIcuXApG8AqV7XaQIJEKdDT6S6gpoXsM6hEfk3CA3S82Edu4zEze6chvMm0B9RiDItGfOWUyPqYsn6CbBbZIt+Idq/+JvCcz9/BvNKx7ilsGCPczJOY3tlz7QVUMoZlMePl+XGHReRSgwUYeeu9HX6F0Ib/OngzmwN+DuqO7qUaeGwAsLh3WkKc19hBmW6T7OETHAuj83u0VI2Rjg/BEfhAFIfG/SU5es06F8Aa+wVz0W7QM3Av4FVpk1c0/YFi4e/0cyjSjkNfUNjA94t3to8PTeAwJaeNdfFQVt3WNsakHiw74dLxybiyoQ7bSPLAvcjuZ0fofkGtoHd3NEca4as6sxy4t5gZ7qdZuVfhVKpyQoZnonIxb0dzSHd7gpup+bQItj7r+Y7BgEV/rdd4FTrRLTRTp+qcHghueaEWG95MU8XMS7U4evAHQksBbJBjrrtJz3FvH598Ym8mrNAsflk68PTAkGJ9F8YOYU1RBKiH00wW4NwrZ2Q5HqPretwyOm3P+4Yxf1v6hhtgtbZDeHRYc X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR1001MB2340.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(366004)(346002)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(36756003)(2906002)(41300700001)(5660300002)(86362001)(6666004)(6512007)(38100700002)(107886003)(6506007)(2616005)(44832011)(6486002)(478600001)(37006003)(66556008)(66476007)(8936002)(4326008)(6862004)(8676002)(316002)(6636002)(66946007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kD4z3k+xyLJ1J/VfDDgiD5jDK1f38abedEVFMTqonL1TYsaFDzffJX1CuzV0?= =?us-ascii?Q?9h813PJppUsZKQ0RHLb1Z+2jVer9CMoI9t+Q6ZmHzg+ZjMHVls4zEALlpNHs?= =?us-ascii?Q?I5UZVpWyLmvA+1j6ztYGXhb6y+reIBPBt+W1UjvvYiJ9OmTnuOxk7oB45bAP?= =?us-ascii?Q?pMV8tnFMqa8lVgbday/MBT9b22vGAkPR2nAh/gsiZkwZYru7YskwE2xn71kY?= =?us-ascii?Q?XoPUWgzyAzsTEor2gHvhjo+snWxgPytmiBZP/OHFXcaiGtxZY+f6e4ImfS2U?= =?us-ascii?Q?iP2xVroEQJHk6uRiCBpCdgeGeut/eHFxwgaoyglv1KZTW9ziYojUfDsIejnR?= =?us-ascii?Q?IHP/uO9Yt8QZFM40IFI3B72qkaFRXj5LKfezCjl1xZBWP9+/SGaSviBTMFJn?= =?us-ascii?Q?FFxK2MZ7GljQBPN5h+UZUKfthmPae4apBZtOvEApywp2Dx00msPcSG0aQmeL?= =?us-ascii?Q?8N0RsbTnyAwEAQHBZxe6DErDXLRWXi/AOHfKtGDtlaJP5gUJ0EzN8WvGdFNz?= =?us-ascii?Q?cn27wDYosK2R3nKqGbFycgPY1hIlamIL3tXD7Z432Pdt18lTlYUa+rNFEqie?= =?us-ascii?Q?oO255dfw4nKOos8ekBUXKWU6EuhphTLynOuqamC6cNjy23q/U4BtykTz108e?= =?us-ascii?Q?Oii4Sq9PenlJL3zNa1axWt0Xdb9vmDP4nV7oXxOZlgVOQkjGBAP41tCnasol?= =?us-ascii?Q?dJklFRvx9fm34LpcjmDCyG6kiiGDQcbV2wuMldywjq6j3QI8fzFJ2vGxdpTk?= =?us-ascii?Q?rR5HhY2MUD5xVM5o+R/xzziSNetjZDc3emqpe+2JURWPblEcuXn46uMVyzs7?= =?us-ascii?Q?ckJLaQEDevTCi6U2IW8f7hpmhfg97OKdbvhijaoQNn76WBagWEIV/z7uQoQo?= =?us-ascii?Q?aTh1joI5tHHHwx6gc+rYcQAva+jE9pWlaw1ue3qNKIYqRdXGAoHXGvZC3Y5J?= =?us-ascii?Q?tLOeYdJftNz3QQET4i5cdOn/xiv7rC9F01cu21pZz7Vi02xX9O7kX3UmXn+R?= =?us-ascii?Q?j0cON2zLSmFr9dkHNCdL91UpwNn29c8xxn18CwqQnHLujthYc/ww+xSwyoi/?= =?us-ascii?Q?cDN+pOnvAQ7a4BDWSRq5oFto/i/XwHvvBuG56ZcoNXzbEiWjVF3SXjHsd5C1?= =?us-ascii?Q?iMrsm/reThnvB3F7d22FT83kyQ/uLSW1SY3PraEMykQKaSBvIAFmJRUHTEI5?= =?us-ascii?Q?T6Dwcc5Zpm7qHj5gli8LE6wLS2n566hgfB19BjwrsJogosvSFj+zK8se14wa?= =?us-ascii?Q?ReoLgF3TrzLZi1myQHN1qO1T18KhG/KwRRvN40820oa+R0XSRDYxuI2/0UlD?= =?us-ascii?Q?+zQPHQaSckKxrGWQS/hv9XFLRrKTAKWYCIU4o2kGGOh71u/UIpQPxXyV73fB?= =?us-ascii?Q?CaQPN1f6gjfygzLSaS+ZDUVgnJMPKgtsDnUF8MD7vjZGdc0i1nyVIBRZZcj4?= =?us-ascii?Q?b/Sv6k9E+CCRY+fpMBETCDTNdbL/MeU6wPwvoS+dE6j8A2qx9Ss6hVASYd1P?= =?us-ascii?Q?XkGTGCLQEDqfzFLEWf4U3doYyXCth9buf+xKUjiGpbFYJJWQmn/9F+EHS5gq?= =?us-ascii?Q?owhkzNXzV9QSGPO9j7ODYGUWVUcy/reS0tvLmGkvGpJDEYBO0cHngwNOMivI?= =?us-ascii?Q?pic/fpcQ8gEFKmIqmQubkP8+PmQhs0T2f0KjYc6RLDzs?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8KmlI3NfqmBKLshltwljUHtScJQSGnmFyEWst6lxl1HbraRE6bc0MD/umAhtBiUoAZtLMqToDFzI9xw/XvEI0+aLJGO4ed4jIBwhzbp9ZLa5CJL7nsFRBpH3xXnSwh5bs98dn1XiXkV+KrerVeMntMf/RPN/5h7W3WdshLWLprRnEN1+uUGLrMbFw7Jx18iigtcJ0mGIh3dw+Bb6u9orUiFWc1c0ELp2u6zMDwxjB6Boa7+ZMdNSE/4wWS6FNpHYiMvXDcvLTalQpG979ADOKYC8eGg4dqVzZw0him0mfrL23LEkcdx1eFRodLZVl8hlf8fy3hBnoSPIP6Njmvv9hAfpozTWM9t91M/hRaOvgfiftzcUFcWxpFyLLM2AFQjU2yWwOgNFxwnDkXY5y9PlgD0OXvSD4Yy0et6LsnpG56WLlrga3FbAw+3H2yrgNRgiMYiBf6Nrlaj+fAo6BEkiVqK30siucinlQKXTFnQy0GNLvxdRW7P12M0eLYw/MixrJladjTdEsaurRYhwuoHM1yy4aLBPyKs3Wag3Uhbjj5iOFA/Bz2vQ6EOPYizM+O1NwgEEqMS6Hbwt2YAWkpnR/PiBgE2emk3QEkN5tS1q5iVaEFAPSEfP/wd1KLkEIJrIfWmcvv+9gOev/ksuesijjqNIOOtoi2Oi+ykNiqjFylp0+2JkS0rqFk+s5t3f2uLegxGVHBEP6kyqW4OTI6PJTPBaFg9TIUlYjMF370iNsnH8ZeFRnFFZjokvpNxdo9IX X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 051bfbee-e3fd-4021-edbe-08dbf0101a70 X-MS-Exchange-CrossTenant-AuthSource: BN6PR1001MB2340.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 12:46:55.8618 (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: rsLnzhQgX6IGvLxMwxcosv7ms/D36xDs00RWo/xfz95AhJW+6OiC1aYlYvcKPQmEcZPoWW9e/Pu9HyOWWPt7/yBVE6XL9RqrP8dhNxxkET0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR10MB6474 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-28_12,2023-11-27_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 phishscore=0 mlxscore=0 malwarescore=0 adultscore=0 suspectscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000 definitions=main-2311280101 X-Proofpoint-GUID: CQrrfj4rDLJQZHSIG1nGkJhBYKdbNXMk X-Proofpoint-ORIG-GUID: CQrrfj4rDLJQZHSIG1nGkJhBYKdbNXMk 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,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: Thanks! Committed ! Jose E. Marchesi writes: > Hi Cuper. > > Sorry, I missed this patch last week. > This is OK. > > Thanks! > >> This patch forces __builtin_memcmp calls upto data sizes of 1024 to >> become inline in caller. >> This is a requirement by BPF and it mimics the default behaviour of the >> clang BPF implementation. >> >> gcc/ChangeLog: >> * config/bpf/bpf.cc (bpf_use_by_pieces_infrastructure_p): Added >> function to bypass default behaviour. >> * config/bpf/bpf.h (COMPARE_MAX_PIECES): Defined to 1024 bytes. >> --- >> gcc/config/bpf/bpf.cc | 16 ++++++++++++++++ >> gcc/config/bpf/bpf.h | 5 +++++ >> 2 files changed, 21 insertions(+) >> >> diff --git a/gcc/config/bpf/bpf.cc b/gcc/config/bpf/bpf.cc >> index a0956a069729..764a3e487cb6 100644 >> --- a/gcc/config/bpf/bpf.cc >> +++ b/gcc/config/bpf/bpf.cc >> @@ -1115,6 +1115,22 @@ bpf_small_register_classes_for_mode_p (machine_mode mode) >> #define TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P \ >> bpf_small_register_classes_for_mode_p >> >> +static bool >> +bpf_use_by_pieces_infrastructure_p (unsigned HOST_WIDE_INT size, >> + unsigned int align ATTRIBUTE_UNUSED, >> + enum by_pieces_operation op, >> + bool speed_p) >> +{ >> + if (op != COMPARE_BY_PIECES) >> + return default_use_by_pieces_infrastructure_p (size, align, op, speed_p); >> + >> + return size <= COMPARE_MAX_PIECES; >> +} >> + >> +#undef TARGET_USE_BY_PIECES_INFRASTRUCTURE_P >> +#define TARGET_USE_BY_PIECES_INFRASTRUCTURE_P \ >> + bpf_use_by_pieces_infrastructure_p >> + >> /* Finally, build the GCC target. */ >> >> struct gcc_target targetm = TARGET_INITIALIZER; >> diff --git a/gcc/config/bpf/bpf.h b/gcc/config/bpf/bpf.h >> index 82702aa7b6ba..1f177ec4c4ef 100644 >> --- a/gcc/config/bpf/bpf.h >> +++ b/gcc/config/bpf/bpf.h >> @@ -489,6 +489,11 @@ enum reg_class >> locations. */ >> #define MOVE_MAX 8 >> >> +/* Allow upto 1024 bytes moves to occur using by_pieces >> + infrastructure. This mimics clang behaviour when using >> + __builtin_memcmp. */ >> +#define COMPARE_MAX_PIECES 1024 >> + >> /* An alias for the machine mode for pointers. */ >> #define Pmode DImode