[{"id":3676857,"web_url":"http://patchwork.ozlabs.org/comment/3676857/","msgid":"<DB3PR08MB89868E518AAE9D348FB5256483242@DB3PR08MB8986.eurprd08.prod.outlook.com>","list_archive_url":null,"date":"2026-04-13T17:11:10","subject":"Re: [PATCH] aarch64: Optimize memcmp for Kunpeng 950 with SVE","submitter":{"id":67598,"url":"http://patchwork.ozlabs.org/api/people/67598/","name":"Wilco Dijkstra","email":"Wilco.Dijkstra@arm.com"},"content":"Hi Weihong,\n\nA few comments/questions:\n\n+ENTRY (__memcmp_kunpeng950)\n+    whilelo p0.b, xzr, cnt\n+    b.none  L(equal)\n+    rdvl    off_vl, #1\n\nWhy use RDVL rather than CNTB? CNTB is faster for simple cases on various\nSVE implementations. And if needed you can compute 2x/3x/4x using simple\nshifts/adds.\n\n+    ld1b    z0.b, p0/z, [src1]\n+    ld1b    z1.b, p0/z, [src2]\n+    cmpne   p1.b, p0/z, z0.b, z1.b\n+    b.any   L(mismatch0)\n+\n+    whilelo p2.b, off_vl, cnt\n+    b.none  L(equal)\n+    rdvl    off_vlx2, #2\n+    ld1b    z2.b, p2/z, [src1, off_vl]\n+    ld1b    z3.b, p2/z, [src2, off_vl]\n\nIs there a reason not to use [src1, 1, mul vl] here? It should be cheap.\n\n+    cmpne   p3.b, p2/z, z2.b, z3.b\n+    b.any   L(mismatch1)\n\nWhy not reuse z0.b/z1.b/p1.b and branch to mismatch0 rather than repeat the code?\n\n+    whilelo p4.b, off_vlx2, cnt\n+    b.none  L(equal)\n+    rdvl    off_vlx3, #3\n+    ld1b    z6.b, p4/z, [src1, off_vlx2]\n+    ld1b    z7.b, p4/z, [src2, off_vlx2]\n+    cmpne   p5.b, p4/z, z6.b, z7.b\n+    b.any   L(mismatch2)\n+\n+    whilelo p6.b, off_vlx3, cnt\n+    b.none  L(equal)\n+    rdvl    current, #4\n+    ld1b    z16.b, p6/z, [src1, off_vlx3]\n+    ld1b    z17.b, p6/z, [src2, off_vlx3]\n+    cmpne   p7.b, p6/z, z16.b, z17.b\n+    b.any   L(mismatch3)\n\nIs it really worth doing 4x unrolling here?\n\n+    subs    safe_limit, cnt, current\n+    csel    safe_limit, safe_limit, xzr, hs // Saturate to 0 if cnt < 4VL to prevent unsigned underflow\n\nRather than use CSEL, we can just do b.lo L(equal) and skip all the tail code.\n\n+    cmp     current, safe_limit\n+    b.hi    L(tail_4xvl)\n+\n+    ptrue   p0.b\n\nNo need for this - the first WHILELO p0.b ensures we have all true in p0.\n\n+    .p2align 4\n+L(loop_full):\n+    addvl   off_vl, current, #1\n+    addvl   off_vlx2, current, #2\n+    addvl   off_vlx3, current, #3\n\nThat's a lot of unnecessary ADDVL - it would be better to increment src1/src2 and\nuse 1/2/3, mul vl as offset. Or just reuse off_vl, off_vlx2, off_vlx3.\n\n+    ld1b    z0.b, p0/z, [src1, current]\n+    ld1b    z1.b, p0/z, [src2, current]\n+    cmpne   p1.b, p0/z, z0.b, z1.b\n+    b.any   L(mismatch0)\n+\n+    ld1b    z2.b, p0/z, [src1, off_vl]\n+    ld1b    z3.b, p0/z, [src2, off_vl]\n+    cmpne   p3.b, p0/z, z2.b, z3.b\n+    b.any   L(mismatch1_full)\n\nIt's likely better to compute 2 vectors at a time similar to current memcmp.\n\nAlso it's not clear to me why 4x unrolling is used, if we avoid the 3 ADDVL,\nis it really faster than 2x unrolling?\n\n+    ld1b    z6.b, p0/z, [src1, off_vlx2]\n+    ld1b    z7.b, p0/z, [src2, off_vlx2]\n+    cmpne   p5.b, p0/z, z6.b, z7.b\n+    b.any   L(mismatch2_full)\n+\n+    ld1b    z16.b, p0/z, [src1, off_vlx3]\n+    ld1b    z17.b, p0/z, [src2, off_vlx3]\n+    cmpne   p7.b, p0/z, z16.b, z17.b\n+    b.any   L(mismatch3_full)\n+\n+    addvl   current, current, #4\n+    cmp     current, safe_limit\n+    b.le    L(loop_full)\n+\n+L(tail_4xvl):\n+    whilelo p0.b, current, cnt\n+    b.none  L(equal)\n+    addvl   off_vl, current, #1\n+    ld1b    z0.b, p0/z, [src1, current]\n+    ld1b    z1.b, p0/z, [src2, current]\n+    cmpne   p1.b, p0/z, z0.b, z1.b\n+    b.any   L(mismatch0)\n+\n+    whilelo p2.b, off_vl, cnt\n+    b.none  L(equal)\n+    addvl   off_vlx2, current, #2\n+    ld1b    z2.b, p2/z, [src1, off_vl]\n+    ld1b    z3.b, p2/z, [src2, off_vl]\n+    cmpne   p3.b, p2/z, z2.b, z3.b\n+    b.any   L(mismatch1)\n+\n+    whilelo p4.b, off_vlx2, cnt\n+    b.none  L(equal)\n+    addvl   off_vlx3, current, #3\n+    ld1b    z6.b, p4/z, [src1, off_vlx2]\n+    ld1b    z7.b, p4/z, [src2, off_vlx2]\n+    cmpne   p5.b, p4/z, z6.b, z7.b\n+    b.any   L(mismatch2)\n+\n+    whilelo p6.b, off_vlx3, cnt\n+    b.none  L(equal)\n+    ld1b    z16.b, p6/z, [src1, off_vlx3]\n+    ld1b    z17.b, p6/z, [src2, off_vlx3]\n+    cmpne   p7.b, p6/z, z16.b, z17.b\n+    b.any   L(mismatch3)\n+\n+    b   L(equal)\n\nDoes 4x unrolling the tail code really help performance?\n\n+L(mismatch1_full):\n+    brkb    p2.b, p0/z, p3.b\n+    lasta   w0, p2, z2.b\n+    lasta   w1, p2, z3.b\n+    sub     x0, x0, x1\n+    ret\n+\n+L(mismatch2_full):\n+    brkb    p2.b, p0/z, p5.b\n+    lasta   w0, p2, z6.b\n+    lasta   w1, p2, z7.b\n+    sub     x0, x0, x1\n+    ret\n+\n+L(mismatch3_full):\n+    brkb    p2.b, p0/z, p7.b\n+    lasta   w0, p2, z16.b\n+    lasta   w1, p2, z17.b\n+    sub     x0, x0, x1\n+    ret\n+\n+L(mismatch0):\n+    brkb    p2.b, p0/z, p1.b\n+    lasta   w0, p2, z0.b\n+    lasta   w1, p2, z1.b\n+    sub     x0, x0, x1\n+    ret\n+\n+L(mismatch1):\n+    brkb    p0.b, p2/z, p3.b\n+    lasta   w0, p0, z2.b\n+    lasta   w1, p0, z3.b\n+    sub     x0, x0, x1\n+    ret\n+\n+L(mismatch2):\n+    brkb    p6.b, p4/z, p5.b\n+    lasta   w0, p6, z6.b\n+    lasta   w1, p6, z7.b\n+    sub     x0, x0, x1\n+    ret\n+\n+L(mismatch3):\n+    brkb    p4.b, p6/z, p7.b\n+    lasta   w0, p4, z16.b\n+    lasta   w1, p4, z17.b\n+    sub     x0, x0, x1\n+    ret\n\nThat's 7 copies of the same sequence - by using the same register/predicates it should\nbe feasible to use just 1 copy.\n\n+L(equal):\n+    mov x0, #0\n+    ret\n+END (__memcmp_kunpeng950)\n\nCheers,\nWilco","headers":{"Return-Path":"<libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":["incoming@patchwork.ozlabs.org","libc-alpha@sourceware.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","libc-alpha@sourceware.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256\n header.s=selector1 header.b=sKpUv8gb;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=sKpUv8gb;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (1024-bit key,\n unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256\n header.s=selector1 header.b=sKpUv8gb;\n\tdkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com\n header.a=rsa-sha256 header.s=selector1 header.b=sKpUv8gb","sourceware.org;\n dmarc=pass (p=none dis=none) header.from=arm.com","sourceware.org; spf=pass smtp.mailfrom=arm.com","server2.sourceware.org;\n arc=pass smtp.remote-ip=2a01:111:f403:c201::6"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvYrK2T7Lz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 03:12:49 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 70EBE4BA2E15\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 17:12:47 +0000 (GMT)","from AM0PR02CU008.outbound.protection.outlook.com\n (mail-westeuropeazlp170130006.outbound.protection.outlook.com\n [IPv6:2a01:111:f403:c201::6])\n by sourceware.org (Postfix) with ESMTPS id F2D774BA2E08\n for <libc-alpha@sourceware.org>; Mon, 13 Apr 2026 17:12:22 +0000 (GMT)","from AM6P191CA0016.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8b::29)\n by AM8PR08MB5699.eurprd08.prod.outlook.com (2603:10a6:20b:1d8::14) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.48; Mon, 13 Apr\n 2026 17:12:14 +0000","from AMS0EPF000001AE.eurprd05.prod.outlook.com\n (2603:10a6:209:8b:cafe::8c) by AM6P191CA0016.outlook.office365.com\n (2603:10a6:209:8b::29) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.47 via Frontend Transport; Mon,\n 13 Apr 2026 17:12:14 +0000","from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by\n AMS0EPF000001AE.mail.protection.outlook.com (10.167.16.154) with Microsoft\n SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9769.17\n via Frontend Transport; Mon, 13 Apr 2026 17:12:14 +0000","from PAWPR08MB8982.eurprd08.prod.outlook.com (2603:10a6:102:33f::20)\n by PA1PR08MB11672.eurprd08.prod.outlook.com (2603:10a6:102:555::12)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.46; Mon, 13 Apr\n 2026 17:11:11 +0000","from PAWPR08MB8982.eurprd08.prod.outlook.com\n ([fe80::5821:707a:c30b:dd9a]) by PAWPR08MB8982.eurprd08.prod.outlook.com\n ([fe80::5821:707a:c30b:dd9a%5]) with mapi id 15.20.9769.046; Mon, 13 Apr 2026\n 17:11:10 +0000"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 70EBE4BA2E15","OpenDKIM Filter v2.11.0 sourceware.org F2D774BA2E08"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org F2D774BA2E08","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org F2D774BA2E08","ARC-Seal":["i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1776100343; cv=pass;\n b=rAJYwPR7E/FbMsmWe4NThQOfGOOKPmZzdt4H2w6E5kuDbLrmwMIsnYE/yMurB5Itaekkbtq1T+VHsmfHdJI3yL6i+yU6/9Low34nAxFNCBFKGAZ2ksMRwU6GOUm/xEZWYuQ79x9U3+RZq/VwaJQ1oI59apeUvQ7rxmuusN4Bew8=","i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;\n b=AuFHStAeWGNvpbwGdNKKXJHRLUQdm0LcJ6q0H5h1Q6PpFxdYjVmeiQ7fDWW7fPdR2pbm7QCbOCeHP9IGl9CULRMQEqrq7QZlUrR5zrph2mwEn6CtsJrdv8J+eEUX2nZ9N3Yf/PJHTkkIX28tWm0JM44EKRW7Ye+HcMtFwCjU6lwRIjJBKlttJn7tTYxoX57yKXPPx6G11U+N8TD7+fn7MbSpMOGF6i8P7okKVV5/lVguTom2Rkw4dnrW1yyxLfNvD7rJgP2d1Nc4ArSoFThL5J3iFexbjshskMAzcIwyonrwEub0HYhRAGzsw5NTbKynb6OoOrhiTEFj2dwSsFfubA==","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=fFgaSbTXRqYXHh4gJSfJGn+OJUjBnRSEbclu0QgoRZBHGcPa8kWvaWPcHR6TThG+WeGeP6mfaStdAsbazA1EMdQMnuBIMErMeNR+z9uKSvtIkkYFI23NonSoSRVfcj/042SG1hhIBurOtGYGy3PYn1VfKmAXvgOqrA/8XhA9a/LBl/2gNXHrHWV5HuiPws3ZIPPt3V35OI6/tBwwYpKIy0wKxek2lluVzxzkaIWUsZh9f2ZI11ffIZZPUlmvLkI2IULZLiSleWmW6gwor4GjSoi8+OX3Jtt3yNhHR6BYU7fXCLioeaxcBr1unN4fJcFHh08UoWae80jhBFVbpm3UAQ=="],"ARC-Message-Signature":["i=3; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776100343; c=relaxed/simple;\n bh=PdZ+CAsgvHzJp/Wblj/N6tx114c5pocEJ8D/e5xdoNA=;\n h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:\n MIME-Version;\n b=hV147c3+ds2scN2y7T06JDTLP/3ajduBdQIxFNSlGHxCLE4bNIPYbmLBn+Cn3gzhXqyldY8sN17GyMij5gfqdz33WCKIgskCeDqAsWuX0Qxl8XJhesBAYU8XXaDzGIWQ5I+H5VpDRrWvs0A5ObtiLpZEB2ml6iGXBmXgf7vTh/E=","i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=PdZ+CAsgvHzJp/Wblj/N6tx114c5pocEJ8D/e5xdoNA=;\n b=rIMAt5aPLv6GJBIfNd3TNx0CK7Caec7XhPh/lkLktKYC2Ut/QlWQFGZq/Hmg2H/An5IF+k3lBNLy3SrkwKkzDmumvPbAhjBWMUEMzUcOd+mSOH/pocu2y1/vCuKcruZ/a9jDBd8b/GHjdh8HSdhZSQEO8ybS5NcaWsdC97vwRDs4d6ruTOzs0SsQen2pmCKwUwPdRTm3FVtYOzrT1Gm1qNlajixToha/i0nFBZ7guzmcI789BmKOnTOSj3h/Nf3XbDjhM1h+1VWTp49IYcXFPO6eoFnv7Oota2DJOvZRHi4uEO6RPBaDDJU3q70hBGa0woTDDsD80rZNJvYL08Y2OQ==","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=PdZ+CAsgvHzJp/Wblj/N6tx114c5pocEJ8D/e5xdoNA=;\n b=bb14LFVpfHMX7fJ/WQ0C43BB/F1ju5/onTXzTduMaJK9BTyQ6JHQA6FfNRQfwueRdfmmZVx4RGLfuDy/gBT1Yl7Wg6CjtluCPmSTclgDAib+1yL6TEHC6sUKb/0CkztC6HWOCe5+BplTgvE3QutBk6OhAqQVyEPHmUT9HVfqqTGdqlkIgA4yHPone5CUEX3DJhpNah0vAuagbznlzLmO9AyoHEBUEiqzsS9cPLUq7M0PIZZp9j5jbYXfDET1NZAMQlIXLRgViVw3g/2z7MgJ8mwV0xR8L4jr3fnrW+pdCyDT+RvH8OxBSDWaOZ/xvASeCqeG0zEpZw9OB16z47vr9w=="],"ARC-Authentication-Results":["i=3; server2.sourceware.org","i=2; mx.microsoft.com 1; spf=pass (sender ip is\n 4.158.2.129) smtp.rcpttodomain=huawei.com smtp.mailfrom=arm.com; dmarc=pass\n (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass\n (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1\n spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]\n dmarc=[1,1,header.from=arm.com])","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass\n header.d=arm.com; arc=none"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=PdZ+CAsgvHzJp/Wblj/N6tx114c5pocEJ8D/e5xdoNA=;\n b=sKpUv8gbiqZclWOlL147OnnLGFDBlPVFJIiEnHFlWqfh1xKLF0+bEPbQ9FbB6MsUIiMaqET+EBMYcb+CbOASEERhnCek5PgZKrAV6UYrZOrOaWFpaTsCS+zsE3uC7gYEtpCXiaRN3tMEtKtv6mDIiQC4WP/guxySJmsqi2daV/g=","v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=PdZ+CAsgvHzJp/Wblj/N6tx114c5pocEJ8D/e5xdoNA=;\n b=sKpUv8gbiqZclWOlL147OnnLGFDBlPVFJIiEnHFlWqfh1xKLF0+bEPbQ9FbB6MsUIiMaqET+EBMYcb+CbOASEERhnCek5PgZKrAV6UYrZOrOaWFpaTsCS+zsE3uC7gYEtpCXiaRN3tMEtKtv6mDIiQC4WP/guxySJmsqi2daV/g="],"X-MS-Exchange-Authentication-Results":"spf=pass (sender IP is 4.158.2.129)\n smtp.mailfrom=arm.com; dkim=pass (signature was verified)\n header.d=arm.com;dmarc=pass action=none header.from=arm.com;","Received-SPF":"Pass (protection.outlook.com: domain of arm.com designates\n 4.158.2.129 as permitted sender) receiver=protection.outlook.com;\n client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C","From":"Wilco Dijkstra <Wilco.Dijkstra@arm.com>","To":"Weihong Ye <yeweihong@huawei.com>, \"libc-alpha@sourceware.org\"\n <libc-alpha@sourceware.org>","CC":"\"weihong_ye@foxmail.com\" <weihong_ye@foxmail.com>, \"fanzhenhao@huawei.com\"\n <fanzhenhao@huawei.com>, \"liuyang645@huawei.com\" <liuyang645@huawei.com>","Subject":"Re: [PATCH] aarch64: Optimize memcmp for Kunpeng 950 with SVE","Thread-Topic":"[PATCH] aarch64: Optimize memcmp for Kunpeng 950 with SVE","Thread-Index":"AQHcy0JBQn3NNMvYQEaNhTfeSLXKIbXdLL7r","Date":"Mon, 13 Apr 2026 17:11:10 +0000","Message-ID":"\n <DB3PR08MB89868E518AAE9D348FB5256483242@DB3PR08MB8986.eurprd08.prod.outlook.com>","References":"<20260413123702.254-1-yeweihong@huawei.com>","In-Reply-To":"<20260413123702.254-1-yeweihong@huawei.com>","Accept-Language":"en-GB, en-US","Content-Language":"en-GB","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","msip_labels":"","Authentication-Results-Original":"dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=arm.com;","x-ms-traffictypediagnostic":"\n PAWPR08MB8982:EE_|PA1PR08MB11672:EE_|AMS0EPF000001AE:EE_|AM8PR08MB5699:EE_","X-MS-Office365-Filtering-Correlation-Id":"71f4bcb3-1a3f-4dfc-d3ed-08de997fceb7","x-checkrecipientrouted":"true","nodisclaimer":"true","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam-Untrusted":"BCL:0;\n ARA:13230040|376014|366016|1800799024|38070700021|56012099003|22082099003|18002099003;","X-Microsoft-Antispam-Message-Info-Original":"\n 2q+bcXPTgwHQoeC2Df5QsWpEV+F5cvmA3lUqfKoEdqmFBoi6gE1sdtbaN4Y2tp/XOsaQScJ6GBqPssvWAtJ5VzcN4dZKjBgf+AgD03OeXR4D6uIldpbreQOopLM7O8ShLdKkQyKyVVg1kiL7+FqUcdRxMBeZTSW3ELnmgjAluqhJcXPf/ykGX5vEaTBsLKenNXZrA9ccjSnPt6JynsCLjO9OCYGlStdYxZq1Evn1NxbgTas7ZlhVP8sZ/5QfB7qoDdGr9wTZNf0NQ8WQfQjtbs4hulBwJhFKf424qpDXEE3bBh2o7FiyznGjZaOFBh7G3OTs+lcOi3xzRyfQp2VmfnUD+zD3uP6ben5gUhCVJOVemvDldXuZWCL2HDql3PLIjSrLrCsnQNy/j2X113h9r3CscHOsn5dACxBj08LlY8Cvz5BNIM+gPRHlS+2HYygmTwzICBgya8HXEXzSxmGfghPsAKsQGnGbDECIk/tlSYeKKAH9CDyFqL+++dqSFAyecMJ+Y7hzB2hfHO3Ux7TWb0TXYDuu7xh8oNInwUfmKjFuoD9DKD3wuWt27HB7sL0JiA3f/fFn9M/Z44RsOkIuRjAJngkrF1J30UO9XWTw3ajSLFn4tLDUUZ+RiFUvaRh6GXvtRsDOFe2GOiWlq86y5UHc8i7EM49KdBq9ufQ7E3E+iwAGt5hgYB/yuJmps3HRCjMApXDB8XNiCCbsWIHUdhQm91uov7XY86hsPKM4/c5pNOJbBMStTjGNX0crUd7CoxsIVGIAQM3dnrTZUaBBhdrrjwBeyZtAOPGZsDi3vVI=","X-Forefront-Antispam-Report-Untrusted":"CIP:255.255.255.255; CTRY:; LANG:en;\n SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAWPR08MB8982.eurprd08.prod.outlook.com;\n PTR:; CAT:NONE;\n SFS:(13230040)(376014)(366016)(1800799024)(38070700021)(56012099003)(22082099003)(18002099003);\n DIR:OUT; SFP:1101;","Content-Type":"text/plain; charset=\"iso-8859-1\"","Content-Transfer-Encoding":"quoted-printable","MIME-Version":"1.0","X-Exchange-RoutingPolicyChecked":"\n Ll37bPRct2hvkHvkBbKkzu9SREucm5rhUi0kCHnQ6bn0SI5AcCjHF1PDu/kcnasBMUx30QVlCfoW6OuMQtVHYlczwmmH6otOeow+r7Gg9sJ0YU+iLxfMnPM9AF7G8WfyJzxemAmvaUFYj05IVs76SB3tTfiqk/3V2Bpquj4+qI5YgAzqqjVsqCRO7y7frtbcR+9lDUPvdvpou0cEHGRiRM5Ai96bffwv6OzT2BJZziaTGgR2HEzxYsINkV4qe5iiUIP67/DvYGwStigP5PWCoxKoaPbaGeMY9Q0YKme/gxX0aDGZ2XVoMQ5g+mLKq3vD0JT4GOFiYGIyUqOjsHy29g==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":["PA1PR08MB11672","AM8PR08MB5699"],"X-EOPAttributedMessage":"0","X-MS-Exchange-Transport-CrossTenantHeadersStripped":"\n AMS0EPF000001AE.eurprd05.prod.outlook.com","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id-Prvs":"\n d7c0d43e-b976-4ac8-7d2b-08de997fa8f6","X-Microsoft-Antispam":"BCL:0;\n ARA:13230040|1800799024|376014|36860700016|82310400026|14060799003|35042699022|56012099003|22082099003|18002099003;","X-Microsoft-Antispam-Message-Info":"\n DXjZh+F4HjN3KWVfRQr1XM8AZjIrv71aSwWlORTtIaDfYMFAtDc/qW2Aup/6Zcla+KZOfZSeKP8oKK6XvJ8hrwSEpMuapeQkdP3djpscf6nK2nLSGckEX9z+VVx2nQ5ywfGTaaVKdivCxpCkBw4+NwI5vL0rByf57o3KLXYEJqqIPV16ej76Vnx9DLJIJPaVFPpFEqIARHTgSBwkgnE5CntJ9g/K91vEDygS/ue3ELTlr5AG8oxBCwebsQJr+H1hqmptIONIBFRL2rwSMN0EVOGTY/ul4FCaOF1DeS0iV6lgd55py4JwPKgeSAzOdp729dJY8v58KfGqSd/LhJs7cJ3IFQ26hm35l5xMI7bZ+OMwfi3DiCynZ6E2gG0pH8BvMoO85ZlNNss0dFlr3KIVl4/9cOc5eDQt2H4LJbdrouTGfPWSDRs7lqYTEx3UiVuDVaj4NwZzIvwn+/gEWZOXyzHnBMvT9X0+0qD9+HssNHOusOnCETQpRFcVRz9xF+03GMePRS9ULhBJr8fpQceV2n887g+Ll+714NBJmFVOyhpjNWOoIhOvsUFKRzhzk7NFJ0Sk8IRuNXE3EU2wevnZF1IRkjdmJHpY0CAPVvTg5B3XpXsFJP1sesHhpYKzs/DV4cGyBSxl8TNg5c0bF50a+XjnHpIRH+cW9e82Wp8HTZMIcrGsU8468zlPv54YuOI926UjiBclfY+cLOiG3V+QCCTLcgKgSy8C4S2p3DCD8DrJmN4JxTFTfQbgQaiDsDepGo/OKMtweTMLH6iEguPFag==","X-Forefront-Antispam-Report":"CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com;\n PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230040)(1800799024)(376014)(36860700016)(82310400026)(14060799003)(35042699022)(56012099003)(22082099003)(18002099003);\n DIR:OUT; SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n Sn5PhQsfgV3JTxDkKrD7ycZ1a2rFfXYPKGJtSq/ffqdj7WStP1UGheQAhPuDwelB4h0m3wBTbj1gWSHzIZRDcid2KPnQjTT+90Fljaasp5gIpJhGnUN4YocJW1qOioqqJxKw7du+Ad5+IY98tAeG5jRssjmvqTYg0B0XNLl5qswxqRHS9uYP5q1Z7f+sLF35YIVeIKnHtb0mR8cx8Oilor9KIYRYix23I/fPwkvK6h1VaOE97lEqOOrIxIjXk7O3MLQm17Qr8hEtekT2nYK9rhjYs5EpTWuM+16mBUN5qbicXWEiQlVtIHOE6mFp57hYRqS9pa7NLedYKTXn/7F58iNq9K+Zs2BPsJ6hEQIuD/rG5Dy43UFZMQwS7WF82lkWkipuzNFCOsctSTJzo5FpkA54uJYtIwuqvIOxWdyw8UmkD+B/xgGROg+17cr/2sPR","X-OriginatorOrg":"arm.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"13 Apr 2026 17:12:14.0159 (UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 71f4bcb3-1a3f-4dfc-d3ed-08de997fceb7","X-MS-Exchange-CrossTenant-Id":"f34e5979-57d9-4aaa-ad4d-b122a662184d","X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp":"\n TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129];\n Helo=[outbound-uk1.az.dlp.m.darktrace.com]","X-MS-Exchange-CrossTenant-AuthSource":"\n AMS0EPF000001AE.eurprd05.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-BeenThere":"libc-alpha@sourceware.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Libc-alpha mailing list <libc-alpha.sourceware.org>","List-Unsubscribe":"<https://sourceware.org/mailman/options/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe>","List-Archive":"<https://sourceware.org/pipermail/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-request@sourceware.org?subject=help>","List-Subscribe":"<https://sourceware.org/mailman/listinfo/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=subscribe>","Errors-To":"libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org"}}]