From patchwork Tue Jun 3 19:51:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 893870 Delivered-To: patch@linaro.org Received: by 2002:adf:a2d4:0:b0:3a4:ee3f:8f15 with SMTP id t20csp486876wra; Tue, 3 Jun 2025 12:54:20 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCX2NGDpkskSwLI+OJ2KYlDXP7VPHDhrlvkFP5lBQn7UQ3ElKq3Ws+2cqcfMLZNbTDhnKL0hdQ==@linaro.org X-Google-Smtp-Source: AGHT+IFOh13+cTLd7cgkhjlsHsrxViBcBs3Q/ICDyOxSUZJbnG0tj86Kgi8V0Aerra5dXFxJ8FEf X-Received: by 2002:a05:6214:2401:b0:6fa:bb09:43d0 with SMTP id 6a1803df08f44-6faf7023e47mr255106d6.32.1748980460017; Tue, 03 Jun 2025 12:54:20 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1748980460; cv=pass; d=google.com; s=arc-20240605; b=XY98ZYpOImn/kS0/PN+MJmpsBrothySrVMiECW70DsHjKNHL6qcZk9y0k7hMs5K2+F no9f39Zbfv/E244ZTE20N8E4fxAWgmnjxU9C+95Hn3TaM+nkjgC/vuYR8DtxF/SneoOh kj168FU1Jd+rSXX+mkj3/Ydn/cGlryAD1/VFJBQ8ANulVranZZr+2UKsgGkv29mkNjl7 eNxfn10Wgyxmi5/9Nvp62Xyq7WETj33XR3p/tGTBmXCeJlx6BD052JH9oa5ZsvnWBhPn rkuHpkEOMmY/jrpYS0V2P43mAnjnOoxZy8tVjr/Ri+zOSkUpCfZ2vw/SNr5h0M7eECh4 MmmA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=mn7glYk59dLqn+sli2YSdbQOYJxaH9mk4Xi172KFcMk=; fh=7/RTOikOdpDhr80qQ1MnirR4MhHwp+iZ0OKvKkXmJzI=; b=feXNzJVRCE0llD+hNReOvwsnSI3HxJdMkHC/ElfkiYdqdC3KKLgbJ94NnUHAEiwrFt gCRtxcxBt35ryzFVrRaCS51KZ+kJuypex5jS+xVv6sZpKf8fTG9n1aRIq5kdPvzf/ars 9XOwlH6rTQ6Y3+ld/ykvwN2zGtDxmSS5qoDOf+0sHKvY87uUUErq8S4EbvV25yFvXVkE SaAzE2bHiNtHDPNPer2JjZFCiHJe4HLY11maasrh5gH+nsrqw7o/I8LBCusJ9cXjCcDN lH4X0Bn6hi8Jk3CwZUvG4r0GCPm0NJAYXIdmTMdu9sV01F99KjrJ3LQz26QQGqtlO+3+ 1dQQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=meG8NKKB; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id 6a1803df08f44-6fac6e8d73dsi126915096d6.350.2025.06.03.12.54.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 12:54:19 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@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=@linaro.org header.s=google header.b=meG8NKKB; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8EB71385800F for ; Tue, 3 Jun 2025 19:54:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8EB71385800F Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=meG8NKKB X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-vk1-xa32.google.com (mail-vk1-xa32.google.com [IPv6:2607:f8b0:4864:20::a32]) by sourceware.org (Postfix) with ESMTPS id EA9883858401 for ; Tue, 3 Jun 2025 19:53:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EA9883858401 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EA9883858401 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::a32 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1748980421; cv=none; b=u2+klDmCj1JFT4I9wsmLT0HzgVKHLzyuaIHQ+kywLvPyGHmnkiPduYHCnrR6treByAscSpUjuIxqIr4BAiFVwtVT7OJ0i4SjDfrdyNidY1HcGUhbYR3YuXHOolDtBp+LER5y5NOR42E3+g0qRKi31JLEwsJCuvn858W4d520M50= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1748980421; c=relaxed/simple; bh=QbO7okuCcMAlgkYOJQs81U41NqjAOk1SNNxuts0K4Nk=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=cHWVXRq0/SASgkctA/4cEq779T8PqorJedsrVnnGmtwGE1tiYjUXhG/kC26AqntMDIEM0I2eW+yEMtof8/y6L/bKscdHl2w1/l9cDSEPCKiYkW3KBSV4jBy+Rm+ssNp029VMrBKHogqKciH6Q/dGV6Y5U8l4yhjMMnUdSiKh6Bk= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EA9883858401 Received: by mail-vk1-xa32.google.com with SMTP id 71dfb90a1353d-530807a8691so1656619e0c.0 for ; Tue, 03 Jun 2025 12:53:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748980420; x=1749585220; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mn7glYk59dLqn+sli2YSdbQOYJxaH9mk4Xi172KFcMk=; b=meG8NKKB+h1V3RxXY2HNIb2SEG2tkhUtiV0fzOL3qz3gzRKdxRVRFrEOcTXnSGcnPq LLx8cMm3K/FXEjCjoF1HUOFEsZQLElUSy2Dl6hks9vyUPr9sRYEdhUUVPmu7EFnWUVaq N3nqOQoOSnVyqixkbgxJEQOx2NkhrHO4XnjxUQHY1coZOua8htBUjozG/9oSExOPK7Y1 77w95pyiBqgpBfKuho8/a4dlAm03pQ28nDhhQqlqY+rMUq6jkufWWbfczopnadi6OJhw PwblY7h23MKOkjhbKyHJxRcPs+VByr/SOjzCTeeMDh+haSVcE+BqPJSl60YSj9GJWrl2 wfQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748980420; x=1749585220; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mn7glYk59dLqn+sli2YSdbQOYJxaH9mk4Xi172KFcMk=; b=DD4GMOL0nmylx+r7KhtbEJA7y7J1YAO8mcZymkBkRBbv17cLWsMceyEU4bPOOlHoh3 lwbqL+tOAa1n7AjxcbHaAQ+FenG4WgforXv/mQBXYjYDH5Zj/28rsPtQkF7vHCKZ40Ik l/+qiSon1/3kZbBPLjL4ZSqnmpHcF5dPMDGM5NeqflEuPmsRZ9vrdTSohwXobkEl3Ghn fFhT/eVZHI/mKeJ3A4lQc9jPJlbYF0qGiBdHzktXMX21HXb6UDYzMJpXuJOvoc2PND05 0qqvWlC7vNzhJuZnJfa8VrynOfOKcBSno671acwtqtC35qZYzvo9YKtG05pAzf4yM+QR Rjwg== X-Gm-Message-State: AOJu0YycW6aGgRYL0blU+z0Aj88bvEIfDrpwz0hica+jIAwQ1rK0SNOV bsGlZwmCKTvPR3rqHVQUg8dY9G7xRiHBWzTFzN3cFed65db6/P+XrwPUQXcVxpVGAuD3ZWXrLg2 hliDV X-Gm-Gg: ASbGncvFuGnTV8IDAKL0F61VEe2s54yAUe38lh62tVmpFngA6Q3ZSrSg5M+pMwL4iJb yK0YYCiDr9UcMXwrgULpsegvmQT5QMIj9pdINhA0Qw0cPr4mcYBD6Qx1A+7r45pJsJvTYI/Di+4 NSI5AF0lt6jY8Cje4lPBen4qia/A30DqEmKlKNRCGpMIxlFnW8ajBzwZNuahtPSE1Ux9Dn9k9pZ uctXdLR4abL7bnu6yelF61pqQBbzmCNk2lnvPhzyrNadxVOgcaodKVVey9KlMabCTFqYKHB6aJm enYRolDbhzQqEOnWTZMzzp6Hl8Uwj95pqt3NJnz22iSNXA76sxxix0Br2PkIqa+C X-Received: by 2002:a05:6122:3c44:b0:530:6ec0:9428 with SMTP id 71dfb90a1353d-530c72a5d97mr284918e0c.5.1748980419721; Tue, 03 Jun 2025 12:53:39 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c2:8c5f:3b12:b58a:98b8:5b2f]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-53074aaf498sm9857566e0c.5.2025.06.03.12.53.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 12:53:39 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Carlos O'Donell , Andrew Pinski Subject: [PATCH 1/3] benchtests: Add IPv4 inet_ntop benchmark Date: Tue, 3 Jun 2025 16:51:52 -0300 Message-ID: <20250603195332.2822499-2-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603195332.2822499-1-adhemerval.zanella@linaro.org> References: <20250603195332.2822499-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org Random IP addresses in the full range. --- benchtests/Makefile | 5 + benchtests/inet_ntop_ipv4-inputs | 1003 ++++++++++++++++++++++++++++ benchtests/inet_ntop_ipv4-source.c | 10 + 3 files changed, 1018 insertions(+) create mode 100644 benchtests/inet_ntop_ipv4-inputs create mode 100644 benchtests/inet_ntop_ipv4-source.c diff --git a/benchtests/Makefile b/benchtests/Makefile index 5470be7f40..fd4ed5270c 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -159,6 +159,10 @@ bench-pthread := \ thread_create \ # bench-pthread +bench-resolv := \ + inet_ntop_ipv4 \ + # bench-resolv + LDLIBS-bench-pthread-mutex-lock += -lm LDLIBS-bench-pthread-mutex-trylock += -lm LDLIBS-bench-pthread-spin-lock += -lm @@ -418,6 +422,7 @@ ifeq (${BENCHSET},) bench := \ $(bench-math) \ $(bench-pthread) \ + $(bench-resolv) \ $(bench-string) \ # bench else diff --git a/benchtests/inet_ntop_ipv4-inputs b/benchtests/inet_ntop_ipv4-inputs new file mode 100644 index 0000000000..0ca5e20fa6 --- /dev/null +++ b/benchtests/inet_ntop_ipv4-inputs @@ -0,0 +1,1003 @@ +## args: uint32_t +## include-sources: inet_ntop_ipv4-source.c +## name: workload-ipv4-random +0xa5da31b5 +0xc0446e8b +0x784b9c08 +0xb576afa1 +0x02d2ea9f +0x4d82ba91 +0xd58a6a63 +0x931a078e +0x8da553ca +0xb995e341 +0xab1d3b82 +0x81b87ecf +0xcd80ca63 +0x2896ed22 +0x8f207762 +0x9f944467 +0x3938ee1f +0x248059e9 +0xf7333bf7 +0x711e3784 +0xe8becd9d +0x3a2c5b73 +0x52cdb591 +0x6de2770a +0x6d6019b1 +0x0cec9b4d +0x0314b741 +0x3b8dbc18 +0x70becb0f +0x1fbe2fa7 +0xbbf78a3c +0x31ad5bbe +0x5e4539a3 +0xf896555c +0xe76bcfb5 +0xf8763851 +0xc309adee +0x31abf300 +0xbba16c8e +0x587ec525 +0x7507757e +0xad7f20f3 +0x2e491154 +0xd1026261 +0x90d1bfe6 +0x21b62d60 +0x924edbc8 +0x06ded57e +0x6e44ee05 +0x4d946fcc +0x721b295c +0x18bb6572 +0xdf64dc6f +0x787912f1 +0x513254ae +0x9a187f07 +0xbd19260d +0x2d13f388 +0x72314a5e +0xd49d1fe6 +0x58a21afd +0x7265d9ad +0x0db1242f +0xda77990a +0x225dd3f2 +0x7086fbc3 +0xcfa53a4c +0xa95879e1 +0x1f22dcbf +0xf2f95ae5 +0x32e55e15 +0x619cc022 +0xcbbc5903 +0x823cdaef +0xbbc8e074 +0xd4b1abd1 +0xf4cc3b48 +0x54cadfc6 +0x7302fe22 +0x1866356d +0x9af0f3d4 +0x150d45b7 +0x68d16537 +0x6f9ccab6 +0x30b5aa34 +0xb36e4558 +0xdf464fec +0xfd553e8b +0xe2d2b424 +0x401c0d14 +0xfeb219be +0xe5503a5f +0xf723b07c +0x8f82f930 +0x91549eb0 +0xf15125b6 +0xfe746998 +0x5108da05 +0xc955eac0 +0x55132480 +0x6d476b2c +0xec40f154 +0x91023884 +0xe1a9b815 +0x354daf94 +0x3dfed7ea +0x2a4e8946 +0xcf9f3e6d +0xa8041a9f +0x4d116a0f +0x31485a57 +0x2986e38a +0x71c98c92 +0x95b1cf56 +0x02efa54a +0x21d60c27 +0xe1ff084f +0x9ea9d2a9 +0xa7a276fb +0xdd540e04 +0xef5a28de +0x959e2c45 +0x04e3297e +0x7f353413 +0x98255f00 +0x8fef4195 +0xd1cf2a83 +0xe01c79fa +0x8206c984 +0xa4d553b8 +0xb38cf863 +0xf9dc5da0 +0x740123a9 +0x469e28aa +0xa94d5c0e +0x099aefa6 +0x42f9ac05 +0xb5fa21a6 +0x605ba8b5 +0xd90eb999 +0xecaa6678 +0x876bd267 +0x584a9246 +0xe8bc8943 +0xba05331a +0x5a1f8d08 +0x599a1d30 +0xc953fbc2 +0xa62b1bf5 +0x92f13ea2 +0x5260c6a6 +0x6f737ee7 +0x97ed7cf4 +0x1bafedd7 +0xf1c6ba92 +0xc738233a +0x3c53e713 +0xc2c4f37e +0x8922083b +0xa699f915 +0x171a81f9 +0x9bd445c3 +0x582a213b +0x7f9e6a68 +0xef4f3873 +0x61b6b3fb +0xa1774a88 +0x5d142b71 +0xea8806dd +0x37414744 +0x77d3e9a5 +0xdc2806a5 +0xec47420e +0xaaf9388c +0xe8ae4a58 +0xd68d3d03 +0x803cae48 +0xfff158dd +0x0ab7b409 +0x3e1a797f +0xcaa56e9c +0xd3b4d996 +0xde20095e +0x2e6820a4 +0x40e3b4ba +0x038c5c95 +0x595bcab1 +0x25e23325 +0xb5debde0 +0xd95af591 +0x4750d367 +0xcaa82409 +0xbff0c5f8 +0x7ea63ac5 +0xacc6dce9 +0x08b1578e +0x31544ded +0xcbfaa140 +0xff149214 +0x29e4cdd9 +0x73277dba +0x8150630e +0xee66e89a +0xff71f280 +0x2744a947 +0x9d71d581 +0x50d74a61 +0xb3f4cdb0 +0x2591b7c9 +0xa9f246ac +0xaee36992 +0xa3777eca +0xf642ae36 +0x9873836b +0x0e9e0aa0 +0x1cb9a1ef +0xeb6670fd +0xe34ddf2b +0x40cf1014 +0x8f8d532c +0x2b1e2fec +0x658f6ef4 +0x9117db64 +0xd8ffc94a +0xbbce24da +0x259029d5 +0xfff5bdc7 +0xfb7359e2 +0xf09be114 +0xda873a2b +0x43ef9ca3 +0xafcfcce8 +0x4b14e050 +0xb7ef4c29 +0x2e8921fb +0x1dc912d9 +0x946fd27e +0xb6eb2bc3 +0x40ae2332 +0x373008ab +0x8d1f0f0c +0x1098cef6 +0x33dfa381 +0x6278717b +0x8cfbfdc0 +0x6e4fafb5 +0x3e107d03 +0x8b82d5d4 +0xb3c70294 +0x4f5dfaf4 +0x13f862a1 +0xc03845f1 +0xe1645e9f +0x620a157e +0x27a318c5 +0xc6a1fd96 +0x01043a6c +0xee82aebe +0x77f9bcc7 +0xb0d67169 +0x5106f72a +0xe1519086 +0x8e6d09c3 +0x2d35991b +0xad33888a +0xd281a2ce +0x70094cdc +0x09aee178 +0xb7a988d1 +0x7904d40a +0xd505cebd +0x5fc4744b +0xd68e7e6e +0x319c19db +0x2c20f498 +0x5eefe1ac +0x78107b15 +0x5d2c14a3 +0x8c352429 +0x98be10d6 +0x19fd3aa2 +0xdc151452 +0xd4f815ce +0x40f9d4d8 +0x70922d99 +0xf3bc698a +0x693e4c96 +0x5cd85948 +0x152565d9 +0x4673c6d2 +0xf26a8869 +0xeccdee1e +0x2558149c +0x32ed00cf +0xccc8c08a +0x6bb7e3ef +0xd48bb23a +0x11a7767a +0x94e3fc39 +0x142ab220 +0x495ef56b +0x5e0b1723 +0x7bf26602 +0xda933551 +0x3d9a9c93 +0x710a1aed +0x0f3dbe35 +0x1fadfb03 +0xc42ce7ce +0x34c4aac6 +0x422ea139 +0x9f37c92a +0x28e80d7e +0x7ac19552 +0x9b7c5bd2 +0x64ebdbf2 +0xdfcf3512 +0x1738765e +0xd813cc0a +0xf4d56f0e +0x18f4dea7 +0xad277bf3 +0xa8fb80e7 +0xfbcd2419 +0x21f193f9 +0x2e9aef5d +0x161cdc5b +0x517e55ed +0xb4cf6787 +0xc093cece +0xa50fdca8 +0x0d8950d9 +0xd1d37d33 +0x822508b9 +0x60a3c4c6 +0x374d271b +0xcea8f60e +0xf4c0ccaa +0x93affaab +0x234a8e2e +0xaf46d13e +0xbdbd788f +0x80c185d6 +0xade21b1f +0xa9bb3117 +0x5f1e204f +0x837b7278 +0xde83f661 +0x0e5a6d49 +0x06fdf305 +0xbad99c55 +0xf1c0b007 +0x6670d798 +0xaea379a9 +0xd2707d28 +0xf37ef4a8 +0x73e2534b +0xe49f4fca +0x91ad5854 +0x983540ce +0x3179618f +0xcb43e37d +0x1a60cc04 +0x9cb2b42c +0x5bc5d477 +0x298c8af2 +0x598fdb6e +0xead6ed6e +0x39264dc4 +0xbe2ded13 +0x9f75105a +0xa854b5a8 +0x489686a8 +0x9f10a548 +0x4af5eb0b +0x1c0d5f3d +0x979eb255 +0x0a998273 +0x96d9cdfb +0xb153737d +0x8b8197b5 +0xb0af9d15 +0x53beec22 +0x47267074 +0xee08fee3 +0xa58581ba +0x42c2d63d +0x48a5105e +0x4e1cb416 +0xb351b511 +0xf6da2304 +0x829f9f57 +0x06246258 +0xb78e2e76 +0xd7b3075e +0x39af4dd5 +0x4de2271c +0x2258853d +0xfe857499 +0xed16ca3c +0x51b77690 +0x91320d13 +0x8f7df385 +0x6563a1d8 +0xa9627f9f +0xab8453ba +0xf63b7678 +0xcbfc4991 +0x1ace8191 +0x4a341adf +0x1e40a45d +0x46d1807c +0x92505c89 +0x6855a1ad +0xa4fa9549 +0x1673a0a8 +0x6af29474 +0x760c8bc3 +0x48bc6521 +0xe871db92 +0x6fbcc444 +0x6dedbc0c +0xde2d7351 +0x22b8fc16 +0x323bd522 +0xb935bcf5 +0x931e43c0 +0xdffa2198 +0xc1d19b85 +0xf60500b4 +0xd094c23d +0xb7970257 +0x607f1b7d +0x97e2eecb +0x941fa489 +0xfae425c7 +0x64ffc9a3 +0x9482b9ba +0xb489d435 +0x349452df +0x5ffeec2d +0x32b3584c +0x3e548467 +0x530d9e32 +0x569353dd +0xf4747702 +0xd856bd4e +0x1bfc0426 +0x34e60c9b +0xfe485d81 +0x7b184ad1 +0x1d307393 +0x4d21f87d +0x492808a5 +0x9e857cbb +0x6197f915 +0x80bb7d6a +0x1aeb5dfb +0xc7d4c551 +0x6c039c4f +0x40f7c95e +0x01322b6e +0x35ee3d94 +0x399bfefc +0x03b71c31 +0xa135ba00 +0x22e7b8bf +0xd8e37293 +0x1ef10ddc +0x5c4f977f +0x32cbb232 +0x3746c6de +0x7d37f74b +0x2812718c +0xa7c4873c +0x8d8c7d79 +0x19007a1e +0x4c785e68 +0xfb4849b3 +0x4c73c0c2 +0xe5ca4a89 +0x563af045 +0x08e67f32 +0x1af10bc6 +0xcb1697b0 +0xe4855c82 +0xbcf70a5c +0x4bbec148 +0x7449d1c9 +0xe309b641 +0x72dab52e +0xd73bcd11 +0xa50619ce +0x9d13e90e +0x15196926 +0x87f387a0 +0x0360b492 +0xbec6a221 +0x9d4f153f +0x2ef40495 +0xa1fc8ec0 +0x3e7f36eb +0xe5bdecc0 +0x2567db2e +0x9e15fd71 +0xf9239150 +0xda4a4a28 +0xedb5b4b1 +0xb169302d +0x81d1bc0a +0xda01fc0f +0xd9523ad0 +0x75c995cd +0x4e7c5fd4 +0x1ccdacf4 +0x9e3409a6 +0xddb5f406 +0x39ae2258 +0x685eaef8 +0x27ec63ee +0xc76f84fb +0x0b1a116c +0x7fcabb8a +0xb6a1884b +0x7c7a8a41 +0x8c741a5d +0x6d61784e +0x6fefe2d7 +0xdefa0e7f +0xc8bf47d6 +0xd3972e7e +0xf9f55896 +0x665b924a +0x66f07987 +0x9a36fe39 +0xa52d6389 +0x985288c4 +0x776b1b14 +0x3b2b5df3 +0x8230278a +0x4e20943b +0xf194f3cd +0x1923ba51 +0x0c161e54 +0x273c499c +0x4893dfd1 +0x5d8d10c4 +0x912bccef +0x37b3b8f2 +0xc9259773 +0xce403126 +0xaf67e43c +0xb11526bb +0x8e00961f +0xd9309328 +0xf8fda5d4 +0x32cc9da3 +0x1ef0a26e +0x1c2a4a6f +0x40f252f5 +0x3c10be9f +0xa4700a26 +0x6c2bf2db +0xd6931843 +0x187457ca +0x8c447237 +0x9b01fc11 +0x2e98780d +0xa37b95e3 +0x22548e5f +0x564ef6a8 +0x392dd4b2 +0xbbcad1ff +0xa421f4ea +0xba9af4b6 +0x471cdbcc +0x4f1a388b +0x2f9ace06 +0x03921467 +0x9cbfb693 +0x814ddaa6 +0x503644f8 +0x8695c3be +0x61536ebb +0x60c00244 +0x38f853d7 +0x57cb8520 +0xcfd2f868 +0xbaee2187 +0x9da049a8 +0x1f174bcd +0x80e1d699 +0x14293276 +0xeb1a01b2 +0xaf04c079 +0xc2fd2db5 +0xdd55d0cc +0x0c6cc6ef +0xe13e3e22 +0xaad6f909 +0x69431d77 +0x614c55d5 +0xa8e99ef2 +0x5b69aae9 +0x1e793ce2 +0x33eac24f +0x834aa80f +0x243997d2 +0x85d08fd6 +0xe8bb04fb +0x400b12f7 +0x4ac67a29 +0xc8c04fc3 +0xcbf8ef42 +0x3bbee941 +0xd46ed2fd +0xdde37b5c +0x0d853dee +0xc94038f2 +0x8e573a21 +0x5e89e1db +0xe273ddf1 +0xfadea3ca +0xd2e51c7c +0x2983594f +0xe9db618a +0xbb38a3c9 +0xe4abd34b +0xfceacb94 +0x943aba94 +0x4f66eafd +0xe6c0dce6 +0x7be21d78 +0x74337a51 +0xb68da494 +0x436c8bb8 +0x1d09c81a +0xa62f5dda +0x1aec137b +0x2077e121 +0x352d8ed7 +0xa028eee9 +0x22813dfc +0xcdf67fa5 +0xfda12a9d +0x662d23dd +0x9f56ece2 +0xa8bb39f8 +0xf3f4ca31 +0xda299ddb +0xab321bc9 +0x79dce44b +0x4bf75128 +0xb1fa5c10 +0xac19c3ca +0xb2bd1cc7 +0x7bc86a3b +0xe0c00cdf +0xedbad3b3 +0x594f47ee +0x075ab899 +0xd3960dd8 +0xc8b0d906 +0x03b349af +0x1919a343 +0x104194ad +0xb20aa561 +0xc45fa6e5 +0x3466ff76 +0x2a0a5f54 +0x76653805 +0x98bc7f9c +0xe1139106 +0xa8389a71 +0x663cfff8 +0xd98cfad3 +0x8e17de21 +0x23f69152 +0x4b91dff2 +0x79ff012f +0x5922c1c1 +0x116e15e1 +0xe36c89c2 +0x8dd2b853 +0x387b2f8c +0xdbcbf47e +0x6bf70fb9 +0x816db883 +0xa426dc13 +0x9a880e96 +0x67d5583d +0xb3c12057 +0xdd0d22e3 +0x2fb43bbd +0x340614c8 +0x1e044117 +0x35fc3d6a +0x42fb3db4 +0xbd8ee31b +0xd905e1ba +0xe76fcf60 +0x261a3bf3 +0x08a5cdc0 +0x87dfba54 +0x374c0896 +0x9ef55ad4 +0x3a0614fe +0x8d3372b2 +0x717f8d95 +0x1255bd89 +0xce2ecb9e +0x877e33ab +0x66dd165d +0x0d6a31b2 +0x0846b0f3 +0x7a4f7992 +0xa946fdba +0xfe7bd234 +0x787ec7f8 +0x593d2c82 +0xeef4a314 +0xa5acac01 +0x215492a2 +0x734e2de7 +0x05ddf8c5 +0x4a751f93 +0x2fc22c6e +0x868492f4 +0x361f5df9 +0xe7882dae +0xb5521966 +0xecfd094d +0xade14805 +0xc6e74741 +0xe4334fac +0xc79ddde0 +0x29e0bad2 +0xc26da1e5 +0x2ceac45e +0x662dd065 +0xc7d732b6 +0xbedacf38 +0x7e178c0f +0x250f56e5 +0x6d3cae24 +0x7be42fb5 +0x2f0181ba +0xb07745f9 +0x36a363fc +0xe104fa08 +0x6c92c379 +0xc1dab0eb +0x012d850d +0x8b30ded3 +0x1ceb4f74 +0xc6474a0d +0x426b18a5 +0x8134b4b8 +0x9aba46a5 +0x0f615a99 +0xca2cb595 +0xde4ceaff +0xb07c55b0 +0x6b461b61 +0x77d47aec +0x713ccd15 +0x144f02a3 +0x98dbbec1 +0xd3cfa215 +0xe2be01d4 +0xa1e7612a +0x4f63223d +0x55a45013 +0x8d5f9526 +0x4f56252d +0xe79994f6 +0xc1d2f899 +0x43fc9cb1 +0x6e593540 +0x1c480d66 +0x29a45a98 +0x1c778b80 +0x2fe5748b +0xc42b1a8c +0x84d82db6 +0xe234d779 +0x53cc2d3d +0x2e0753ca +0xea7c29ee +0xd1baacdc +0x0881e994 +0xa96f5873 +0x3a540ab0 +0x644c0daa +0xfbed1c47 +0x0200b1bb +0x19f3d066 +0x4d4a21d9 +0xc659473f +0xb5afa485 +0xb1d92a44 +0x1ccffa38 +0xddadda5c +0xb8478606 +0x7726d254 +0xb9f51015 +0xf1ccf5d0 +0xe9e4324d +0x3330bacb +0x75eb08d2 +0x9daaaca2 +0x877da369 +0xd41b8d85 +0x5aa83ea8 +0xfce6f734 +0xac2d5035 +0x847a0468 +0x3df04c98 +0xde4ed62a +0x78a76589 +0x2b3215e7 +0x181f3a5e +0x610f0e99 +0x6b95e44c +0x990743d1 +0xb5ed2257 +0x3b516ec6 +0x71bc6e83 +0x447665fc +0x0c1d0de5 +0x66b2a479 +0xea2502aa +0xce222a1c +0x6974ee5c +0x74470d06 +0x1a208879 +0x107f95b1 +0xe5975ed3 +0x96928e1c +0x7fe84e1b +0xc85a6056 +0x4a005cfd +0xd7d97bb7 +0x9a23c5b0 +0xd0b7f4a9 +0xfd61a22a +0xf8107003 +0xec63357c +0xe89fc352 +0xabdfaf5e +0x7c161c96 +0x9ea703d6 +0x556ae863 +0x03695ff1 +0x5ba06bc4 +0x907dacbb +0xba297579 +0x983c7e47 +0xf1d3ce7e +0x9274a5ef +0xf4dae517 +0xc2d11106 +0x08323755 +0x585c7faa +0xa36d0de2 +0x35ec9280 +0x64709d92 +0x5100906a +0x7671dda5 +0x73f81121 +0xf28246e2 +0x08466cdf +0x537e6791 +0x13efc923 +0xe9d24e9d +0xd22fc0a4 +0xd59be5c9 +0xa3e52d63 +0x7464d9f3 +0x866e5618 +0xe75e46b6 +0x2cd15f24 +0x07494a14 +0x5b34be38 +0x2da10a27 +0x7b827711 +0xc2b8bdb8 +0x9f8deb86 +0x37b7e667 +0xc54692dd +0x44179846 +0xd326fad8 +0x71a9d932 +0x7b8f17fe +0x13d9ce59 +0x4a054101 +0xf866d958 +0xcd730d08 +0xb82ea973 +0x99800ca3 +0x44090dc0 +0x07272d2c +0xc577fad1 +0x81c656fb +0x543ebd82 +0x63d9f998 +0x41cad4d1 +0x5ec695a6 +0x6d2e8c4a +0x9d47a964 +0xe9e19be0 +0x87524147 +0x6d94b687 +0x28998c92 +0xd5222e46 +0xa06f762d +0x19f1b572 +0x7cbd4b3b +0x067f6470 +0xd2e4a695 +0x003c78df +0x274a4992 +0x7ff14a7f +0x4179cb9c +0x395eab4d +0xec0723cf +0x48e9197b +0x812fc24a +0x8b7e1a3d +0x7a65730d +0xcf036e17 +0x18437977 +0x1b45a0ca +0xdc52cc7b +0x7eec75bf +0xa19d3e46 +0x3ef0de98 +0x9004569b +0x2e8bc8b2 +0xba0d6d10 +0x1645bff8 +0x842bba26 +0x4661f344 +0x0ee549d6 +0xd09b8818 +0xac8d33e8 +0x553e4f3e +0x1d0f1368 +0x3135e79a +0x415d934e +0xa81d576a +0xb3828841 +0x6afed044 +0x5b9d934c +0xe13c6e07 +0xc9a2623c +0x900b7d1f +0x4dc8f0b7 +0x8af660e2 +0x942b98ec +0xc1c35ac5 +0x8bc17e39 +0x9da5b510 +0xaf90fff9 +0x890cb584 +0x4edb77a1 +0x200de01e +0x3b94fc5a +0x977a6bdd +0xed432809 +0x66d6f6b3 +0x3aee997f +0xe0dedca6 +0x0eba9d2c +0x2b77cd8b +0xc0a0387e +0x5a4288d0 +0x8e1a6748 +0x88152e2a +0x8922cc17 +0x3fc651d8 +0x0d7ad8cf +0x0f2ddbf6 +0xefe1d16f +0xab9bcacc +0x3f12fac8 +0xa7907925 +0xf2877b7c +0xdf86ae85 +0x2b10f4ad +0x1c66eccd +0x0ffe0460 +0x54b1d473 +0x4e0b1b78 +0xebf6a094 +0x210dd5a3 +0x02b08cd8 +0x04450c50 +0x6aa55f9a +0x1528b220 diff --git a/benchtests/inet_ntop_ipv4-source.c b/benchtests/inet_ntop_ipv4-source.c new file mode 100644 index 0000000000..c595c47b84 --- /dev/null +++ b/benchtests/inet_ntop_ipv4-source.c @@ -0,0 +1,10 @@ +#include +#include + +static void +inet_ntop_ipv4 (uint32_t addr) +{ + struct in_addr saddr = { .s_addr = addr }; + char dst[INET_ADDRSTRLEN]; + inet_ntop (AF_INET, &saddr, dst, sizeof dst); +} From patchwork Tue Jun 3 19:51:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 893873 Delivered-To: patch@linaro.org Received: by 2002:adf:a2d4:0:b0:3a4:ee3f:8f15 with SMTP id t20csp487979wra; Tue, 3 Jun 2025 12:58:05 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUqhvHrrxHEhJCf9mLPs07xwI9yqAmM99/XeHAwrNmSX9eTp0vvd/1gHEWN1Z97xOV1fFJZhA==@linaro.org X-Google-Smtp-Source: AGHT+IFSKUnJWw9vsxXYqxiHGcoM4NcURwhqy8iudSRHAKH2DFufUspDwj9CVVbCaU6k0ANkERC0 X-Received: by 2002:a05:622a:410d:b0:476:7199:4da1 with SMTP id d75a77b69052e-4a5a57f4e85mr2759611cf.46.1748980685242; Tue, 03 Jun 2025 12:58:05 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1748980685; cv=pass; d=google.com; s=arc-20240605; b=clUPoOA4hmg9Vl1WSJ0eYoPdizI1AajQZ1ms82xxC/I3iHENGMKsRR9QiRPDE1BTAz NBboKV2NDsonAmYzemRAtENHfZNuqq28FSIlyZl7HTyfOAsEPLYn8o8ffYXJr0xU246h OHJ7W2ffccpbubjjhnFV0u4kTQh2BCUfmMwBPrTi9dMWs+TsUvzFMQwVvXpX+82JXW6l /39YQ1mLyIf3UzysgTAtf8klIwj/xfQG4cbc4D4dwdpAnwaItT09bngucbue+w4TeRBw EbDHjxLuLF7rKS8FxRwV3lPHurxztHGzYnBtbAXFluz8PxYv5U606SydXxb/ujbLtmEc +mEg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=aO9EU6bsZCHKfBxGqob/KO4fqXNExioRsZj6q/YzKN8=; fh=7/RTOikOdpDhr80qQ1MnirR4MhHwp+iZ0OKvKkXmJzI=; b=d1AEI/oFO0pEGdErVn0jIfZgbTa0wgU6ZbvS4Bo9iCa9nVDbYllt9ggQkuMslXnGnV U7UVDZUVJaWApYrdX2PzEh4o8gsaD3N1LGNXBLn7igsnhedfmxqXJdzPltPzupAZcc9q AJLS9NiIGFRMusCB3bB1ox2R7UJwWOVBRhL4dYpoXyB5uRvpfScj+whVvMjkyTJgzgs3 xeVvIhisj/EFmfjbRlQhHZiZXoTTRB6TKeHmQbEnTDAbm9oR7L9KMXkGnkQgDBfkh0Vt 7vgyuJJ+0YKAq0sx3ncuneYJicReP7JMNKtrTShvrFuZ7r8gzt8uKome3VdS15MhT18f H/gw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=aOl9W3mK; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d75a77b69052e-4a435a9d07dsi130245611cf.629.2025.06.03.12.58.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 12:58:05 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@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=@linaro.org header.s=google header.b=aOl9W3mK; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BDD063858401 for ; Tue, 3 Jun 2025 19:58:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BDD063858401 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=aOl9W3mK X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-vk1-xa31.google.com (mail-vk1-xa31.google.com [IPv6:2607:f8b0:4864:20::a31]) by sourceware.org (Postfix) with ESMTPS id CBE103858D34 for ; Tue, 3 Jun 2025 19:53:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CBE103858D34 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CBE103858D34 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::a31 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1748980426; cv=none; b=FokU0O0Z1o5eRt7MUVF08JKoi5o/kuFKnDPhkHVNPyQtgBZHxmjyHSAhildBQskHejBsrLh3OhBs9Vmumsu8ZiReINJkg5RpGdDadiP6KmYEP+2ioTI9YPaGyYT1bUqOt78dPh9gpl/EvltnqITHNlW5m7d/n1yX18Upq1zKo2I= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1748980426; c=relaxed/simple; bh=3Bb3atSJDB6Pq4eb275Fz0OzwFtG1aykxFYAbuw3Mz4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=CXNfObauklddOsMROpXdNglHxW806luvJHKlVbwDl5IVzsxdOUIiXQtI/2oqU61hVmUiMOVt3rKwlvvYaRdEsSU7I3AL0ftSf11porsYpu1VY9ZmJNNiA6wQ+e27fA6NOeEiuJ8HLvvSKDTkTIEXQ9pVm66bZ8n4JKuQvWBcLS8= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CBE103858D34 Received: by mail-vk1-xa31.google.com with SMTP id 71dfb90a1353d-5240b014f47so2051865e0c.1 for ; Tue, 03 Jun 2025 12:53:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748980423; x=1749585223; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aO9EU6bsZCHKfBxGqob/KO4fqXNExioRsZj6q/YzKN8=; b=aOl9W3mKojH+BOZZiq6yFWDeQm8eIzzh9HOU5WeqqIThipaVjw9narLzpm1ogBQF3t Q7fxu80bjsIL/7bADyy6ekh9dJ5XXCMKHNc3VzO/b2WWlXJ0Jn6i1bj5pBTb7O0qSNJj fAahLkbHcc7O4vEJUjrJZdeWrjGtMShTUA59kB1m8zkuS16ljYdmEXHo6ZcR8MFro5LW Tb4x+HBUA7Qm7Gz8X4+FyJ7F/GIVnNlUwlPceVI99JSaSXlhkiIoj2RmRC6lJtvGcxU6 aHjEot4ArNmf915y009tRb6J9lqx1m/Hy/bnj6eiizwvF2QxKtyL2uIGtEyjlpG36zqH voUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748980423; x=1749585223; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aO9EU6bsZCHKfBxGqob/KO4fqXNExioRsZj6q/YzKN8=; b=tCUM61EwIWhl6buxChFzEiQwUchMmSt5oELIA1THicu7BLm4sEyYe5bmL8ffAEMcFd q5qjP7TiE5zlZEVir5KT5WKaqXVxm3yWmTMxWwTQF19xxISVCYhTQceCP21kXf4Sj5B7 qfv5u0dn/YT5Sr+SV1H8EUEhaPESwDyYbbL5ayLrzzSDMxPmz/3aMj+zSnGDqWmc5qyS 6M6zLNlAtT75WNfl8it0Na401IlSr7DgS/lGcZDzbXKQ2hadibFWkOjC6vN4Xwl9yf6/ IgK9w1Fw54uqiboYBUVVPa/Lt422A74xLwP6RJE3HIn7kUGe6vLVgGx+3HS0iXv2zJ/X wREw== X-Gm-Message-State: AOJu0Yw0HhG9ipUt1aeM+A668apFJo+0y2INLkjm29CS26TNsSojyGNS mzDvteyNjqQOrQzEqDqx9uwDKA67xRkPnv1Y8vJOEkVFqHKF5jdzW2ckO9SZJhXKnasbiHsLMc2 6DiFu X-Gm-Gg: ASbGncvwz6CXwX/BClnKvGjxyg6yv7qBMlq9XtDm+MDPCi0G8cVdHFwS0iEavtjI3Fb UEs4f3DfT+DA4GdZUPs/sNbi2TinhNKo01jHPKM1gXqlrIzKaBgGXmRpqLXZ4goAbUUAbFR0p8T qznuhe3u1u6CqJ6/R9d1tG6KnaLmDue8u+IrqJwrVqlzut/PU46MzpuhOxG3ZQ6b4tOSoe9E9LZ NCnuptT0ymdZpJouTZ1ujTS+l+SNLNCbpRHn22gVJorXZowDALufrDwAT/VdldyiJeZeiPqLl4i UABHsc43OOu3T/3pi7do7iWAKsvaXFacUrA7Oqakt+fH3NA7CCJOfnDoeBXy2VOs X-Received: by 2002:a05:6122:d99:b0:520:61ee:c815 with SMTP id 71dfb90a1353d-530c73f5f10mr258063e0c.10.1748980422307; Tue, 03 Jun 2025 12:53:42 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c2:8c5f:3b12:b58a:98b8:5b2f]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-53074aaf498sm9857566e0c.5.2025.06.03.12.53.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 12:53:41 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Carlos O'Donell , Andrew Pinski Subject: [PATCH 2/3] benchtests: Add IPv6 inet_ntop benchmark Date: Tue, 3 Jun 2025 16:51:53 -0300 Message-ID: <20250603195332.2822499-3-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603195332.2822499-1-adhemerval.zanella@linaro.org> References: <20250603195332.2822499-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org Random IP addresses in the full range. There is no extra workload to check the effectiveness '::' optimization for a set of 0-oct sets (although it would be a possible workload). --- benchtests/Makefile | 1 + benchtests/inet_ntop_ipv6-inputs | 1003 ++++++++++++++++++++++++++++ benchtests/inet_ntop_ipv6-source.c | 10 + 3 files changed, 1014 insertions(+) create mode 100644 benchtests/inet_ntop_ipv6-inputs create mode 100644 benchtests/inet_ntop_ipv6-source.c diff --git a/benchtests/Makefile b/benchtests/Makefile index fd4ed5270c..c2c97a7143 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -161,6 +161,7 @@ bench-pthread := \ bench-resolv := \ inet_ntop_ipv4 \ + inet_ntop_ipv6 \ # bench-resolv LDLIBS-bench-pthread-mutex-lock += -lm diff --git a/benchtests/inet_ntop_ipv6-inputs b/benchtests/inet_ntop_ipv6-inputs new file mode 100644 index 0000000000..69bb4db11f --- /dev/null +++ b/benchtests/inet_ntop_ipv6-inputs @@ -0,0 +1,1003 @@ +## args: uint32_t:uint32_t:uint32_t:uint32_t +## include-sources: inet_ntop_ipv6-source.c +## name: workload-ipv6-random +0xbd9f474b, 0xfde382d2, 0x16cb0b00, 0x9b234d91 +0xd12b7592, 0xe1f00174, 0xc99ea9f7, 0x204055b4 +0x2c9c4b4e, 0x408d34aa, 0xc325a53f, 0x456d5bcc +0xc3ee43a6, 0xa26fec15, 0xced19793, 0x24524e9f +0xa8a1b792, 0x3bd30523, 0x14026fee, 0x483a3515 +0x6325647a, 0x2a97e521, 0x81998a58, 0x2a1b68a9 +0xfd782a5a, 0x9d63cc77, 0x1c88d0b0, 0x890c6b7a +0x1a27c6a3, 0xdf20c28e, 0xd4b415e8, 0xc83097f2 +0x545c2260, 0x83162b50, 0xe1d7dc29, 0xe3defcee +0x2697cb3e, 0x6210c389, 0x1d47df5b, 0x3ac1df60 +0xe2f0e379, 0x23763a2c, 0x147abbf8, 0x7e443204 +0xf9b0565c, 0xe5b8fed7, 0xd6aefdb4, 0x33ea6a05 +0xa529fdde, 0xcf1763ce, 0x296954f1, 0xcb07ade5 +0x9df1742d, 0x589fd1b8, 0xeee576aa, 0x2dec41a2 +0xc345dad9, 0x8745413c, 0x7684a5d6, 0x19ab74bf +0x29d0331a, 0xbee93c3e, 0xd700c312, 0xfebee12d +0xd7780afd, 0x336e4c2, 0xcf2c8adb, 0xc6159eee +0x33ea087a, 0x36b335a0, 0x7b476c82, 0x4d4dce7c +0x5eb59b20, 0xeb76a509, 0xc56b34ad, 0x39d3f8e3 +0x63f36e8f, 0xd9bd4f4d, 0x39e11967, 0x90518f86 +0x1d3bc49, 0x84774417, 0x98abf06e, 0x1889248f +0x6013682, 0xbf4461db, 0xe46e22c5, 0xac7c9ab2 +0xe15186b9, 0x9f796e63, 0x8491e74c, 0x1b1f500c +0x8e37425e, 0xb77127b, 0xeb5f7c67, 0xb9988376 +0xafaef488, 0xfd9158fe, 0x34860785, 0xef4ced11 +0xc579a321, 0x6f756b01, 0x91c9df81, 0x8b64ff30 +0xde13a52a, 0xa3d16cc9, 0x29fa138d, 0xfb732cf5 +0xdffa214a, 0xdd75a993, 0x24d2348d, 0x14a7746c +0x6797d857, 0x23b0273a, 0xc4d67560, 0x570670af +0x21bdbdcf, 0x963f5e5e, 0xab40422b, 0xdb2404c2 +0x8c903d31, 0x2a0fb212, 0x966b5ee0, 0xd5c807f5 +0xd82db637, 0xf08fd78e, 0xb1fa360f, 0x2ab14dc9 +0x8f78bcfb, 0x2eec02dd, 0xd5adba4c, 0xa7f2e551 +0x71ba0ce4, 0xf90d91ec, 0x377698a5, 0x378d8603 +0xef081070, 0x7e5671c8, 0x35976da1, 0x1e47b84 +0xdea1b54b, 0x5739f249, 0xe8454d07, 0xb8fbca7a +0xd2a63fdd, 0x4766b033, 0xbe9735ce, 0xd0730cea +0x4af1f5c1, 0x1ff01d15, 0xd47a2722, 0x5cfa2046 +0xff9f9f75, 0xe1615e29, 0x66cd0d88, 0x676489f4 +0xaff6f421, 0xb6c759c8, 0x98e6510f, 0x59d1589e +0xf1e93cdf, 0xbf4a2c1, 0xabe705e9, 0x8c80551f +0x8a2be9ed, 0xfd0ee28a, 0xb380684c, 0x88dd45d7 +0xe9e953ea, 0xa3079df8, 0x15d96297, 0x9f974c0c +0xd8de9f0d, 0xc36905e8, 0xacd4463f, 0x5637f351 +0x1b829647, 0x8d2b0359, 0x3e5b4b90, 0x5405423c +0x2d6ef86b, 0x1f609aeb, 0xf0f6bb65, 0xefd9c43b +0x848dbfff, 0xe0f3531d, 0x2eefd0f6, 0xdbfe8663 +0x45dc79d3, 0x62dc551e, 0x811bcd3d, 0x3f8d9a6a +0x174a7cfe, 0xbc7528c, 0xc413699c, 0x5e4e6e7f +0x41c83bfe, 0x1bae5bc0, 0xbd36fcb3, 0xc710625f +0x9e936eeb, 0x5402cac2, 0xb3060f49, 0x2189610c +0x3e030d95, 0x5e5563c4, 0xd61e6929, 0x9962d7d8 +0xfa0ed0e1, 0x3e8dbfc6, 0x93f88980, 0x92936be8 +0x7d82dedd, 0x8921d7d5, 0xc530156a, 0xfe42f582 +0x606b6a95, 0x7f40d8cb, 0x3ffcecee, 0x4dc8071e +0x93f3e7c, 0xa252c16e, 0xf42fd5fb, 0x7457353f +0x54b57d5e, 0xdaf92c2b, 0xa8eafbab, 0xda96b806 +0x78f7954f, 0x5052ad7b, 0xeb6b2a76, 0xa5ece42a +0xa6b5135b, 0xf5d06b09, 0x2287772e, 0x9aeae6cd +0x7179ce31, 0x47ef279d, 0x729d7cf, 0xf400a519 +0x6b92425b, 0xedb7a264, 0x80d70fe2, 0xd2b68bae +0x391543dd, 0x89421cff, 0xfea7a70f, 0xdd4791c3 +0x3653b93d, 0x7f28269f, 0x29826fbe, 0x23e4ce30 +0x82e39307, 0x8bc31256, 0x15f53c16, 0xa060fedc +0xb552e1b2, 0xe99677ba, 0x48206f04, 0xecec5430 +0xb9881a63, 0x7b922a29, 0xaf22d00e, 0xbe610c +0x5307d975, 0x4894a67e, 0x75400f1b, 0x87a95c1b +0x1eeec7c0, 0xee7039e2, 0xfd23adaa, 0x82e64cb2 +0xf02e05ff, 0x69315980, 0xd2c5eb23, 0xcab646fd +0x3269d17c, 0xcd057acc, 0xfdcc308a, 0x8d33519 +0xa58b5939, 0x2830186f, 0xd489bdd7, 0xd90080d8 +0x70f19399, 0xdf4be38, 0xb7d369e7, 0xeec0feb4 +0xe1f76dd6, 0xe8736682, 0xa4333fde, 0xd9237fe7 +0xbe0b673b, 0xd2efdd82, 0x899568ae, 0x33f54e39 +0x4dbf00b9, 0xcd098c95, 0xdeda9125, 0x564be620 +0x1f46fc8c, 0x8a227b39, 0xc951aad2, 0xa55d79ee +0x8e3c6fcf, 0x71a48f78, 0xae687478, 0xbb19a553 +0xe6a00332, 0x3bae39d6, 0xc2272bd5, 0x927139fd +0x59ac6756, 0x131b13ad, 0x39042c49, 0x861e867e +0xad21777c, 0x2942f36b, 0x118aff9b, 0x1359a258 +0x44a835ac, 0x827cda6c, 0xc99b642c, 0x40836a8b +0xf8252dda, 0xcac33381, 0x26ec307c, 0x97a9c486 +0xa86dbf91, 0x3cbc222f, 0x167e91f7, 0x4607a81c +0xc31a9ac0, 0xb491d2ed, 0xd8452c37, 0xac26308 +0x34e5e9c8, 0x1f7dcf6, 0x26d0a40f, 0xf2455d40 +0x58ed7cdd, 0x8d09de09, 0x5791a5, 0xe7863f68 +0xd168ed25, 0x7d028913, 0xcbf4511a, 0x9e667bce +0x537c00c1, 0x9d79eb05, 0xb0af9027, 0xbb055470 +0xed3e65d2, 0x4419d2fd, 0xb4935ebd, 0xe914a01d +0xb6984616, 0x1ce5581d, 0x338850b4, 0x80ef6682 +0xd6605e62, 0x9603bf7e, 0xce7e6fc7, 0x7120a164 +0x33b9739e, 0x8c1ac2de, 0x84fd431c, 0xaad432a5 +0xc7ab0b0e, 0x7fd488d2, 0x81b8f65f, 0xb692f42c +0xb81a4739, 0xf2dd9ad5, 0xf9fce237, 0xa0347b58 +0x97d70f40, 0x285daec1, 0x8cf631b, 0x61a906ab +0x2a29c841, 0x97350602, 0x3e2705f4, 0xb1cc6dbf +0x53d3a7ed, 0x29d8c53b, 0x6434402c, 0xe3ba36b4 +0xb034bee8, 0xb88e6e87, 0xcf1a41d3, 0xb657588d +0xa50ba997, 0x2fe7ebc5, 0xbaf8ed10, 0xcab8b0f5 +0xacc211c7, 0xad6d796, 0xabb3b3c6, 0x1e5c437b +0xc76b1163, 0x91a642d9, 0xd211dfb6, 0x4e932d48 +0x8f6f788e, 0x266b94e0, 0xf632e05c, 0x68cdae60 +0x59d3d501, 0xb28c9817, 0xaba3f022, 0x1e4bd55e +0x24c2438a, 0x8aece7e6, 0xdec43ed7, 0x28354f13 +0xfb35a016, 0xac31c1e5, 0xd9a19e00, 0xbd7668f1 +0xdc170096, 0xe472d6a2, 0x4b672693, 0x331d711a +0x35ec6ad4, 0xea4a89e2, 0x37fc7bab, 0xf68baa15 +0x5403f8f2, 0xb37b2f00, 0xf23c3c41, 0xabd3d234 +0x16588c62, 0x4693398, 0xd2a4e935, 0xe91b160d +0x44daac94, 0x8a4fe8cd, 0x1041732e, 0x2d15e3e0 +0x379a33d6, 0x2cc3c03, 0x21207938, 0x172680a2 +0x9b186d0f, 0xc9925f50, 0x681b31d2, 0xb1ef2284 +0xe96a5bd3, 0x68188d73, 0x6f9318e8, 0x1d3f9ae3 +0xb7908d79, 0x19ca19e5, 0xc51cadfd, 0x9cdd65b2 +0x4ca8fe21, 0x67fd0155, 0x7b515e65, 0xd9bda1de +0x37f1d602, 0x67fd176a, 0x78986154, 0xbc7dd56c +0x78fe18c3, 0x5de1ce47, 0x661b953, 0x1779eaba +0x95a167be, 0x8af3177a, 0xb5f736b5, 0xdda134bc +0xdaac0b73, 0x36ad1710, 0xa2553bf1, 0x528a213c +0xbf633d66, 0xb9191ea5, 0x6978e517, 0x9b7f9cc4 +0x22910f46, 0x290b00b0, 0x17dce907, 0xcfeffbf +0x4ca4c531, 0xba1c5e27, 0x21b34182, 0xdfe22981 +0x9f4163b1, 0xd9079607, 0x19368fed, 0xfee01412 +0xe4b4335a, 0x90e57091, 0xd6621c03, 0x9f9167a +0x4a268d0d, 0xa2578f95, 0x8a2726ed, 0x2371ed6e +0xab7108c1, 0x7eda438d, 0x91c9e46f, 0x7bd4a534 +0x882a8c9, 0x5ee2ff0e, 0xfbdcb102, 0x626d1103 +0xae8f3624, 0xd0914fe1, 0xa5e054e3, 0x5fc4a6f5 +0xfcdd708e, 0x1898f392, 0xee49523, 0xb231c2ef +0xd8f7c223, 0xc0da65f2, 0xa39780c9, 0x7561692d +0x3566b893, 0xa6c69db4, 0x4fe06eaf, 0x8ac2d1ae +0x55ec082d, 0xc20a63b4, 0x47014dc2, 0x804efc5f +0x8f06317, 0x32fd3d78, 0xb5c59e6e, 0x6acd7921 +0x8a43ddb, 0x2b4098f2, 0x2f54c2b6, 0x47cfb71d +0xdf0b31f0, 0x53e6cea0, 0x5edb55eb, 0xb7fece2 +0x14615f59, 0x27b6f7a7, 0x91165128, 0xd33ebcb1 +0x68a2c8d4, 0x29ba37e5, 0xdcb4b3b2, 0x80fcd42f +0xf83e6f8d, 0x3816547c, 0x21d1e0e5, 0x7c28c98a +0x583a48b0, 0x1b57ca21, 0x8dfa36c, 0x255b515c +0xccf35afd, 0x6d844d83, 0x99110a94, 0x81fb6b1 +0x136af512, 0xaef76f2, 0xf4c2385e, 0xf179553e +0x9d537bbe, 0x9fce7be0, 0x68b424a8, 0xd97f9acf +0xce28efee, 0x104fac55, 0x9260b465, 0x89f37fee +0x8cb280af, 0xb015ace8, 0xb82853c9, 0x54165987 +0x3b6c1810, 0x5474a531, 0xbd1a3ffd, 0x8178c7b7 +0xff6736c1, 0x165fb1e4, 0x5b74d02c, 0x94dcdaf1 +0xb4a2a131, 0xc3027508, 0x771d3091, 0xce50e274 +0x3a3ed3bd, 0x8a4cb423, 0x18a4d743, 0x5fa3147c +0x1ab6a099, 0xaf14b761, 0x862d0c1, 0x8b81f350 +0x24a6f5ff, 0xcb53948, 0x8932f527, 0xe30c64a3 +0x7d002cf4, 0xf847abbe, 0xf00833e7, 0xb841ba1d +0x9b4895a3, 0xc601250, 0x62d0eef5, 0x79462b3c +0x25effcc6, 0x7868ffbe, 0x752eb87a, 0x7e2c7faa +0x9749ceeb, 0x72b92ae6, 0xebdaa22, 0x693b5056 +0xf884ffde, 0x85f908a1, 0xe5d88a30, 0xd7c83ded +0x5b6c0f4d, 0x78319ab, 0xaa2831cc, 0x150957ea +0xe2628ea7, 0x9dbfc0d5, 0x21438d50, 0xbcc50e2d +0x9b541ce1, 0x4448d3e8, 0x910f8834, 0x3fbe9987 +0xd80d397d, 0x926a9b78, 0x9a0c325b, 0xdea1b833 +0xb5725a2f, 0x56ba34b7, 0x870d4543, 0xc6c4d956 +0x78ea0b4c, 0x922e211a, 0x9f6bc0c0, 0x7a4ee798 +0xd1f14857, 0xed9d9ed9, 0xcf2d39f9, 0x2835a355 +0x3eb7a90d, 0x1df8e934, 0x44952424, 0x6e0f94b9 +0x73ab84b9, 0xc8874557, 0x19596bd7, 0x4b709955 +0xfac8a8af, 0xbefd1d16, 0x5a98a82a, 0x7c76d88 +0x434a2e96, 0x1bfd37e6, 0x4c7fa3bc, 0xeb182ac +0x22cf129c, 0x2330cc48, 0xf8188529, 0xacc3f851 +0x930c37ef, 0xdb90065b, 0xa3b15671, 0x351e5c8d +0x424e202b, 0xaed5a7f4, 0x4a504fb0, 0x8f969f84 +0xa482185a, 0xc4302500, 0x12ffa83f, 0x5f08425b +0xb2c64f59, 0xfc29c24b, 0x92b5ca02, 0xa803823c +0x18b8f646, 0xaa02f091, 0x2620d1f8, 0x9d805e86 +0xc018b81d, 0x4fbfa15c, 0xfc056a07, 0xa7b30d50 +0x76ac8cdb, 0x3e063aa3, 0xac239672, 0xd16764c0 +0x6d40c135, 0xc7302076, 0xa70201d6, 0x6991a045 +0x9eb61c4e, 0x8bf8dfd5, 0xcb636346, 0xdbaa0243 +0x29651df6, 0xfd9c3a0c, 0xa122089, 0xfd1df17 +0x33f3218b, 0xb4836cf6, 0x4a5e2ac8, 0x3c0f1f2d +0x879fb8d9, 0xf8c38cea, 0x5e95b279, 0xffae9fa3 +0x5d4516c4, 0xff353935, 0xf19dd00c, 0x4d810e66 +0xbbd67859, 0xde9a326f, 0x671f5622, 0xf5ef5600 +0x85c00b1e, 0xb39589b8, 0x1bd1d5f2, 0xab363d4e +0xee3fe8ea, 0x28d29a10, 0x17f51f68, 0x63ca9441 +0x859ce27f, 0x871bfcaf, 0xa5203c7b, 0x46175512 +0x32361523, 0x4c0e79f2, 0x29eda94, 0xa9840241 +0x8faeeabe, 0x8f3a9de9, 0xef643936, 0x9fa8f9be +0x35cc55f6, 0xcc7c7a0e, 0x297bb3e1, 0xdb5d4e03 +0x4d8dceb9, 0x70148563, 0x9b04da64, 0x5ffcf932 +0xed373548, 0x49a4e038, 0xc12c8311, 0x5f4a8b75 +0x89af58f2, 0xaa455a7b, 0x8911fc26, 0xc05e76bc +0xa9736f59, 0xcea9aee2, 0xf40afb52, 0x6e1bc405 +0xd62b5dd0, 0xfd335653, 0x2b2cd29d, 0x6f22cc7a +0x22ddde88, 0xc38ff07b, 0x426fec57, 0xacff773d +0xee681325, 0x1d9b52ae, 0x659a7f83, 0x60ba682c +0xccaae62b, 0x42eb5ef6, 0x1fa3b03e, 0x8cd9b22f +0x86b86b26, 0x11ee0672, 0x2d4e19e5, 0x8ab91734 +0x8ac4fc04, 0x7264e3c1, 0xaf855cc1, 0xab9c475c +0xa36db77f, 0xd4b4ee5c, 0x403fb29f, 0x6e1e42ec +0xda6e091d, 0x6cff1b43, 0xf99978b, 0x19a1c211 +0xb72886dc, 0x6d50fdac, 0x5afa580b, 0x11bae67e +0xc4c3d05d, 0x1f4b0cdb, 0xb68672b4, 0x3ef0f9a6 +0xd22573b5, 0x152d20a, 0x68f48ec, 0xe23ecbf9 +0x373bb124, 0x5b379993, 0x33be8e67, 0xf4f0793e +0xc75e1a8b, 0x17ea774, 0xa1967301, 0x9b088e66 +0x5220286, 0xfe0366a6, 0x7db08c47, 0x6af61d06 +0x5109ceb3, 0xc2a32347, 0x497daee2, 0x97240c78 +0xd762659, 0x569e6641, 0xfd0c5b5d, 0x1a0b4435 +0x92693f5d, 0x9ce42f0b, 0x4e789f53, 0x8c222a81 +0xee801ed3, 0xd94bcb2c, 0xb60b3b00, 0x7ebbc78d +0x51ed4a51, 0x5df7a9df, 0x2fb0116, 0x441a97f1 +0x6e7d2a9a, 0xb86f925e, 0xae49a7f5, 0xb4cd5e15 +0x1a81f24b, 0x1d497c6c, 0x76218902, 0x21709933 +0x2dd09b35, 0xf25ede10, 0x541fdd77, 0x62ff37b9 +0x3bf21978, 0xd74f1185, 0xbc8ac99f, 0xde71ad53 +0x71a5c8ed, 0x15208271, 0xb826e59a, 0x6bd8c57f +0x1ccbef2a, 0xf326371a, 0xe09fdff0, 0xb8dbad93 +0xc7dbbc2b, 0x6181becb, 0x565d6ff, 0xc34ee769 +0x1e6c149d, 0x30e30ef1, 0x1b39080c, 0xbdcf5405 +0xf116f011, 0x829eb8b3, 0x9b4829e7, 0x2a94ed53 +0x94e07aa1, 0x81aa2457, 0x6036cd55, 0x4c5e01fe +0xa92cfb5b, 0xfdcdf83d, 0x6cd312b1, 0x90835d34 +0x94951caa, 0xaec2995f, 0x4c7e050, 0x4a46a70f +0x415c9aea, 0x6d8f9225, 0x92c49240, 0x635c5e05 +0xb7da2084, 0xa4ceb6a4, 0x9ee53754, 0x9bac543d +0xbcb61a3d, 0x0a209f, 0xc5d14e96, 0x5aae6429 +0x97f39972, 0xdf98317e, 0x326e422c, 0x9b1c4e19 +0x26e7f90d, 0x592bb6b9, 0x5403ea9c, 0xadbdc615 +0x72771b77, 0x4b987a80, 0xc1c56e86, 0xa224efbd +0xb04ba885, 0x925a9646, 0x2d7d4ae7, 0x273cfc81 +0xb7f1d2da, 0xb223722, 0xe7688d04, 0xd1198c14 +0xd55a5f16, 0xb51512ff, 0xc68ef463, 0x79d319b6 +0x1b00a2ab, 0xbe6e3f07, 0xd594fe11, 0x3d2dd7c1 +0x28810f8a, 0x1da2d4ce, 0x4dbe7205, 0xc6431ff2 +0x3241aa6c, 0x381921ec, 0xc164cf03, 0x5dbfba8f +0xac494cf8, 0x5ed43eee, 0x8d843cf3, 0x7c87f04c +0xbc1b58c8, 0x851533d, 0x79534cdb, 0x9ff7c0e2 +0x2e5d6cd6, 0x888875ec, 0x1fad7a31, 0xbea0a42d +0xcf6fdaca, 0x140207c6, 0xcf0af10f, 0x71a69c42 +0xf95618c1, 0x74d1494f, 0xcf2d688f, 0xface6c1c +0x6e17f14c, 0xab9cb4e1, 0x5f0fc7ac, 0xf465c570 +0x943216e0, 0xde0e38ad, 0x729e69d1, 0x30b44c39 +0xfae0da2c, 0xa12956a1, 0xae7299d, 0xf1e2311b +0x7d81571, 0x4778ae4b, 0x62c30846, 0x34a88f69 +0xf03972bb, 0x4218a376, 0xf6762118, 0x23a2213 +0x79443a0a, 0x68f11b15, 0x98cf449b, 0x1d5d508a +0x27cd1d30, 0xf92063f0, 0xf71edb35, 0xe866dcb4 +0x7b9b9ef3, 0x61b0fc22, 0x2a728ee8, 0x3f2e7c3f +0xd3b77800, 0xbf34704c, 0xab77fd56, 0x664dd5bb +0x73a057a4, 0x1434a17, 0x12e1dfce, 0x4178e65 +0x111eda27, 0xb3abae02, 0xff7fea7e, 0x6d24abec +0x48e8a019, 0x73f257c4, 0x73d3269f, 0x56e6311d +0x3d10812f, 0x892f2de3, 0x2a16ca7a, 0x92e5d3fd +0xd5bef4c9, 0x6f5e4db1, 0xcd35c033, 0xbd78c72 +0xd5151606, 0xac129527, 0xe6bc7fd1, 0xa96d60d5 +0xb565de7f, 0x6c0ab1c5, 0x78a9e7e5, 0xcbe00dc5 +0xc87c3032, 0xc43df43e, 0x8ea6fca6, 0x61aefa28 +0x96b80947, 0x74133fe1, 0x26404df6, 0xd764d917 +0xf098a512, 0x24194cfb, 0xdde22f8b, 0xd269ef5c +0x3f967fa8, 0x5d9483cf, 0x70923734, 0x4f2b73b4 +0xf664a529, 0x229fd71c, 0x92bf87a2, 0x5d1532fd +0xabe3b5ae, 0x75fb5f67, 0x7312feb6, 0x16cdd974 +0x8e62b5a8, 0x7054d0d2, 0x2ed032e8, 0xc91147eb +0x7dbddc71, 0x6f095c1c, 0x98a48983, 0x6b1aed1 +0xa6d6ae3c, 0x20f4888d, 0xa2ff7321, 0x4ccde447 +0x92a0955b, 0xc62db688, 0xfa7591f1, 0x19a8c001 +0x559b18b7, 0x6fe12e2c, 0x18bdf657, 0x79398635 +0xea30633f, 0x207f6d0f, 0x5be67f32, 0x335c9d3f +0x9ba6347f, 0xebfb5673, 0x63ddf16e, 0x6f134ae2 +0xbfefb776, 0xa4617d14, 0x9c7411a4, 0x291dcf08 +0x1954aed9, 0xe3c7925c, 0x41374a00, 0xa7cc2832 +0xdd54629f, 0xab81b50c, 0x7ab1cbd, 0xea8dab11 +0xe6f93c8d, 0xcbab4f09, 0x8f1fe8fe, 0xee01ede6 +0x85267e8c, 0x61e5330b, 0x12542982, 0xfdf1f303 +0x42095d4a, 0xeb3fca7, 0xa93cdc56, 0x400469eb +0x444c470e, 0x89852958, 0x51e0c508, 0x295262df +0xcc722bb9, 0xb541f8c8, 0x864aeae0, 0x414761f0 +0x4ad9af72, 0x87496bbb, 0xec3ca2ef, 0x5f4aa9ce +0xd17c3608, 0x56e1c14a, 0xdf73a8fd, 0xd13d97b0 +0x83a853a6, 0xfac6f300, 0x25db14f4, 0xfb598c90 +0xf5d53667, 0x931bc23a, 0xcd3e2bd6, 0xe05a1ba6 +0xf6d2e4ea, 0xd477bec2, 0xf658d119, 0xf61bbcd8 +0x536f644, 0x4818a8aa, 0xc54e4e71, 0xfbaf1a18 +0x93b1aee6, 0xa1877c6c, 0xb183713b, 0xfbdcd409 +0x6ccf822b, 0xfe8dba32, 0x47e13049, 0xbf27c3bf +0xd54e9fa6, 0x86e31082, 0xac5623d0, 0xee5295c5 +0xe9eea95, 0x4d8a5a85, 0x1b8174d4, 0xcb92e7a7 +0x7f04f54, 0xdb481c2e, 0x831271d0, 0xc5eb0011 +0x20c55390, 0x48cbac3a, 0xf44f45f7, 0x7438e130 +0x38ee02cd, 0x33037bfb, 0xb52f2088, 0x9ea5417a +0x26fd4ec1, 0xee9abe8, 0xe17dfcca, 0x9b000fa5 +0xa6db8a79, 0x638473d5, 0xed3099bb, 0x57e43a3a +0x246a9aad, 0x8b19abeb, 0x24686a81, 0x7d50e9ad +0x9ef9fddb, 0x454c0453, 0xee2a77d4, 0x93df806 +0xb054473, 0x545b98c4, 0xfa2b2b06, 0x2795e22b +0xffb13319, 0x3b996846, 0xa7d1055a, 0x6e95d991 +0x75ec8fb8, 0x1493fc08, 0x9d8b575f, 0x1222e6a5 +0x6e630ffa, 0x2030561d, 0xe9c32ea9, 0x7ce66f69 +0xa9b0fac2, 0xe67087a1, 0xaa024d95, 0xbc5069fb +0xffed84b3, 0xb64d86c0, 0x7a6a0cf9, 0xbd412ad6 +0xc17356ff, 0x613ab3d0, 0x5e419312, 0x5f709785 +0xe94340a, 0x3d1f175f, 0x909de22, 0x7179f889 +0xb622ca58, 0x56f6dd64, 0xdde7bb8e, 0x7b226847 +0x8b9ef8f2, 0x9248d402, 0x334efa8e, 0x6ce56c7c +0x258a8a74, 0x1a50b2d5, 0x18d54442, 0x93413627 +0x7cad27f8, 0x8c4d5cfd, 0x7f16827c, 0xa53429ea +0xc70adff7, 0x9107390b, 0xd514595c, 0x6b3c653c +0xd1d6e0c3, 0xc75e6b, 0x6235436e, 0xb170bb87 +0xf45dfbc2, 0x449b602d, 0x9edc60e5, 0x69e5f6c5 +0xd1a153c, 0x85a20a06, 0xce6c09c6, 0xcea3be9b +0x170ad880, 0x4ff7a04c, 0x114bfe90, 0x45020f3c +0x4e816cac, 0x9aaebdbf, 0x6841a418, 0x3b4f2a +0x21111e66, 0xfa694e3f, 0x38d36514, 0xa2b85c5c +0x5eb19889, 0x50309cca, 0x3b56ec51, 0xc1150cb6 +0x4d7b6c46, 0xa8388593, 0x61bbe7c, 0x9469413 +0x7069abdf, 0x7447eec7, 0x31e881f8, 0x47eb26ce +0xa5ca1c5d, 0x86ab4db3, 0x3e1a024b, 0x884338d2 +0x9a2cbfb8, 0x8e69e2d3, 0xf74fd167, 0xf1c6e0bb +0x87f709f2, 0x6c55a5b7, 0x9b66affb, 0xf0368424 +0xb8da8554, 0x1d1d1192, 0xa7670222, 0x4f9e2810 +0xfc979ec0, 0x2b3a53e4, 0x830b8a3b, 0xc8feae4 +0x4f35d720, 0x53a03130, 0x703fb44e, 0xe6868670 +0x31cf77bc, 0xed1591f1, 0xfad8785d, 0x29b07623 +0xefa3e4, 0x8ec2e79f, 0xc7f03877, 0xc5b72848 +0x16d2753b, 0x3c9609a9, 0x3bac122f, 0xb2350a47 +0x1e3c482b, 0xe7eeb7f0, 0xac621c4e, 0x4e6acf2a +0x85787e54, 0xa1063df1, 0x21a5a3aa, 0x769ffcdf +0x68f13e71, 0x79a16ffb, 0x1f50deb, 0xc6300472 +0xab2efc6f, 0x3112b462, 0x452ec58a, 0x8683445e +0xf5b09516, 0xc64411ab, 0x1ef2bbcd, 0x575c5eaa +0xd7264caa, 0xdc3c4d6c, 0xbf699ae0, 0x315cc36 +0x20c0462f, 0xcfe50122, 0x3dfe83c5, 0xc16af63f +0x188cce06, 0x81bc3c50, 0xdb2f4c54, 0x63e0e74 +0xd9484cf6, 0xf045126c, 0x5ff590ed, 0xd868b5ec +0x97a4815, 0xa45b4c50, 0x3843f6a, 0x89c37471 +0xef5402ca, 0xfcb3d2aa, 0xe84ad9c9, 0xf0b85fa1 +0x23f7af79, 0xcc77e06a, 0x4da81f, 0xbc9f2663 +0x43fea4a7, 0x689d2945, 0x83f41f79, 0x2671dc75 +0xd117cd3d, 0x67568810, 0x5060de47, 0x3717bf77 +0xf24f1264, 0x8e93d48c, 0x4d8c7d09, 0xa54386d6 +0x18a0c4d1, 0xfbd0d0bf, 0x9f2a6abf, 0x842fdd44 +0xa0a351c8, 0x524874fa, 0x5b7833f1, 0x6a3ea190 +0x8a8d654a, 0x2f1acefd, 0x8426203b, 0x844be522 +0xb12df02d, 0x27fbead5, 0x4a849bc1, 0xca70e659 +0xb5bec7e9, 0xbc1cdc48, 0x390e590e, 0x92c5d952 +0x83a206c1, 0xf2bd4966, 0x1c5ebcba, 0x491072f7 +0xb641da5e, 0x92420bab, 0x50e58c36, 0x92c5a00d +0xfb00dd7f, 0xc7c4824c, 0xf3486fff, 0x6387ceca +0x67d2a38f, 0x584e1806, 0x3c2ef2d8, 0xb1617930 +0x50c58c19, 0xae4b5226, 0x6bfd4287, 0xe3aafb10 +0xd8be2c82, 0x1c566179, 0xa5b0eba4, 0xa76fb0e0 +0x3fbd341b, 0x7fb87140, 0x16c542b3, 0x7ecf1602 +0xa5f66e99, 0xf08b3457, 0xee22d2b8, 0xe291c87d +0x4c9fc1a7, 0xb359af7b, 0xd60578f8, 0x63597f2f +0x704453f8, 0xeadf0e6f, 0x342b292f, 0x16e37e1c +0x7415eb4f, 0xdc687630, 0xd73b7814, 0x338172ea +0x15e9e155, 0x44a82953, 0x6d206bc6, 0xc0b3df79 +0xe29aa3b5, 0x7585d329, 0xb3eb0667, 0x979bfcd7 +0xcad4834b, 0xf5853466, 0xb193ec88, 0x7f6d1efe +0xae1da438, 0x683f22f5, 0x7f9d9ea0, 0x59be8cd4 +0xee0ff046, 0xa1817fc6, 0x3c7a0509, 0xa4750f25 +0x2e158f9e, 0xfdea8911, 0xfc49b7b1, 0xe3a0244a +0x10fdabe6, 0x56a75b0e, 0xa817a773, 0x82a74857 +0xa336a0bd, 0xb3cf7765, 0xe4c4ea59, 0xb18124f5 +0x1efb517d, 0x8f0a2f07, 0xbd5c2941, 0x1dde7a92 +0xccc1e104, 0xefb60237, 0x15a283b, 0xe6b68842 +0x5d1c1eb1, 0xaaa1f821, 0x7663ce10, 0x1d2523c9 +0x7dec96e1, 0x2183d818, 0xaa2398e, 0x2919d1d +0x3c5d641c, 0xfa9ebf23, 0xe9fa442d, 0x29c16432 +0xe200edef, 0x32fd4aee, 0xe90c98b2, 0x61f9fd99 +0xd0c5ee15, 0xee86a73b, 0xa46ec94f, 0xcc37521e +0xbd037a48, 0x42415b2a, 0x48b0abea, 0xb6b26a65 +0x89a555df, 0xe47212b5, 0x81904a8b, 0xaea08d29 +0x2923bdc4, 0xde18ce6, 0x1d201ad7, 0x5acc12ca +0xa527ac6d, 0xe1a1633d, 0xcff60f0c, 0xdb5cb8bb +0x152227a9, 0x9b4a1063, 0xbea64cb2, 0x29cc049 +0x64caf5f0, 0xabc03fa7, 0x5d8ee8e9, 0xdb35bba0 +0x85321f08, 0x94c14a4b, 0xc7cef4f7, 0x448bdd81 +0x7b97aec3, 0x95f405cc, 0xeb78ba40, 0x926e174a +0xbaee835, 0xa21d612, 0x17a6bf8, 0xa0ccd1d5 +0x7a6ad0be, 0x7e3c527b, 0x7193dce3, 0x21052646 +0x253e1acd, 0x12b90a52, 0x681df045, 0xa5814c4a +0x678165ee, 0xe3a22525, 0x28bddfd, 0x9868831 +0x1b5fdfde, 0xa72318c5, 0x6da08564, 0xff3ae0f6 +0xf3a9b583, 0x7b68a1f7, 0x221713e1, 0xc951f632 +0x3eabdae4, 0x61bc0072, 0x25644780, 0x73b1fa7 +0xccb2a42a, 0xaa13f91a, 0x82297617, 0x3a1952c5 +0x39c8874c, 0xc93940dd, 0x570c2a51, 0xd0a7c58a +0x12671b0c, 0x119c652e, 0x9ebe2d0f, 0x123f771 +0x1133cd69, 0x492800e0, 0xf2d5bcff, 0x17d9485 +0x5c3bd606, 0xda319ab1, 0xc22d1d8d, 0xaa36abb3 +0x82f0f0de, 0xb138788c, 0x423d9ff, 0xea2f1cba +0xdd9b1a34, 0x39859074, 0xd1a6c1a9, 0x57d17190 +0x1bcd5aaa, 0x28fd685e, 0x6853c29b, 0xb678dc47 +0x80f2f6f4, 0x6fe0545a, 0x22cd60c6, 0x6209d7b0 +0xd27a33a6, 0xb172cfe8, 0x261e4eeb, 0x7e41010a +0xa1a1448a, 0x427d7a4b, 0x24ccb788, 0xd9974123 +0xf8376f5, 0x93b80ea0, 0xb68db9f, 0x43d63e5f +0x7a310c18, 0xa080d19d, 0x978235c7, 0xb39fb5c4 +0xa3a1f759, 0x3bb2ba25, 0x2af86a26, 0x7499be13 +0x48740187, 0x331c8aa5, 0x12c0c47b, 0x5b40dabb +0xbf743446, 0xadc9e56b, 0x18c9d036, 0x27b3602d +0x680b2d17, 0x5e8a36bf, 0x1d2dc8a7, 0xb5aeeaa6 +0xb3e36064, 0xa7ee3b87, 0xd6682095, 0x67f7903d +0x44fb184a, 0xaab407cc, 0x55932d5b, 0xd8862db5 +0xafbb6451, 0x1a294b62, 0x635f0746, 0xf86f044a +0x549940af, 0x194d29f2, 0x483180e4, 0xe6ba52d2 +0x41391fbe, 0x721caef3, 0x83a58280, 0xaf476fd0 +0xa9583df, 0xcb130879, 0x6a136cde, 0x547f8ee1 +0x3662e217, 0x3acd43bc, 0xe7b90fb4, 0xbdd2c9dc +0xaca2df54, 0x3b0e7d05, 0x1a1b30f1, 0x391824f5 +0x7186b953, 0x52bb48e5, 0x739bc0d5, 0xc032ee10 +0xb3cd3648, 0xe38b7b7f, 0x6a21f02a, 0xb4081250 +0x6c00ab4b, 0xace9cc7, 0xc4dd4ccc, 0xc56e7e9b +0x8bc33d9, 0x16f43f99, 0x7d738f47, 0xbd094293 +0xf18882f9, 0x98cb621f, 0x8f258f53, 0xe9a600c7 +0x22314622, 0x22ecec73, 0x3197bd4b, 0x82197168 +0x5af8c454, 0x150762ef, 0x3348d549, 0x451f070d +0x9d93e6ac, 0x9b2ee7c6, 0xee59d423, 0xde563c43 +0x76d15035, 0x1b1fb4e4, 0x61c8da72, 0xae4a752f +0xe2a90f64, 0xfcc3f15e, 0x4c4d6875, 0xe1e76a83 +0x71fb66b3, 0x33458471, 0x72fdefe6, 0x6535cc98 +0x787bc82e, 0x1938ca1f, 0xd2547587, 0x35edb1dd +0x699deb2f, 0x6a6aad37, 0xae933fd0, 0x5f5d67cf +0xec564cf, 0x865aaa3c, 0xc1c94cd8, 0xe6219f85 +0x1528fa81, 0xd37388da, 0xbdb10700, 0xdd2e422b +0xcc95a962, 0x961c1b10, 0x63a078e6, 0x440f9142 +0x35d2abb, 0x88643926, 0xf2b22caf, 0xf82b855b +0x7ef9677c, 0x3c913f3e, 0x19cbb308, 0xdb1aea9b +0xe0cedaa3, 0x8c72eff1, 0x66a0b19f, 0x660d78eb +0xb0523ccf, 0x2d059cdb, 0x1bac46e7, 0x8504aa2b +0x80759294, 0x33add1eb, 0x1307be28, 0x32b02b5f +0x30eeb446, 0xd2756ebf, 0x6110fd73, 0x1a2290e1 +0x9af17bd6, 0x518adf18, 0xaa37fdee, 0x34d90799 +0xe5fd80fd, 0xa3529f49, 0xda58760a, 0xf52db54 +0x1c010d29, 0x62f8a328, 0x413c3e74, 0x70a2a15 +0xbab6e100, 0x4edca554, 0x7e5d9ba9, 0xa9f4dd76 +0x7fc0c22b, 0x94ec923b, 0xf3ed87d3, 0xe792e4eb +0xeca64183, 0x6460844b, 0x4fbaf87d, 0x50ac78e9 +0xdb7f751d, 0x26840e93, 0xddb0208a, 0xde9e6622 +0xe9618ddd, 0x5ceb80e7, 0x4ec9f278, 0x9f81e6b3 +0xb9429029, 0x7c9f1161, 0xd3514693, 0xb98d167d +0xd41d8560, 0x32b1f66f, 0x628dc9e2, 0x63f755e6 +0x7f1f316e, 0x333537da, 0xef3487fb, 0x5d987bc8 +0xb1fe81e8, 0x811f4fee, 0xc5b5463, 0x3a78ffb9 +0x946610c, 0x5c09df, 0x490542d1, 0x528ff6f0 +0xdf32e5cf, 0x29e1b871, 0x2feef2d3, 0x120890e4 +0x697b1bb0, 0x24f06881, 0xa1aeee74, 0x4e9f1297 +0x948fdc37, 0xd5f44dce, 0xf904aa05, 0x635334bd +0x50bc15f3, 0x40f3031a, 0x4265b999, 0xe5bc3fa6 +0xd1993127, 0xda60d098, 0xc4f94480, 0x9c9abf9d +0xc49b309d, 0x45c1139b, 0x47e2237, 0x5b539d04 +0x3d1f8c2c, 0xcbc1358b, 0x566e861e, 0xf0cf1729 +0xc76b5046, 0xe316cd1b, 0x9ce7a91e, 0x208de9a8 +0x8028ad53, 0x9e7b7d58, 0xb810ef50, 0xf0e5a309 +0xb147a1cc, 0xf06f1dcd, 0xcd4e4933, 0x277fb8b6 +0x77f89978, 0x41809239, 0x8015f75c, 0xb75f6c5a +0x148ade05, 0x73e9ff48, 0xc93eccc6, 0xb87ee725 +0xdd24897c, 0xbafd2300, 0x55d34632, 0xfb6b4185 +0x8da25e3d, 0x422f9109, 0xe4dd3418, 0xc5cb79e5 +0xb8fe5623, 0x134f8d27, 0x9ea5ef9b, 0x96547101 +0x61662606, 0x2309e728, 0x5975045a, 0xd3912101 +0xc3f77679, 0xd2db396b, 0x171889e7, 0xebb728bf +0x54f08130, 0x2fc6b961, 0xadd98a6e, 0x989d0ab4 +0x570eaabb, 0x5b0816cb, 0x3c25451f, 0x41dc86b0 +0x519eb7a4, 0xe0adb356, 0xd6d80411, 0x3e8a0b45 +0x8c2d2ed5, 0xc0411ee2, 0xef431a0f, 0x8b66fd6a +0x2e61a59d, 0xf411d477, 0x32011de8, 0xa1460ef2 +0x8f211bd8, 0xc06811b9, 0x6b951749, 0x3ba6ba80 +0x12c032ce, 0xaa0b9062, 0xb87346be, 0x642b52cd +0xdc426ea3, 0x730ec245, 0x64bad806, 0xee165598 +0x1912b00b, 0x3c4a6c01, 0x5ce6793b, 0x18bccbe3 +0x4718c7a7, 0x10142a70, 0xd8e2643e, 0x8f594d21 +0x8af05690, 0xae2094b5, 0x1fafdda9, 0x3e4fbdf7 +0x55e8504c, 0xc11d68e, 0xb4b64f33, 0x301cc0fe +0x8a8d7d84, 0x9c0c018b, 0xf7e9a35e, 0x3f13cbf7 +0xc6c732ce, 0xcc5ced62, 0x744133c7, 0x4b22de30 +0x58b86be5, 0xf2e0a3be, 0x98b5aa36, 0x58e780d3 +0x99d0568e, 0xe87e27ba, 0x63a6c2db, 0xe656bec3 +0x1db080ea, 0x15c60066, 0x77ad449f, 0x43920d62 +0x1e0f4721, 0x6f7e30c9, 0xeca03d9c, 0xe1f011d0 +0xd8c80f14, 0x99a2c1a0, 0xae0d1a9f, 0xf7c6ad3f +0x4ad31d23, 0x63be60eb, 0xd4d5ece9, 0xa9f4135c +0xc2b0f232, 0xfbb268e0, 0x6af528ca, 0xebd48782 +0x23919301, 0x9dbd4d4c, 0x6010b963, 0xbed8ca80 +0x7960e796, 0x3f9b0dad, 0x612449a3, 0xbf978904 +0xf02ef517, 0xfee7d4da, 0x914e6acb, 0x5ce2d065 +0x340cc27d, 0xfc12c09c, 0x2d18da5e, 0x5810e9df +0x7624e356, 0x4ff0c4d3, 0x70deb5b0, 0x7df6661b +0x41df3562, 0xc7518622, 0xd8439c02, 0xaa19b740 +0x1be1fbe8, 0x6e0846ad, 0x76b09c43, 0x559f00e3 +0x30c82cec, 0xa53e99b7, 0xdc779f9a, 0x2463b1f3 +0x6b263524, 0xde39ccb3, 0x8d510868, 0xf7726914 +0x1dda70a4, 0x2b0b2577, 0x3d439fa6, 0x1a6aaeb4 +0xf659467d, 0xeb250447, 0x5d52eacb, 0x9766d5c8 +0xda991861, 0x2b111c3, 0x55411a98, 0xde330972 +0xa591bcfa, 0xa9aa6676, 0xd629d3a, 0x18927551 +0x4a487832, 0xde2cad16, 0x569f846, 0x903461c0 +0x6669ccc8, 0x7486237f, 0x78302af, 0x28679884 +0x4ca470bf, 0x177a1d66, 0x2249ebe2, 0x6b0360aa +0x23c5eec8, 0xf1ad0ff2, 0x20a0c2b7, 0xc12073c2 +0xd879b313, 0x29f7499e, 0x528cd91d, 0xa527c073 +0x4f3cb413, 0x89b6a38, 0x9bf02bf1, 0x8be7cce5 +0xda994578, 0x314bb5ac, 0x9bc8095, 0xb6f398e6 +0x26d79f0b, 0x23f03183, 0x5a827a7, 0xa9cf1773 +0x85e15d58, 0x1ec2403, 0x83d5c4a8, 0x95d7f5f6 +0x32dee0ee, 0xe72a14e7, 0x39627d85, 0xba78cb25 +0x6ddfe3a0, 0x145446e3, 0xc55b6175, 0x6dc9403b +0x761ba617, 0xf046f2e8, 0xab074d3d, 0x204f9771 +0x9fb58da, 0x44625861, 0x4cc002df, 0x7b1e36 +0x54c54e83, 0xf4fcdd03, 0x6cc8fb22, 0x685a7cea +0x6f80fc7a, 0x3f631ce1, 0x49e0e784, 0xb6da7bfc +0x922d2521, 0x8e209566, 0xf0810fa3, 0x2543a49f +0x1ce7a70d, 0x15474206, 0xc934f318, 0x17bdfbb7 +0xa9782caf, 0x64e9eb8c, 0xb2d90c5e, 0x87f2c09f +0x5b1cbb85, 0xfbf30990, 0xfce5d4b2, 0xeea12716 +0x8819b49e, 0x55a0edc5, 0xb56a2f98, 0x53175f5d +0x7e4af593, 0xe5c33dd3, 0xb2f65ef8, 0x88169ff6 +0xb03eb83f, 0x5f0e4bb6, 0x172d99d1, 0x2455c2e0 +0x8344300e, 0xf7dd552b, 0xdec771a0, 0x79e2e49c +0x897f52a4, 0x5ca565f3, 0x24c14211, 0xdc48d5a +0x59257e2d, 0x96849788, 0x864eb663, 0x856ffbe3 +0x32e56ec0, 0xde698ff9, 0x53bf7701, 0x6912e29e +0x4f34c903, 0xf94e9ed6, 0x42bf98c9, 0xe19a966f +0x80503dec, 0xbfade023, 0x70f49d3f, 0xb9dfd059 +0x901292cf, 0x4c175391, 0xc194fa76, 0xba99fcca +0xc9ed30a, 0x5166cc98, 0x76b4b1d, 0xf55b8e61 +0x58dfd4a5, 0xf7b1d1a7, 0x1cff1a86, 0xcc3a8653 +0xe0d906b1, 0x60ca8fce, 0x17e49b35, 0x528fad4d +0xce2c6af8, 0x1882ca60, 0xbc2b7f81, 0x7bcae14c +0x27f76e2a, 0xfefae7c4, 0xcacadee0, 0xcdd97f70 +0x37871a3a, 0x6bb6f8f7, 0x838460a6, 0x15b5c9e2 +0x71b9458d, 0xb0e4add8, 0xb9b255a9, 0xbd4af746 +0x9ce5e778, 0xce88ebbe, 0xd222c3a8, 0xa89a867e +0xba154bf, 0xa854c3c1, 0xcceb3d31, 0x59c02665 +0x56b5138c, 0xe46f6a33, 0xbeec78d7, 0x213ee1db +0xc4ff6fd2, 0x4bbdaa18, 0x1b4bad97, 0x47ffed55 +0xf815af6d, 0x304b3a4e, 0x860d1a1, 0x8fc47019 +0x284f6734, 0xd1a79e1a, 0xc7342562, 0x98497008 +0x25215dc3, 0x5eb1553f, 0x9840e9e4, 0x135e7abd +0xc6aa8439, 0x2de238f4, 0x7f9a8c6b, 0x413d308d +0x6a7c59f2, 0xe994a82e, 0x73d74eb7, 0xfdd8ccbb +0x31c8573f, 0xe70dc627, 0xffd107f4, 0x1ea5c7aa +0x900772eb, 0x80b615fc, 0x9d615014, 0x19900390 +0x3c4b6527, 0x76f5e1f5, 0x9db29a22, 0x91e714a +0x82830313, 0x6f43b7bb, 0xb71caa4c, 0x9c72a28d +0x227e4437, 0xad89833a, 0x5be78620, 0x287e52f7 +0x446b839d, 0xc1e99567, 0x158b7af7, 0x815c17e9 +0xf9cb64c0, 0x2db37c42, 0x7705db51, 0x9759451e +0x8f4f519e, 0xefa3fd53, 0xe1c5955c, 0x46233d3e +0x910691ec, 0x94bde9ea, 0xa28ffedd, 0x927fc5a1 +0x8f110190, 0x32cc8b9a, 0x52af9a3e, 0x92ba27c +0xcd377701, 0x8a697ecf, 0x4529c597, 0x244a960f +0x5caa8ad8, 0xdf626111, 0x4c1c8aee, 0x99f235df +0xdaec48f1, 0x74ee10bd, 0xef09da5e, 0xee38980d +0xfad74acf, 0x8bd335f7, 0x689faac, 0x8ea0ce1 +0x479c52ee, 0x4cee55a7, 0xb25edd41, 0xdd199872 +0x9df002e0, 0x966ad04e, 0xdd47116, 0xbc7e8191 +0x51b8f70a, 0x31195f0e, 0x1169dfc6, 0xbafddf64 +0x397ea736, 0x459d772d, 0x2a118531, 0xc7639bbc +0x420bc78c, 0x29a2394d, 0xaa07f711, 0xa96a83b2 +0x46cef638, 0x92a9c9ef, 0xb9f16f5d, 0x4a958401 +0xa160d3b0, 0x4042d070, 0xee8256d4, 0xe97c2dfe +0x9f014ed7, 0x1f4fe7, 0x6c5b7ced, 0x80f944d4 +0x55ed13da, 0x2586f6ef, 0x90be1a50, 0x51f999e8 +0xb4fcf1c8, 0xdb97deb4, 0x212ecc7d, 0x8c1f1e9d +0x4293c4f7, 0xfb875cbc, 0xfd0eedbb, 0x41ea55d1 +0x5637f81, 0x84eb03f3, 0x626bc121, 0xb3004ac7 +0xef13cc73, 0xb3ba04c3, 0xf107f46b, 0x59c2aa76 +0x93e8c02e, 0x6399c958, 0xc3c11f96, 0x575b05d0 +0x463e42ca, 0x22712504, 0x5690dc1d, 0xb565a56c +0xe90543a1, 0xea1de8a2, 0xeedaee02, 0xcc67108c +0xbc855a29, 0x88c758ad, 0x7a530614, 0x7a25d9e4 +0xf5df464, 0x5e983d69, 0x7d50cf69, 0x6794b649 +0xa462f934, 0x7ac5d66e, 0xf35d2406, 0xfe6c4d2b +0xa7e65114, 0xdb6e1e88, 0x27c7e01a, 0xbdfe008e +0x34796ba, 0x5ebab58c, 0xd7f55ae4, 0xa139f493 +0x398a45a1, 0xff93f929, 0x52432511, 0x9f3b7dfb +0x433ef08e, 0xb2a70a19, 0x6f55e3f7, 0x321bc65b +0x3e4a702e, 0x4e7be74a, 0x72378d12, 0x5694f41d +0x60264090, 0x2a6cb53, 0xa12ca14d, 0xd409d296 +0xc9f72236, 0x12b8ddd3, 0xa4d8b5a8, 0x38234420 +0x27e986ac, 0xad15d0d1, 0xadb9dc2b, 0x583b4a15 +0x189c6bf0, 0x867d96d0, 0x2af01063, 0x4c56882f +0xe0b548eb, 0xdb617815, 0xbf18c1f5, 0x4d3a7881 +0xb860c6d2, 0x69cbfd65, 0xd591643e, 0xe57ea9c8 +0x4cbb776, 0xe7e44874, 0xacb51cef, 0xd3525f4e +0x2d81a8d3, 0x6854e63a, 0xe4e53a06, 0x80d083d8 +0x82d6673e, 0x35fe872a, 0x6b837052, 0x1093abf2 +0xdc485a87, 0xebd60708, 0x674d4d50, 0x78d6b77c +0x483b01d5, 0xaa23d8e6, 0x422625d8, 0x43b3ebef +0x4ce017ee, 0x632b2d1c, 0x153da038, 0x92ead944 +0x3ed6ca65, 0xed3876f4, 0x9ba4d438, 0x83494412 +0x427c66a1, 0xdd9709b4, 0x46d5e258, 0x47a49554 +0x192d918, 0xfcfc08c6, 0x61f04d75, 0x7a18a2c0 +0xa7a1cc82, 0x6f02a855, 0x12bf3b37, 0xc50f2a03 +0x21de0103, 0x48645d88, 0x586d2951, 0x762a1e2c +0x27f97998, 0x10731f72, 0x2c2b670e, 0x7d9468b2 +0x890988e1, 0x412e0fa0, 0x9172c095, 0x69720b4c +0x96c8221d, 0xbcbb91fc, 0x780ac1d6, 0x20374dec +0x171c1acb, 0x33c1ad46, 0x2ecd1f14, 0x5e6d3940 +0xa37e753a, 0x683e5ef, 0x8b2a4167, 0x565be62 +0x24835c0f, 0xcb5981c9, 0x1f1fd1e5, 0x3f3aba11 +0xf8533e9b, 0x65421a0f, 0x2cbd9f5f, 0xca04ccc5 +0xf56da8df, 0x26202d3f, 0xd8f87abd, 0xd737cfd8 +0xc3945291, 0xaa157895, 0x7fa76c05, 0xf3046925 +0x70347cff, 0xbadc54c5, 0x6637a0ef, 0x40a76999 +0x47aa91d3, 0xa6a7730a, 0x2ad78f2a, 0x83f96e96 +0x6a7862ca, 0x22865bff, 0x8c8a5219, 0x1327954b +0x21b08e1f, 0x6736f68a, 0x1e54288d, 0xb488823c +0xb72b32a9, 0xae2987c9, 0x53ae84d0, 0x61c8e5b6 +0x692cf2a6, 0x4f34d761, 0x8f3720ba, 0x7721665 +0x5eb0a08a, 0x438b0a5, 0x5f632dcc, 0x3a3a49d4 +0xcb56e910, 0x25c452ea, 0x66d09e9d, 0xbd5d7891 +0x687b24d5, 0xf37b63d7, 0x599ba7ce, 0xe6e69137 +0x9d490112, 0xaccbcab0, 0x89ef722b, 0x6e9e8bc0 +0x18320cf5, 0xfa2b18d, 0x5d6cb275, 0x1df02fd4 +0x5864aa49, 0x11e4712a, 0x7c83657a, 0x3694686c +0xd3630a33, 0xb34703a0, 0x768a16af, 0x26ae6c0c +0x1e3dbaa7, 0x3fd52344, 0x87c37191, 0xebb7850f +0x101cbeea, 0x1e89159b, 0x17c1eef0, 0x8eea243a +0xbeef68cb, 0x6b2ca0ee, 0x525d82b2, 0xcf951c7d +0x805eb6f6, 0x4bf5c6ad, 0x7b72005f, 0x7607ead9 +0xf0e9d61e, 0xd06010d, 0xe43eb27c, 0x31623fc0 +0x3620a219, 0xe0920e49, 0x90f4f507, 0x8fa907ab +0xf125f114, 0xc84bb3a0, 0xbabbb3c2, 0xa3f8642 +0x5add89ca, 0x402417fb, 0x3fd70dbd, 0x37d9e11d +0x94985df7, 0x7039e236, 0x9630ba5f, 0x6e36e454 +0xe608c1dd, 0x3eed27c5, 0x18bc8f01, 0x8e7bb0c9 +0x35e0453a, 0x97e91592, 0x4c3cc119, 0xfd6b72bb +0x414f6590, 0x39deeac5, 0xe1b035f, 0x576703a6 +0x106c2ac9, 0xf5251683, 0x8b964bc5, 0x38508a86 +0x4ff0bc9c, 0x1e886ce2, 0x50e161b5, 0x71f6317a +0xd0a19809, 0x5cd19ae0, 0xc5921e4c, 0x660656bf +0x69079b1e, 0xcbf1b7ad, 0x2d6a920d, 0x87283681 +0x4b91531f, 0x9603f951, 0x6021bd96, 0xce3211a8 +0xc10b949d, 0xaacd403f, 0x76c05497, 0xb701204a +0xd168290d, 0xd82f6283, 0x2133963f, 0x8f79f19e +0x4163216e, 0xc922e271, 0xaa5cc126, 0xff6b210a +0xc35de145, 0x8f9e7059, 0x6539b367, 0xcec81f9e +0xd4e91fa4, 0x461ef762, 0x47d8609e, 0x90d98cde +0x71eb361b, 0x59757d52, 0xc57991a1, 0xf571fd8 +0x8acd9d9c, 0x32078bde, 0x64a29f51, 0x9b257ffb +0xf56b571b, 0xc90d290d, 0xe193ad9a, 0x2d531701 +0xeec5c5c9, 0xb2493aae, 0x9ef8e161, 0x1facb7aa +0xf403112e, 0xd8448d2a, 0xf8c42e84, 0xfc8ee83e +0x6e99610c, 0x23544561, 0x1937918f, 0xd52a037e +0x92b767f6, 0x60def8e5, 0x95481ae4, 0xb04fb33a +0x3018a90e, 0xeb92470d, 0x72f3fb26, 0x42d79a0c +0x39854c08, 0x8fd824dc, 0x12973df2, 0x8b22b1c3 +0x737e9cc9, 0x90a3ecca, 0x5bbd99b, 0x452a9bdc +0x6e62085f, 0x59fd61db, 0x43fe0e46, 0x7ea380c4 +0x15d740a7, 0xde46b50, 0x415c9aa4, 0x2747c8bc +0xcae2e06e, 0xf0e6bafd, 0x12097482, 0x84263a0f +0x1568c1d2, 0x78ac5701, 0x93bd4a7f, 0xfaa11509 +0xb0b2c6d2, 0x98fdba07, 0xf6be5c43, 0xcf0eeb30 +0xba494dcc, 0x149a6f34, 0xdb58e73b, 0x811bece +0x6255955b, 0xa4c436c9, 0xb9f4168, 0xce629dda +0xe486b9a8, 0x8856f337, 0xf214efd, 0x94356904 +0x49b4d544, 0xfb024056, 0x2f30e577, 0xe9e5dc29 +0xbc729875, 0x39489804, 0xe261185c, 0x3e8f2c37 +0xe4dfc51, 0x5f379c20, 0xf09bfbfb, 0xa1cadd23 +0xf1131182, 0xac3ce104, 0x2bfbb44e, 0x500c9d5a +0xd93256d, 0x825a1925, 0xe4de482a, 0xb9bee297 +0xc312115b, 0xe166a671, 0xe934e314, 0x87b108a3 +0x12a6da42, 0xb91cdb02, 0x59817f0, 0xc72ba3a9 +0x2de24c68, 0xde9bb9ff, 0x1300a5a0, 0x1138d929 +0xc60c781c, 0x405387d1, 0x9ea1152, 0x2ed5de44 +0x27e27aea, 0x8d1ff931, 0xb110bcda, 0xf7f18289 +0xa55e4e97, 0x7e4be525, 0xdc4d4e2c, 0xef592a62 +0x8bfdadbf, 0xfe8c10fe, 0x9c4478a6, 0xd908dbe1 +0x1944893, 0x1abb0203, 0x47c11aa1, 0xf4c62174 +0xb09f6dfa, 0x19aa67db, 0x24b35887, 0xd22abe7a +0x8534ccf0, 0xc79e9cab, 0xd1a2cbb0, 0x45dfeb3f +0x26ec6f92, 0x8eec4625, 0xdca1ea5b, 0x6433ef01 +0x63196390, 0x9a6daade, 0xf143c8cc, 0x30e9c0e6 +0xaf7c5fca, 0xc364bf5, 0x84b02452, 0x100ac694 +0x236cbeff, 0xbd7af3a6, 0xe74c2a46, 0x2799c3ea +0x6df590e0, 0x65f49266, 0x3fda6883, 0xa88fe025 +0xc644618a, 0x6c510d6d, 0x8788202, 0xa468648b +0x3dda9ade, 0x13b35ad7, 0xe276fd92, 0x29e9ee4e +0x3bab6884, 0xe258a865, 0x89dcf600, 0x1f5c5e95 +0x7a6ae308, 0x66f53072, 0x867328f, 0xa37e726b +0x6b96dbf2, 0x1006c4d5, 0x48e60475, 0xa997cc37 +0xe9c1f2b6, 0xa8461eed, 0xf0aa6684, 0x3d58a770 +0x9589ae75, 0x8759007d, 0x35ce5932, 0xaf7950fe +0xe06a78cf, 0xe8a78a96, 0x98d4cc57, 0xa2688274 +0x12f19583, 0xa80fee70, 0xa2790c2f, 0xfd5d30fd +0x38c8e801, 0xa63d253, 0x614af5ca, 0x8a27d28 +0xd56ce25c, 0xc140764d, 0xdf8a8d80, 0xf3a3db6b +0x463586f, 0x4fa24e4c, 0xd2fb46ca, 0xfbdac1b0 +0xe1c189fc, 0x6692270c, 0xff38394f, 0xf65dca5a +0x5905de62, 0x20a8dc1f, 0x8c90029c, 0xd5290121 +0x9ff21617, 0xbf7b962c, 0x4cc34f4e, 0x97133289 +0x7402a071, 0xd6c8a856, 0xfe9e9723, 0xd48bae91 +0x240e7cb3, 0x61e43c7b, 0x311e3522, 0x1eccc828 +0xb2d607cd, 0xeb759872, 0x43b9496a, 0xcdd6411d +0x823b6ac7, 0x8f7c3e5f, 0xe1bb6d69, 0x3b93ad2a +0xccf8dec3, 0x619b2499, 0x6ff21279, 0x74b1e4bf +0x3f0c90b, 0xf3948573, 0x1147f7d0, 0x5a5631c7 +0xb545d83b, 0xf73e725f, 0xefc2aa2a, 0x936807bb +0xa98d07e3, 0xf736f817, 0x898e41e3, 0x8a01d5b3 +0x3039a250, 0x23241119, 0xc9842441, 0xb6f24adc +0x7a9de4dd, 0x2d2b8b5, 0xbdf16f17, 0x812b3781 +0xcbde2032, 0x53593961, 0x28cb157f, 0xb33e01a1 +0x1d9f9513, 0x87b5ace8, 0x38313f6e, 0xc987639e +0x350a2803, 0x1f25c821, 0xd67fcec2, 0x32f30880 +0xfdf5dc4b, 0xc6f4fe0b, 0xf5254d9, 0x946085f9 +0x295933d1, 0x6a7ffb08, 0x60a678c2, 0x4654663e +0x37a869a, 0xa6c762bf, 0x71c94947, 0xe6cec4c0 +0x96f51173, 0xb2171c02, 0x972085b, 0x1440b26c +0xcf95918e, 0x5615125b, 0xb23a1482, 0xdfeb4989 +0x2a2790ff, 0x1c5c6b90, 0x303a9b2e, 0xdf8c2373 +0x6d227eb0, 0x9cf2f720, 0x6362079c, 0xfab89bd2 +0x8558c70a, 0x4bb30ce4, 0xdfd7e0d3, 0xb31455f1 +0x7cc86db5, 0x51b90688, 0x24278932, 0x19406b7e +0x3dddd47a, 0xdebd53dc, 0xe75d263a, 0x9f5276f1 +0xc73f207b, 0xd899de32, 0x7043089f, 0x94600a67 +0x4f313558, 0x4cd26a1a, 0x8cc340b8, 0xc1d4ccf8 +0xc49924dd, 0xd4bdb1eb, 0xc11033e8, 0x18da7e66 +0x7f5a3822, 0x695e49b5, 0xa8ab858, 0x81337268 +0x9e0379c0, 0x6a5eac55, 0xba40fd92, 0x5194c12e +0xa8c58e53, 0x490c84e0, 0x2cb92611, 0x7fedf3c7 +0xe1d1e240, 0x56e314c5, 0x6e660174, 0x9f58d852 +0xd5159fd6, 0x180c2cf7, 0x9dd7ad07, 0xfe1b0bfe +0x670193a0, 0x27bb5743, 0xb602ce3f, 0xc55fdb3c +0xbbdaf3c4, 0xe98cbe89, 0xdf4b1a75, 0xdf5d7c67 +0x263c33c9, 0x9ba47e84, 0x2a01e6e0, 0xa1c69a03 +0xbde866d0, 0x83c552a9, 0xcd6a60a0, 0x74fa3eb3 +0x9e1297db, 0x9d3e33ba, 0x5af3a29a, 0x2c2352ea +0xe5a3658b, 0x26226e78, 0xa3cdc7e3, 0xa0a46b36 +0x491a8278, 0xf8984f60, 0x186abbaf, 0xbe4aa731 +0xb9d8fba2, 0x4f20e1d1, 0x94f5c786, 0xe2d4ecc8 +0x3e66b547, 0x39ae06dc, 0xca107048, 0xefcc18fe +0x87029729, 0x1c9ce023, 0x894ed4e, 0xb4e02132 +0x50445060, 0xb604c7fb, 0x955626c6, 0x8d7e8e01 +0x4cc0e37, 0x40124052, 0x5cfe192d, 0xc3f11db1 +0x22c04775, 0x48d269bd, 0x19f59a14, 0x9530d109 +0x18d50e0c, 0x51be9fb3, 0x258fdaec, 0xacc460c1 +0xd1bab7c6, 0x15782d67, 0x32b35705, 0x623a8533 +0xa5855f93, 0x8044f94, 0x176e52e7, 0x1f245ea3 +0x344eafa4, 0xe3369e4e, 0xb6bd1d4b, 0xb9d2ba08 +0x740d9067, 0x6e7b71f7, 0x6a1fe8c, 0x8eeefe77 +0x6f7129fd, 0x1afb0083, 0x111825c, 0x1dfd200c +0x10d86566, 0xda568bfd, 0x6cbac73, 0x2fd39e4d +0x1827957c, 0xfd0bad12, 0x7fec9156, 0x4a95188f +0x41a8b6c0, 0xe19239a7, 0xed9841a4, 0x2c6e6587 +0xb6554a13, 0x45871927, 0x78f7374d, 0x52ea62f +0xb260586d, 0x77fe7656, 0xe5d14cd9, 0x4ef9384b +0xa452a340, 0x65744d1a, 0x26f672c8, 0x5b13c3d8 +0x9fb60cea, 0xdb332076, 0x95e3a8df, 0x50aa036e +0x1dcc861d, 0x8775155, 0xa019bb5c, 0x4a663e93 +0xb7e06a72, 0xa86adc5a, 0x6bb7686c, 0x59e449fb +0xdb874079, 0x74a826e5, 0x926138db, 0x616a5acb +0x6a968559, 0x460df3e9, 0x5313b43, 0x986254bb +0x6810cd12, 0xfc782c71, 0x4f1210e7, 0x53e246c0 +0xc6293547, 0x7bdfbbac, 0x340ea9fc, 0x9a49a44a +0x5f094efc, 0x7eee8b7, 0xd0337179, 0xf09a07b8 +0xe9e743ec, 0x15f9856f, 0xa259d08a, 0xf76ec74b +0x2a50672b, 0x16f6c5a5, 0xbf5cf3dc, 0x653248f4 +0x89a785f3, 0x42ff7655, 0x3617c204, 0xff09013d +0x934fa46c, 0x4d2619bb, 0x990a8d97, 0x9a766d59 +0x1e85ab1d, 0x9157444f, 0x77a80f9, 0xeffca7ab +0xb61392b4, 0x5b4ebfc8, 0x3b15b5cd, 0xcfdef9eb +0x2f62b841, 0xe44d588, 0x14bcd8c6, 0xf6a90ed +0x690ffdb7, 0x508a2745, 0xcae88257, 0xb73d5cfa +0xb6a18047, 0xa27dcc3e, 0x19b621b5, 0xd9efbaca +0xed1b95de, 0x1dab245f, 0x4ac23719, 0x8acb253 +0x6b410d1b, 0x400cb005, 0x3f2a0694, 0xb1178a91 +0x7bc01b7a, 0x306ab0ee, 0xf843f0e3, 0x59f5fc20 +0xfb5af447, 0xea07971, 0xfe873a53, 0xe36b88ef +0xa316a68c, 0xaa2b94cd, 0xf53de0c1, 0x12e0ba4a +0x2c46accc, 0xc86f7c7e, 0xe31dbcf4, 0xc5c9a057 +0x730b36d8, 0xb7554edc, 0xe0280b8b, 0x2e6c9d9a +0x8b33f469, 0xa9955a2c, 0xeec66fdd, 0xd59a502f +0x5b1ef5f1, 0xc3a2c310, 0x4dd5acb, 0xe103bcc4 +0xe07acccf, 0x27c2bfdc, 0xfd1f24d7, 0x3526004c +0x56fb320e, 0xb495758d, 0x99cf879b, 0x6b33c2f5 +0xbc0fb2a0, 0x13dc87, 0xda2b4c6d, 0x19825e10 +0x470e9746, 0xb4583950, 0x8ee0b248, 0x7f580323 +0x59ace029, 0xbaf7c504, 0x640391ad, 0xd2a80dd7 +0xdef5b110, 0x54b6dda0, 0xa58dce3d, 0x9cfefa4 +0x44af58f, 0x4bf6b52f, 0x8ae92664, 0x4837325e +0xb7318f73, 0x1382e727, 0xb74f9886, 0x757727c +0xd39de535, 0x79a32a56, 0x1c0e091a, 0xee4a4699 +0xe1ae1f4e, 0x3c093073, 0x37fdd0c2, 0x35d28243 +0xda157ca9, 0x45a211c, 0x5d4df84e, 0xd37c9e9c +0x29c288e5, 0x62035e49, 0x7ad03b62, 0x59c889fc +0xbe59ee39, 0xf1bcaf15, 0xc4f51b94, 0x1aba2d2a +0xf4c8a988, 0x662171ee, 0x1e9f6c8c, 0xda8fec5b +0x626aa6c5, 0x59c5b89f, 0x7b9f93c6, 0xbb64839 +0x2494c140, 0xf946b33c, 0x1d701344, 0xa504aa9f +0x42d6bbc0, 0x73ea8773, 0xa68c62b8, 0xa9b88b48 +0x92322bd7, 0x4799ec0d, 0xf2ea3d9e, 0x822b6f1d +0x178eac2, 0xf6cd9842, 0x9bacbc8f, 0x8a3fa6ff +0x4c0309ca, 0x1b292811, 0x53a3400e, 0xcd26d567 +0x37e64ff2, 0x8d0ec60, 0x94d381b4, 0xb67d2354 +0x33624043, 0xc084cc8, 0xb58b0e07, 0x30c4cd98 +0x6e57de30, 0x77cf8722, 0xb8898f0e, 0x33a5d1a4 +0x1d29644d, 0x772a80d8, 0xfb4f8d3c, 0x1b25d7d4 +0x6c454e7b, 0x6da73a97, 0x2d84913b, 0x5e8d3c2d +0x379d549b, 0x431b6d54, 0x5da65957, 0xe1013ee0 +0xa6112547, 0xf630dd09, 0xe8852611, 0x88a884a4 +0x44395424, 0x70dcc1e7, 0xbd6c335a, 0x571745e +0x2e6bb021, 0xfa4280ad, 0x21c36608, 0x4e352b45 +0xfbc5cb04, 0x4c458fd7, 0xd207e378, 0xf6972733 +0xe2e7b00f, 0xd3236bce, 0x6851afc3, 0xf8f99853 +0xccecf753, 0x35b283d7, 0xb9c77aca, 0x68cb4d35 +0xbf18b593, 0xcaf9f85d, 0xb7649825, 0xa5419f4 +0x19888240, 0xbea3e529, 0xc3abf622, 0x463b2552 +0xc733b35f, 0xd391bbef, 0x598f5c2b, 0x3208db81 +0x9f5507a3, 0x6058bea6, 0xda4d43a, 0xaef6cdcd +0x917cd3f0, 0xa730ce10, 0xc5b08db1, 0xa4cf4fd0 +0x381c0de9, 0xd7387136, 0x6c92de5d, 0xb9c2374a +0x58a20a3c, 0x26ac8704, 0x6f8aa638, 0x858a866a +0x259f93bd, 0x3005608, 0xfe37f77c, 0x5d94f3d +0xaea06052, 0x8e555efc, 0x39577e6e, 0x5cfda5 +0x6878350b, 0xa7cf50dc, 0x8d401347, 0x1a3d6153 +0xc524c23, 0xbffea23b, 0x9b465df9, 0xaf43e161 +0xbd941f66, 0x1b90da0d, 0xbca5e901, 0x687ff020 +0x7e5ff198, 0x36a9ae4e, 0xac5d046c, 0x55740438 +0xd97c3eed, 0xba9208cf, 0xdc9880a9, 0xe3fd6dca +0xf379fcd5, 0x6148a00f, 0xc4ca5774, 0x4a470b38 +0x96428eda, 0x505ca712, 0xf06ec81, 0x68a11cf0 +0xfd4c3994, 0x3980934f, 0x7afcd974, 0xe4e57b8 +0xa2f67820, 0x6dc0cff, 0xa6866aaf, 0x41c932d +0xaa3bf494, 0x80168ced, 0x62b419a8, 0x77f7ce97 +0x5254e55a, 0x98e6076a, 0xfd0c655d, 0x97e45e1e +0x842c0cf, 0x2943d3e, 0x206bcf90, 0xbd54665f +0x7294802f, 0xeb42b50f, 0x269c75a6, 0x687d2b51 +0x4c462757, 0x311eadbf, 0x394b975c, 0x3777e61a +0x840f7361, 0x4fea98d8, 0x2f7668b3, 0xc3a5cc95 +0x81fe983, 0x6fc81f31, 0x135c11d1, 0xd0724796 +0x9b6e17c2, 0x57039793, 0x8a4e1ed9, 0x830687ff +0x4b8ebe4f, 0xa0afc739, 0xd718dc35, 0x5f6986b4 +0xad2740b6, 0xb5adc7cb, 0xfa800458, 0x3a7baacf +0x6b478d4a, 0x9b32b47b, 0x9b061067, 0x51a0489d +0xb908440b, 0x2d88d434, 0x35544809, 0xe699700b +0x42af1d01, 0xec4b6187, 0x32403454, 0x3cf32ba3 +0xf2ef1b4a, 0xce84f810, 0x4f00d43a, 0xe00d9a16 +0x8514e5fc, 0xcdf182fe, 0x84900f1e, 0x3c267e90 +0x29f0331e, 0x4b6106a1, 0x16ec8d20, 0x33b1cbaa +0x129fee49, 0x3dedbff7, 0xda220001, 0xe010d777 +0xb52606f3, 0xb8c28a7c, 0xf637add2, 0xbfc2f2bc +0x867d4aba, 0x8c6cc148, 0x98941362, 0xb58ee68f +0xd219a1b2, 0x124dbec2, 0xcfbbab6b, 0x27a99962 +0x245326a0, 0x4de80922, 0x8699d57d, 0xfd9b38ff +0xf636a437, 0x522b9aab, 0x7a1e2bbc, 0x5e741329 +0x7a81e94, 0x98939ba9, 0xf65fc9f5, 0xd6500b9d +0xb316c27c, 0x4a32ea28, 0x733f9246, 0x8b850f42 +0x7971010c, 0x533660ab, 0xe737220a, 0xc44c581e +0xe1e05a41, 0xe5b8c6f8, 0xf40f9a7e, 0x20e65b4f +0xde4d1496, 0x535c8df3, 0xd5ca2721, 0x6c79cc71 +0xd1cb61af, 0xae50911e, 0xe4fa42db, 0x67097ee7 +0x16bd1c93, 0x27d96f11, 0xdd559bbc, 0x16f0f922 +0x7252bf0e, 0xf12df1ae, 0x53d55bd8, 0x196c1220 +0xa81bf4dc, 0xe172b7de, 0xe689814f, 0xc2b99304 +0x426ff241, 0x387410ce, 0xdf7e5e41, 0xd1797ac4 +0xaabf2fd5, 0xbc646237, 0xe27780c4, 0xf4be0518 +0x167c4c13, 0xf93dba8a, 0xb1dd51dc, 0x56e09df9 +0xf61f3b4c, 0xeb050d6f, 0xc7b2de90, 0x690975c3 +0x5da30e97, 0x5d9bb92f, 0x4403dcf7, 0x79475c0d +0x28dd0905, 0xa400a35e, 0x4fc41fe, 0x8ff7c219 +0xfa89beb6, 0x871fd0d, 0xe5e3883, 0x712b0521 +0x47c7ff08, 0x4f6c6fd5, 0xc90ec318, 0x1e9b1a98 +0x3c4121f4, 0xab8558c7, 0x2742c581, 0xd4831ae5 +0x38495d10, 0x28563d57, 0x85a1c643, 0xd816882a +0xf8719231, 0x768e9fa4, 0x66a4981a, 0xfe3e1a0b +0x70058d32, 0x7711c907, 0x6c930655, 0x7cd6732f +0x52634b03, 0x8b8ac09d, 0x3ebe66f2, 0xc51a81cf +0xcef42d08, 0xd81f8424, 0x64c8a4db, 0x4420e0d6 +0x2e96e0b0, 0x47fa95b0, 0xa771f1c3, 0x24c5ca64 +0x85852c19, 0x26b217eb, 0xeaf93527, 0x82155bec +0xc5b16846, 0x7c0031f5, 0x80a462ad, 0x2f4247c6 +0xad7d2767, 0x7289fd71, 0x25c411ab, 0x9772bcd6 +0x342ea6e4, 0xb660eb2f, 0x24b8ebb7, 0xe08c66da +0x94d7a8ad, 0xe9369d98, 0x3c774530, 0x545b9170 +0x825ee892, 0xed9ae855, 0x3d41d119, 0xa0e93f70 +0x95467af, 0xa49b65f6, 0x173cabe4, 0x44a63138 +0xf7ac7848, 0x3e5a7de6, 0x467fc3bd, 0x1811a98e +0xca65a9e6, 0xd90300b9, 0xd220b46c, 0xbf792160 +0xd279daee, 0x8828d9de, 0x13944872, 0x5aed643f +0x14d5a7c1, 0xe0c0a42d, 0x670b9779, 0x47f9160e +0x94cf9cad, 0x9e191dfa, 0x4a675103, 0x86554946 +0xa78f70d5, 0x665d16f4, 0x7cafe103, 0x38217471 +0xd5a61fc8, 0xab64eb89, 0x2af9dd0, 0xf320c3ba +0xa2683df4, 0x5f44d858, 0x30f5ac75, 0x2d2e7a92 +0xf903f69b, 0x98f1aca8, 0x2d90ac32, 0xa6ee6433 +0x4bc911d5, 0x83cf6b49, 0x38e2a53a, 0x6c6c4d39 +0xdb6feeca, 0x81e2f051, 0x9985252d, 0xd677174 +0x6274a84c, 0x3d663c66, 0x4934b3f6, 0xaaa0987c +0xd04467f7, 0x80c05983, 0xe839a84f, 0x9d420a2d +0x8d71f457, 0xc439087f, 0x150f93bd, 0xc314d1fc +0x5e1ee4b, 0xb459388d, 0xb38eee3d, 0x5ee300e4 +0x78c8f18a, 0x434afd89, 0x7642d88c, 0x2175f96a +0x276b71d, 0xf13c3456, 0x83f6d2b5, 0xd9d64334 +0x122e79f9, 0xdabd4282, 0xa852297d, 0x2e6946f1 +0x21aaea69, 0x3268569b, 0x5f5f293, 0x814253c9 +0xc2497cd6, 0x5610fec4, 0xb3d2211d, 0xb93f75f1 +0x230d1611, 0x9d86d4e4, 0x59b21666, 0x27c993a9 +0x2043aae8, 0x16d81349, 0xb530a3d5, 0x5f441d47 +0x7c45206a, 0x626163c9, 0xed19a876, 0x91021fe8 +0x9e6ccdeb, 0xb81dbb63, 0x16a65226, 0x8218dd71 +0xd97f6ced, 0x4e6c2ff8, 0x5aa51b82, 0x87ac4a22 +0x5066e7ac, 0x8f503030, 0x1a2fca85, 0x4a2e5ddf +0xa1688e34, 0xb9344f9c, 0xce64a21e, 0x101e9efd +0xec88982, 0xde0d3619, 0x4b5165d5, 0x7169cf74 +0x4702494b, 0xdc5fb1fd, 0x38b571a5, 0x8b7003a0 +0x4fa25217, 0xce642de4, 0x40e1d946, 0xc1bd596f +0x63fc18b5, 0x793f67b4, 0x36e72a97, 0x9b1741e6 +0x1d265476, 0x2c39cc2c, 0xd5f80aa, 0x56c82285 +0xa2bc3e3f, 0x629b0857, 0x86022d4b, 0xca670225 +0x7c3e7487, 0x9b172657, 0xd954d742, 0x4d5ff9db +0x13eaa6b, 0x888a907c, 0xc00bebe7, 0xa2b19da +0x26b4f336, 0x8065b089, 0x4adfd02c, 0x7e07f9d +0xb3cfea4, 0x4624325c, 0x9f148e67, 0x92ec0f33 +0x4caa1c1a, 0xf4d33256, 0x39cdf50, 0x87ea3fe7 +0x11600a0f, 0x442f2b94, 0x660ef7a9, 0x8ffec15e +0x617bd7d3, 0xf747d975, 0x949e3c51, 0x66e55c5a +0x4ece7ce9, 0x8c30a3c, 0x69af9b81, 0x7a235659 +0x4f77a380, 0x118ddc8a, 0xc26b0daa, 0x6e52aede +0xff67f6ed, 0x51ec715f, 0x869f3c0a, 0x2bc57e6b +0x5d3c4a30, 0xe3ba461a, 0xfafadb63, 0x5252b4da +0xf6892373, 0xb1ff4489, 0x9c64dd0a, 0x5c2eb54a +0x9de1f4fc, 0x6f611e0d, 0x8fb7354a, 0x689de951 +0x502476f9, 0xd64e591, 0x6d946258, 0x7e582105 +0xf67b2384, 0x429e52ca, 0x68125fd7, 0x12c56d60 +0x88f97efe, 0x7b1d2c69, 0xb0916b4a, 0x24af31d9 +0x11d9cb03, 0x6f1cf848, 0xb4184f81, 0xa594b2a +0xd510fac7, 0xe2c56ea8, 0x801b302f, 0xc0b18b14 +0xc05d43cf, 0x5c1a58b, 0x8890f99f, 0x7b072ee2 +0x8a4313f6, 0x20121569, 0xc9f59d7c, 0xac103b8a +0x46bf5047, 0xec893073, 0x1a8c3f98, 0x11167605 +0xf2561f14, 0xd408d7db, 0x336c48e1, 0x540c8e5e +0x14deedcc, 0x2d30a4ff, 0x8921d073, 0x395229ac +0x58619422, 0xba50b447, 0xb2251fa2, 0x4a023c82 +0x5ebfdc43, 0xd862fc65, 0x5152da20, 0xdd89b342 +0xc5c85a1, 0xb4930bef, 0xf49ae47, 0xb5566962 +0xa07de3c, 0x9f95dc9d, 0x7b502c9, 0x56086be9 +0xdd0bf4a, 0xb192397, 0x827503b0, 0xacdadb88 +0x290da7a0, 0x45f671ab, 0xe72dda14, 0xc05ec6ba +0xd94fdac8, 0x78e9b685, 0x2da08e03, 0x512847b4 +0xc81e369b, 0xffb9e512, 0xb27b6344, 0xe938789 +0xa3fd5452, 0xefe0fcdb, 0x9f0ead14, 0x2de9bfff +0xcc4bacbb, 0xc03a72, 0x50082d48, 0xb4f948c4 +0x5d1b2406, 0x4e6f65cc, 0x48a59577, 0x23a6739 +0x50c4ffa6, 0x44f0bca0, 0xc61353c3, 0xea15d726 +0x4e9d8ba, 0x2c1771fb, 0xb8e87dc8, 0xbf0f8196 +0xd9b7425a, 0xe31d080, 0x21ff3c11, 0x6ebebfc9 +0x3b3044c1, 0x626412bc, 0x1d61d123, 0x23c562c5 +0x52ac5ac1, 0x4eec501e, 0x9050ed70, 0xc43b6353 +0xa02793b6, 0xa9eda9dd, 0x9d17ace5, 0x5945a014 +0xb26346ab, 0xc50f314b, 0xc98ad086, 0xdd6168a7 +0x72d33ffc, 0x6c9125f6, 0xfe8c8f15, 0x9b8fba3b +0x70182e9, 0xf090565c, 0x23b3e493, 0x8c0b6a4c +0x30f4383d, 0x962b7d1d, 0x3e170cbc, 0x47e82854 +0x6537d2fe, 0xb881a2ce, 0x77fc73e3, 0xf80db80c +0x9cbbeb98, 0xb4ab5c65, 0x47636557, 0xc8b84ebd +0x51601e0b, 0xe1cafc13, 0x74908102, 0x920022d +0x80ea7aff, 0x6695b523, 0x946ff7a4, 0xa68ce20c +0xd76daeaf, 0xedaa5a1, 0x7784da4c, 0x20068947 +0x1db63e23, 0xddb84cdc, 0xa59acef9, 0xee53a168 +0x1de15de3, 0x6496d2c0, 0x795b6eda, 0x5e1132c9 +0x6e8584ef, 0xbbd92a23, 0xa5cd301e, 0x53b9340f +0x20797345, 0xc51a6930, 0x8cdfa2f2, 0x87062aaf +0x2a3824ba, 0x502bdb59, 0xf8a10c5, 0x52a1d16b +0x748dc39d, 0x3f25488a, 0x48ecab10, 0xfd5e349a +0x96019dfa, 0x8764bc0, 0x3e9082e2, 0x2ec4fa7f +0x2c99c870, 0x4e4a813e, 0x3767439d, 0x22d6ce03 +0x4138dbe9, 0x282620ab, 0xa778834f, 0x167771fa +0xf0081582, 0x4510e0cc, 0x23460005, 0xefad389d +0x745243a9, 0xc3cddf19, 0x71d920bf, 0xf4029816 +0xda9306cc, 0x497b2f21, 0x9413c99c, 0xbf1e8774 +0xf26033e4, 0xdd61d524, 0xd44e38a9, 0xc199243 +0xcbdceac3, 0x46378a33, 0xc9c139c9, 0xce761198 +0xc0244d9, 0x1cfcf55d, 0xa7aa619f, 0xc49d5df3 +0x9d1152f3, 0x3648b24c, 0xa9801343, 0x9b286b07 +0x71833a35, 0x956e026c, 0xfea14d38, 0x1b3099d +0x49e8cb79, 0xd8b4dc6a, 0x6b44aadf, 0x62ff40e5 +0x36a54b9f, 0xb75c3ae3, 0x7a9c381, 0x3dd9d64d +0x894c6df2, 0x61d5040a, 0x9dc987e6, 0xa2b8036d +0x130557b0, 0x2c257da9, 0x68fba8dd, 0x2d505760 +0x1af58e01, 0x8740ec66, 0x93cc7e1c, 0x1797e791 +0xb939084a, 0x3b54b6c0, 0x2d4c06b1, 0x6d92e642 +0xf9a68383, 0xd76cf1f0, 0x5f5f4b20, 0x3bc1af40 +0x7472ecbc, 0xfb544212, 0x30b959fc, 0x9e6d36f2 +0xb241833c, 0xec5da639, 0x2fd914ed, 0x5982d409 +0x13dead1d, 0x836d461e, 0x737d1a8b, 0xe4c79c95 +0xe709e347, 0xcb8503aa, 0x3bc94739, 0x31943141 +0x37632629, 0x8e611406, 0x38706243, 0x8a0a7e55 +0x63e8516, 0x4129a900, 0xfe46e0b2, 0xdd2de2c6 +0x7bec6c18, 0x225fdbd0, 0xf4d3fca4, 0x7391c49a +0x2504d709, 0x1cc8d383, 0xd77afdaf, 0x5439db86 +0x4b4637ce, 0xdb725a4f, 0x7069a0e5, 0x9cf14fdf +0xd509bb83, 0xabc57f4f, 0xde553164, 0x6e43dddc +0xe2563f3c, 0xf3e6f5e9, 0x51a44b01, 0x8b4ef0f1 +0x43b189fc, 0xb6ecc042, 0x1e7d8bad, 0x48bffbfd +0x7b5ac87c, 0x6d1db815, 0x21f74cf3, 0x15cb251e +0xaa0e7b7a, 0xdb19a8a9, 0x90467c96, 0x6f73661d +0x88ee6ea8, 0xfb0a59be, 0x3bc1b57b, 0x325f79a1 +0xe8bab8e4, 0x4e8a275f, 0x1ea5afda, 0x4162086b diff --git a/benchtests/inet_ntop_ipv6-source.c b/benchtests/inet_ntop_ipv6-source.c new file mode 100644 index 0000000000..f255c275c4 --- /dev/null +++ b/benchtests/inet_ntop_ipv6-source.c @@ -0,0 +1,10 @@ +#include +#include + +static void +inet_ntop_ipv6 (uint32_t addr1, uint32_t addr2, uint32_t addr3, uint32_t addr4) +{ + struct in6_addr saddr = { .s6_addr32 = { addr1, addr2, addr3, addr4 } }; + char dst[INET6_ADDRSTRLEN]; + inet_ntop (AF_INET6, &saddr, dst, sizeof dst); +} From patchwork Tue Jun 3 19:51:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 893872 Delivered-To: patch@linaro.org Received: by 2002:adf:a2d4:0:b0:3a4:ee3f:8f15 with SMTP id t20csp486931wra; Tue, 3 Jun 2025 12:54:29 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVS9GS0cHxH9JEzxGWjzP62YrvZMjryT3+vBXY10Qd43snV/gPDebd3gUzimoUOYlAh//Jxyw==@linaro.org X-Google-Smtp-Source: AGHT+IELF41zuNXwQANfHqg0EbG5hsiFo2TEvGWtLD2uuR6Aqm9piKP163wS1R7+0zbMC4SsmBIJ X-Received: by 2002:a05:622a:578e:b0:4a4:3e89:d5b9 with SMTP id d75a77b69052e-4a5a57ee4d3mr2275641cf.43.1748980469027; Tue, 03 Jun 2025 12:54:29 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1748980469; cv=pass; d=google.com; s=arc-20240605; b=VHBtNQ/2QPOA0+Hz6MrvELXgL6RB1Uzvg3by+DhCZrorCm06MSwxLo2GuN4qOg6riG Ei+8JrORNXHaatfZGhqnvuoE6srzkyisHbZrFXFdVXEqHTSjuHGsNsKeRcSpRRIRFsvW FTGgRAqS0/+wfhmZKy5htPljnIRhzA4PMEleEhXDg7kkBbHV0SDjAiAZFmLy0wpml35k fROBMc/mhbFAGFh1WE7aTkkCUchrwcVmwfhgQT67nnMi5SDnNTZG/dtqtbs9+b7KkFPF /JbUlxOskhFgZ+HxidbpX0Yeyo+aBaY/YU5sDMKo/BNne+aMUlI+0pCICkyPCqMhrTjB eFSw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:dkim-filter:arc-filter:dmarc-filter :delivered-to:dkim-filter; bh=rNzCfNwqOy6+6GTOEjzNRJd5qBnMBFYpgCzxTXKOh3c=; fh=7/RTOikOdpDhr80qQ1MnirR4MhHwp+iZ0OKvKkXmJzI=; b=FFn7HwUCtcdzH9shKu9CWsBvl0SNdsFIvue4MmP9VGYo3bPGosKOn1zDZDqvz2+hYM 2oa9ZLtpL3vwi7cCVB6PKgZ59IzPTQdHnvGsPItBjzw8tyl/iAQM0q6q5sV4TfvzjnCm Lw9sL7jcce+hpkqw4vchR3c+GMpnZdATGj4fCunXMOtqK4ATW6OCpCnJkWm5ZHYkfY1o IHLUgr7U+eWpR3VmYl5uytAiOumAiw5JypIPOSWGHl8lFWQz3qXn0Mkehucz/sxvqzQI F703VFnqXu3cxT2sGkYsoMGy2UvJGKUx1r9MbFtFjArIv4WcCy5G5VRdbISeGWYW4k6+ z6+w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bdJgDUeX; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id d75a77b69052e-4a435a3c0c4si135402651cf.415.2025.06.03.12.54.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 12:54:28 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bdJgDUeX; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7DC7A3858408 for ; Tue, 3 Jun 2025 19:54:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7DC7A3858408 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=bdJgDUeX X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-vk1-xa33.google.com (mail-vk1-xa33.google.com [IPv6:2607:f8b0:4864:20::a33]) by sourceware.org (Postfix) with ESMTPS id 97F913858433 for ; Tue, 3 Jun 2025 19:53:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 97F913858433 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 97F913858433 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::a33 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1748980425; cv=none; b=cSHgyM5iGnMzV2Rm812qN5eBSgar3IjV7AC52zLNmQZsuZouTwng+Mmld6f6UP3vAWREQtMuylTpd+6QflYMAjrz3JcYmS/1Gczv+3vuv3mc5yyyYGx6RL9N5LXhGqZ8WcgQUtRLOEPQ3blEXxXV8zsch/y/25k7Nm5bRkodPyQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1748980425; c=relaxed/simple; bh=W50bCjXY6raNGi4JeaqFtDcZ8JS/fcO97r03puAnQBY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=QjV5E5OG4SLz/13IjQ55YiMiKt+0w2O1b/iHHi5NhyGZm9SmF69X1dAR4OxPiE2guQwmTQsO9yJi3ZwhtkmqDOFPdtVl3x9raeEx/oJ7uGJsfms8IvYXQmEmUqUwqRz2YPU1XhWEz3NRUygGIc9d3d4CVql76rAIiOre7MoG3Cs= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 97F913858433 Received: by mail-vk1-xa33.google.com with SMTP id 71dfb90a1353d-5308d2d76f4so1474211e0c.0 for ; Tue, 03 Jun 2025 12:53:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748980424; x=1749585224; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rNzCfNwqOy6+6GTOEjzNRJd5qBnMBFYpgCzxTXKOh3c=; b=bdJgDUeX68AjtsTtNaR3PyzVORw6w6cXAx+PFoz6OMrCGhEOHLtJ/5INGtA4AZeLw+ rDCOPYjfE2ugVj753jqIm9Egm85XwNUtLXT0EHyt7GOZb/5ZrG0gtZLVk+SBIAkrpfto wSf8aWFbmWQhVP278Wc5nbqMNKeE2eQGP8Sdj+rs21+3Og3mcs2EIRpJueqSmhpVR3E3 9z7Io1+hpxxcAECnPmzDApeVIJtg2R7PdI/BAMSwWSpyMNduWaJDOTKtGvH2sEUdjvhO nvi4ONXGrahF75WVOyeNH3vzhxOm9KeryN8G6SabqpvCqBoOrG4N6E/few/UI1z1fKLQ f7CA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748980424; x=1749585224; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rNzCfNwqOy6+6GTOEjzNRJd5qBnMBFYpgCzxTXKOh3c=; b=VwyrSjrOuj/f3dhOVEIpK8Md4mG0/8StCNM7g1TfFekMhTDDI0LNjVPLpqSbPLphBs NdqmlN1x1aGJN+u/whRa9jq3aNbwMGxPMbb5TjHyeHrSL5HsyyEX2HRl+Grb1UnRKjhP ZoA5uKXEbGvN7thRAdmTP07tcUyLMsCu6A1mzaJ49TGT9BH2SVJ6sTNM1/dpuLEiGwpr RX+2cGjfBuRmv+c7ie2jZXdsI9Ew+/dtFstxulExJKhVOU70jW7pnE4YU1AqP+fz/3NV aVgtphfSwpt/r7F5V71DPZXwQXNW/Nczp8KJr5ERGIBOjJ1NBaAOc/o1oNFRZlxnsC6o 7oDw== X-Gm-Message-State: AOJu0Yy9xsb1Gpuu2O9gJS2KxM2jhP5ApAw81MiSKhyAwE3PO1lbVyEq qy5nuJ2ZiPCqL/KvdJmwL5DvUQnTFLwyrMYmWueqd2QpKym6QS3LZCFYDxq0/ImUEtXskLWBx8q rgLVf X-Gm-Gg: ASbGncsZ73/zbtTNfx5GIHw+SE+B/Q01qMNs7DbPFWj0VN4o3Ko1IEDl7IWnGszt2m2 5EwinflrndxWZa98kBbJXqIXFt2qplasLdmwfaqsOwrtQO1P1jSaKByDiCceD/LWdtgafCwwb3e SZHWk9I3eOIDjhW2NQ55syp2qAb1xUybI7J8N1F4h8xWtrPCHNI57FtH2Y3g1A/p82Ob4nOEw+M PZrS5HS1wnC3zv8wOszMkhHHRppyL5SzzsK353K6t2Ce2M6bSE5Kw/1Ci7sQyy6TkI7ilEgGO4p NoEWMCyLZnYlKF3b1ERTpCgUdH3CN3rmw70xIkXZdxt9sFWSsf8QQL0SNCYIouV57xo0GtxNhNA = X-Received: by 2002:a05:6122:2a52:b0:530:66e6:e21a with SMTP id 71dfb90a1353d-530c72f72f7mr321285e0c.3.1748980424424; Tue, 03 Jun 2025 12:53:44 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c2:8c5f:3b12:b58a:98b8:5b2f]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-53074aaf498sm9857566e0c.5.2025.06.03.12.53.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 12:53:43 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Carlos O'Donell , Andrew Pinski Subject: [PATCH 3/3] resolv: Optimize inet_ntop Date: Tue, 3 Jun 2025 16:51:54 -0300 Message-ID: <20250603195332.2822499-4-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250603195332.2822499-1-adhemerval.zanella@linaro.org> References: <20250603195332.2822499-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The benchtests/inet_ntop_ipv4 and benchtests/inet_ntop_ipv6 profile shows that most of time is spent in costly sprint operations: $ perf record ./benchtests/bench-inet_ntop_ipv4 && perf report --stdio [...] 38.53% bench-inet_ntop libc.so [.] __printf_buffer 18.69% bench-inet_ntop libc.so [.] __printf_buffer_write 11.01% bench-inet_ntop libc.so [.] _itoa_word 8.02% bench-inet_ntop bench-inet_ntop_ipv4 [.] bench_start 6.99% bench-inet_ntop libc.so [.] __memmove_avx_unaligned_erms 3.86% bench-inet_ntop libc.so [.] __strchrnul_avx2 2.82% bench-inet_ntop libc.so [.] __strcpy_avx2 1.90% bench-inet_ntop libc.so [.] inet_ntop4 1.78% bench-inet_ntop libc.so [.] __vsprintf_internal 1.55% bench-inet_ntop libc.so [.] __sprintf_chk 1.18% bench-inet_ntop libc.so [.] __GI___inet_ntop $ perf record ./benchtests/bench-inet_ntop_ipv6 && perf report --stdio 35.44% bench-inet_ntop libc.so [.] __printf_buffer 14.35% bench-inet_ntop libc.so [.] __printf_buffer_write 10.27% bench-inet_ntop libc.so [.] __GI___inet_ntop 7.93% bench-inet_ntop libc.so [.] _itoa_word 7.00% bench-inet_ntop libc.so [.] __sprintf_chk 6.20% bench-inet_ntop libc.so [.] __vsprintf_internal 5.26% bench-inet_ntop libc.so [.] __strchrnul_avx2 5.05% bench-inet_ntop bench-inet_ntop_ipv6 [.] bench_start 3.70% bench-inet_ntop libc.so [.] __memmove_avx_unaligned_erms 2.11% bench-inet_ntop libc.so [.] __printf_buffer_done The printf usage is replaced with an expanded function that prints either an IPv4 octet or and IPv6 quartet, the strcpy is replaced with a memcpy (since ABIs usually optimizes the symbol), and inline is used for both inet_ntop4 and inet_ntop6. The performance results on aarch64 Neoverse1 with gcc 14.2.1: * master aarch64-linux-gnu-master$ ./benchtests/bench-inet_ntop_ipv4 "inet_ntop_ipv4": { "workload-ipv4-random": { "duration": 1.43067e+09, "iterations": 8e+06, "reciprocal-throughput": 178.572, "latency": 179.096, "max-throughput": 5.59997e+06, "min-throughput": 5.58359e+06 } aarch64-linux-gnu-master$ ./benchtests/bench-inet_ntop_ipv6 "inet_ntop_ipv6": { "workload-ipv6-random": { "duration": 1.68539e+09, "iterations": 4e+06, "reciprocal-throughput": 421.307, "latency": 421.388, "max-throughput": 2.37357e+06, "min-throughput": 2.37311e+06 } } * patched aarch64-linux-gnu$ ./benchtests/bench-inet_ntop_ipv4 "inet_ntop_ipv4": { "workload-ipv4-random": { "duration": 1.06324e+09, "iterations": 4.4e+07, "reciprocal-throughput": 24.1509, "latency": 24.178, "max-throughput": 4.14063e+07, "min-throughput": 4.13599e+07 } aarch64-linux-gnu$ ./benchtests/bench-inet_ntop_ipv6 "inet_ntop_ipv6": { "workload-ipv6-random": { "duration": 1.08476e+09, "iterations": 2.4e+07, "reciprocal-throughput": 45.2794, "latency": 45.1174, "max-throughput": 2.20851e+07, "min-throughput": 2.21644e+07 } } Checked on aarch64-linux-gnu and x86_64-linux-gnu. Reviewed-by: Collin Funk --- resolv/inet_ntop.c | 134 +++++++++++++++++++++++++++++---------------- 1 file changed, 87 insertions(+), 47 deletions(-) diff --git a/resolv/inet_ntop.c b/resolv/inet_ntop.c index acf5f3cb88..3f2a9ddd87 100644 --- a/resolv/inet_ntop.c +++ b/resolv/inet_ntop.c @@ -26,45 +26,44 @@ #include #include #include - -#ifdef SPRINTF_CHAR -# define SPRINTF(x) strlen(sprintf/**/x) -#else -# define SPRINTF(x) ((size_t)sprintf x) -#endif +#include +#include <_itoa.h> /* * WARNING: Don't even consider trying to compile this on a system where * sizeof(int) < 4. sizeof(int) > 4 is fine; all the world's not a VAX. */ -static const char *inet_ntop4 (const u_char *src, char *dst, socklen_t size); -static const char *inet_ntop6 (const u_char *src, char *dst, socklen_t size); - -/* char * - * __inet_ntop(af, src, dst, size) - * convert a network format address to presentation format. - * return: - * pointer to presentation format address (`dst'), or NULL (see errno). - * author: - * Paul Vixie, 1996. - */ -const char * -__inet_ntop (int af, const void *src, char *dst, socklen_t size) +static inline char *put_uint8 (uint8_t word, char *tp) { - switch (af) { - case AF_INET: - return (inet_ntop4(src, dst, size)); - case AF_INET6: - return (inet_ntop6(src, dst, size)); - default: - __set_errno (EAFNOSUPPORT); - return (NULL); - } - /* NOTREACHED */ + intptr_t s = 1; + if (word >= 100) + { + tp[2] = _itoa_lower_digits[word % 10]; + word /= 10; + s += 1; + } + if (word >= 10) + { + tp[1] = _itoa_lower_digits[word % 10]; + word /= 10; + s += 1; + } + *tp = _itoa_lower_digits[word % 10]; + return tp + s; +} + +static inline char *put_uint16 (uint16_t word, char *tp) +{ + if (word >= 0x1000) + *tp++ = _itoa_lower_digits[(word >> 12) & 0xf]; + if (word >= 0x100) + *tp++ = _itoa_lower_digits[(word >> 8) & 0xf]; + if (word >= 0x10) + *tp++ = _itoa_lower_digits[(word >> 4) & 0xf]; + *tp++ = _itoa_lower_digits[word & 0xf]; + return tp; } -libc_hidden_def (__inet_ntop) -weak_alias (__inet_ntop, inet_ntop) /* const char * * inet_ntop4(src, dst, size) @@ -74,20 +73,36 @@ weak_alias (__inet_ntop, inet_ntop) * notes: * (1) uses no statics * (2) takes a u_char* not an in_addr as input - * author: - * Paul Vixie, 1996. */ -static const char * +static __always_inline const char * inet_ntop4 (const u_char *src, char *dst, socklen_t size) { - static const char fmt[] = "%u.%u.%u.%u"; - char tmp[sizeof "255.255.255.255"]; + enum + { + oct_size = INT_BUFSIZE_BOUND (u_char), + tmp_size = 4 * oct_size + 3 /* '.' */ + 1 /* '\0' */ + }; + char tmp[tmp_size]; + char *tmp_r = tmp; - if (SPRINTF((tmp, fmt, src[0], src[1], src[2], src[3])) >= size) { - __set_errno (ENOSPC); - return (NULL); - } - return strcpy(dst, tmp); + tmp_r = put_uint8 (src[0], tmp_r); + *(tmp_r++) = '.'; + tmp_r = put_uint8 (src[1], tmp_r); + *(tmp_r++) = '.'; + tmp_r = put_uint8 (src[2], tmp_r); + *(tmp_r++) = '.'; + tmp_r = put_uint8 (src[3], tmp_r); + *tmp_r++ = '\0'; + + socklen_t tmp_s = tmp_r - tmp; + if (tmp_s > size) + { + __set_errno (ENOSPC); + return NULL; + } + memcpy (dst, tmp, tmp_s); + + return dst; } /* const char * @@ -96,7 +111,7 @@ inet_ntop4 (const u_char *src, char *dst, socklen_t size) * author: * Paul Vixie, 1996. */ -static const char * +static inline const char * inet_ntop6 (const u_char *src, char *dst, socklen_t size) { /* @@ -108,7 +123,7 @@ inet_ntop6 (const u_char *src, char *dst, socklen_t size) */ char tmp[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"], *tp; struct { int base, len; } best, cur; - u_int words[NS_IN6ADDRSZ / NS_INT16SZ]; + uint16_t words[NS_IN6ADDRSZ / NS_INT16SZ] = { 0 }; int i; /* @@ -116,7 +131,6 @@ inet_ntop6 (const u_char *src, char *dst, socklen_t size) * Copy the input (bytewise) array into a wordwise array. * Find the longest run of 0x00's in src[] for :: shorthanding. */ - memset(words, '\0', sizeof words); for (i = 0; i < NS_IN6ADDRSZ; i += 2) words[i / 2] = (src[i] << 8) | src[i + 1]; best.base = -1; @@ -167,7 +181,7 @@ inet_ntop6 (const u_char *src, char *dst, socklen_t size) tp += strlen(tp); break; } - tp += SPRINTF((tp, "%x", words[i])); + tp = put_uint16 (words[i], tp); } /* Was it a trailing run of 0x00's? */ if (best.base != -1 && (best.base + best.len) == @@ -178,9 +192,35 @@ inet_ntop6 (const u_char *src, char *dst, socklen_t size) /* * Check for overflow, copy, and we're done. */ - if ((socklen_t)(tp - tmp) > size) { + socklen_t tmp_s = tp - tmp; + if (tmp_s > size) { __set_errno (ENOSPC); return (NULL); } - return strcpy(dst, tmp); + return memcpy(dst, tmp, tmp_s); } + +/* char * + * __inet_ntop(af, src, dst, size) + * convert a network format address to presentation format. + * return: + * pointer to presentation format address (`dst'), or NULL (see errno). + * author: + * Paul Vixie, 1996. + */ +const char * +__inet_ntop (int af, const void *src, char *dst, socklen_t size) +{ + switch (af) { + case AF_INET: + return (inet_ntop4(src, dst, size)); + case AF_INET6: + return (inet_ntop6(src, dst, size)); + default: + __set_errno (EAFNOSUPPORT); + return (NULL); + } + /* NOTREACHED */ +} +libc_hidden_def (__inet_ntop) +weak_alias (__inet_ntop, inet_ntop)