Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2194240/?format=api
{ "id": 2194240, "url": "http://patchwork.ozlabs.org/api/patches/2194240/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/patch/20260207154112.106760-1-integral@archlinux.org/", "project": { "id": 41, "url": "http://patchwork.ozlabs.org/api/projects/41/?format=api", "name": "GNU C Library", "link_name": "glibc", "list_id": "libc-alpha.sourceware.org", "list_email": "libc-alpha@sourceware.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260207154112.106760-1-integral@archlinux.org>", "list_archive_url": null, "date": "2026-02-07T15:41:12", "name": "x86-64: Use 32-bit zero idiom for shorter encoding", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "d340f81c1d021fa1e2bf07f7f98928765a5725b8", "submitter": { "id": 92600, "url": "http://patchwork.ozlabs.org/api/people/92600/?format=api", "name": "George Hu", "email": "integral@archlinux.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/glibc/patch/20260207154112.106760-1-integral@archlinux.org/mbox/", "series": [ { "id": 491386, "url": "http://patchwork.ozlabs.org/api/series/491386/?format=api", "web_url": "http://patchwork.ozlabs.org/project/glibc/list/?series=491386", "date": "2026-02-07T15:41:12", "name": "x86-64: Use 32-bit zero idiom for shorter encoding", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/491386/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2194240/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2194240/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "libc-alpha@sourceware.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "libc-alpha@sourceware.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (4096-bit key;\n unprotected) header.d=archlinux.org header.i=@archlinux.org\n header.a=rsa-sha256 header.s=dkim-rsa header.b=dS7F8Sos;\n\tdkim=pass header.d=archlinux.org header.i=@archlinux.org\n header.a=ed25519-sha256 header.s=dkim-ed25519 header.b=nMMHXCmd;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org;\n receiver=patchwork.ozlabs.org)", "sourceware.org;\n\tdkim=pass (4096-bit key,\n unprotected) header.d=archlinux.org header.i=@archlinux.org\n header.a=rsa-sha256 header.s=dkim-rsa header.b=dS7F8Sos;\n\tdkim=pass header.d=archlinux.org header.i=@archlinux.org\n header.a=ed25519-sha256 header.s=dkim-ed25519 header.b=nMMHXCmd", "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=archlinux.org", "sourceware.org; spf=pass smtp.mailfrom=archlinux.org", "server2.sourceware.org;\n arc=none smtp.remote-ip=2a01:4f9:c010:3052::1", "mail.archlinux.org;\n auth=pass smtp.auth=integral smtp.mailfrom=integral@archlinux.org" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4f7ZvX5BKpz1xvh\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 08 Feb 2026 02:42:00 +1100 (AEDT)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 6DEBA4BA23CC\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 7 Feb 2026 15:41:58 +0000 (GMT)", "from mail.archlinux.org (mail.archlinux.org\n [IPv6:2a01:4f9:c010:3052::1])\n by sourceware.org (Postfix) with ESMTPS id 9CD544BA23FD\n for <libc-alpha@sourceware.org>; Sat, 7 Feb 2026 15:41:33 +0000 (GMT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 6DEBA4BA23CC", "OpenDKIM Filter v2.11.0 sourceware.org 9CD544BA23FD" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 9CD544BA23FD", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 9CD544BA23FD", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770478894; cv=none;\n b=hJVeSKZW+RB3K0B2KtuKY8wtdp8KOoVju3UF1TNVAsz34bJmfFm4GCNkpB7gEPWqPUw39TaApaxtHRsr/WJAtqBA/7WKto5VaIVdfLaBVM+Har+xKZ0s+yIGxc9Vq+9vUgKJJPhaFN/JWo+qfyGRn6cAahvrAVEv+IXeKFXWWZM=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1770478894; c=relaxed/simple;\n bh=VjCVAoM+EafDs78nkP7Q+rblYJYqSbmO8z+8lu8Au54=;\n h=From:DKIM-Signature:DKIM-Signature:To:Subject:Date:Message-ID:\n MIME-Version;\n b=H7ZyLbe7UyUcXhcayJjYKy+fjL4lGcepDpooVWLE0CPCCPVIMDL6e3EQuLXII6VlQE7eXD5x8p4swzKmbhNjUcKzPpP35jYtLqytaRJLu/XeR3mdu8KwPGqW+SUoVWUMl+Dug9qW2UMm+7Q/kVj4tA9Z22VZ3z3UAa2GTsEgWNQ=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "From": "George Hu <integral@archlinux.org>", "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=archlinux.org;\n s=dkim-rsa; t=1770478892;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding;\n bh=KWzyd2TkNP+tLgrwvn6DIKd/inV67jNcsfhbjkMVW84=;\n b=dS7F8Sosh5auMluCX/B4tyvoSjE3p1Ed2qKnuvdCSoKV5xEmBKFk48FG8XxTBnzsqzD7bN\n Rp6ZZeTJTIOaR8le2anhPqnWpHG1F6aG5Xp8jvK0fow8UZgT01MoZf7O7ZGRty88pPNNGY\n pfhRzeLZqvGzejPpGQ6YYe5bjLj30U7kRfCNRn124jBGt7NAzeCVTIZAMTYTWT0aNuHh1X\n TcAi+00VY5H89S5pbHuzuJFfYztLdvCIgOOlBoM5xbFk/+9k/Afg7rZjM6BJxsh/swNHJA\n V9+eLa94yYJaPGxN85z+diBl7gSAXuHJYgwPyuPmIRA/x0y8QOh2FP1hC/y5imkzLsIBte\n Xh3ASvO8O6OX39q0yy38mNSfr9xd1TyFsIhmubEuitmJCdvpw8LlJP1XMbBQiY0tsxyqAs\n UCih8Ys1iuDV64825+ke0uEJnl+qIeDqhL4cIPLScGm1+2i9wFGZ+CoWjAtCCBZJC9/8wp\n Kz2PhuuGbu8+U0yVRBtcjqkKOKLX2qVR+17fzqzv1PaLREtIW4guVaffu7mfSlcZcHLlR3\n h5naPx40Re3bk0UmDxqbdcm7SrdLGIwYEgVr+2yyWz82Ah6V6AHsOGJEIikSpltT3CdpRz\n gizCJ9K8KIXuKTc4OMkkkGXvmGN2OrefWWegidr9SetHw+9yRXIXQ=", "v=1; a=ed25519-sha256; c=relaxed/relaxed; d=archlinux.org;\n s=dkim-ed25519; t=1770478892;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding;\n bh=KWzyd2TkNP+tLgrwvn6DIKd/inV67jNcsfhbjkMVW84=;\n b=nMMHXCmd1lBA74k6oe+zTRVyWyjp398Ckb5XmtuF2fNOxuiDQYOkx1nTlCYEaFFoI0P3OT\n A2PNNh3T7EsyocDA==" ], "To": "libc-alpha@sourceware.org", "Cc": "Carlos O'Donell <carlos@redhat.com>,\n\tGeorge Hu <integral@archlinux.org>", "Subject": "[PATCH] x86-64: Use 32-bit zero idiom for shorter encoding", "Date": "Sat, 7 Feb 2026 23:41:12 +0800", "Message-ID": "<20260207154112.106760-1-integral@archlinux.org>", "X-Mailer": "git-send-email 2.52.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "libc-alpha@sourceware.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Libc-alpha mailing list <libc-alpha.sourceware.org>", "List-Unsubscribe": "<https://sourceware.org/mailman/options/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe>", "List-Archive": "<https://sourceware.org/pipermail/libc-alpha/>", "List-Post": "<mailto:libc-alpha@sourceware.org>", "List-Help": "<mailto:libc-alpha-request@sourceware.org?subject=help>", "List-Subscribe": "<https://sourceware.org/mailman/listinfo/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=subscribe>", "Errors-To": "libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org" }, "content": "Replace the 64-bit zero idiom with the 32-bit form. In 64-bit mode,\nzeroing the lower 32 bits of a GPR implicitly clears the entire\nregister. The 32-bit encoding is one byte shorter while preserving\nidentical semantics.\n---\n sysdeps/mach/hurd/x86_64/static-start.S | 2 +-\n sysdeps/mach/hurd/x86_64/tst-sig-redzone.c | 2 +-\n sysdeps/x86_64/multiarch/strcat-sse2-unaligned.S | 2 +-\n sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S | 2 +-\n sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S | 4 ++--\n sysdeps/x86_64/multiarch/strlen-sse2.S | 2 +-\n sysdeps/x86_64/multiarch/wcschr-sse2.S | 2 +-\n sysdeps/x86_64/multiarch/wcscmp-sse2.S | 2 +-\n 8 files changed, 9 insertions(+), 9 deletions(-)", "diff": "diff --git a/sysdeps/mach/hurd/x86_64/static-start.S b/sysdeps/mach/hurd/x86_64/static-start.S\nindex ec9c50239e..3ef524a9b1 100644\n--- a/sysdeps/mach/hurd/x86_64/static-start.S\n+++ b/sysdeps/mach/hurd/x86_64/static-start.S\n@@ -27,7 +27,7 @@ _start:\n \n \tmovq %rsp, %rdi\n \tcall _hurd_stack_setup\n-\txorq %rdx, %rdx\n+\txorq %edx, %edx\n \tjmp _start1\n \n #define _start _start1\ndiff --git a/sysdeps/mach/hurd/x86_64/tst-sig-redzone.c b/sysdeps/mach/hurd/x86_64/tst-sig-redzone.c\nindex 32c7ab90f4..24b510c0aa 100644\n--- a/sysdeps/mach/hurd/x86_64/tst-sig-redzone.c\n+++ b/sysdeps/mach/hurd/x86_64/tst-sig-redzone.c\n@@ -103,7 +103,7 @@ asm (\n \"repe\tscasq\\n\"\n \"\tjne\tfail\\n\"\n \n-\"\txor\t%rax,%rax\\n\"\n+\"\txor\t%eax,%eax\\n\"\n \"\tret\\n\"\n \"fail:\\n\"\n \"\tmovq\t$1,%rax\\n\"\ndiff --git a/sysdeps/x86_64/multiarch/strcat-sse2-unaligned.S b/sysdeps/x86_64/multiarch/strcat-sse2-unaligned.S\nindex 1c04d611be..3c3f039047 100644\n--- a/sysdeps/x86_64/multiarch/strcat-sse2-unaligned.S\n+++ b/sysdeps/x86_64/multiarch/strcat-sse2-unaligned.S\n@@ -45,7 +45,7 @@ ENTRY (STRCAT)\n /* Inline corresponding strlen file, temporary until new strcpy\n implementation gets merged. */\n \n-\txor\t%rax, %rax\n+\txor\t%eax, %eax\n \tmov\t%edi, %ecx\n \tand\t$0x3f, %ecx\n \tpxor\t%xmm0, %xmm0\ndiff --git a/sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S b/sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S\nindex 9521cd4dc4..7d2677b4fd 100644\n--- a/sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S\n+++ b/sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S\n@@ -69,7 +69,7 @@ L(loop):\n /* Return NULL. */\n \t.p2align 4\n L(return_null):\n-\txor\t%rax, %rax\n+\txor\t%eax, %eax\n \tret\n \n L(matches):\ndiff --git a/sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S b/sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S\nindex 3dfee3039a..59ff7bc85e 100644\n--- a/sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S\n+++ b/sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S\n@@ -1657,7 +1657,7 @@ L(CopyFrom1To16BytesXmmExit):\n \t.p2align 4\n L(StrncpyFillTailWithZero):\n \tpxor\t%xmm0, %xmm0\n-\txor\t%rdx, %rdx\n+\txor\t%edx, %edx\n \tsub\t$16, %r8\n \tjbe\tL(StrncpyFillExit)\n \n@@ -1736,7 +1736,7 @@ L(Unaligned64LeaveCase3):\n \n \t.p2align 4\n L(Unaligned64LeaveCase2):\n-\txor\t%rcx, %rcx\n+\txor\t%ecx, %ecx\n \tpcmpeqb\t%xmm4, %xmm0\n \tpmovmskb %xmm0, %rdx\n \tadd\t$48, %r8\ndiff --git a/sysdeps/x86_64/multiarch/strlen-sse2.S b/sysdeps/x86_64/multiarch/strlen-sse2.S\nindex ca6e0812be..6085ad1236 100644\n--- a/sysdeps/x86_64/multiarch/strlen-sse2.S\n+++ b/sysdeps/x86_64/multiarch/strlen-sse2.S\n@@ -77,7 +77,7 @@ ENTRY(STRLEN)\n /* Do not read anything when n==0. */\n \ttest\t%RSI_LP, %RSI_LP\n \tjne\tL(n_nonzero)\n-\txor\t%rax, %rax\n+\txor\t%eax, %eax\n \tret\n L(n_nonzero):\n # ifdef AS_WCSLEN\ndiff --git a/sysdeps/x86_64/multiarch/wcschr-sse2.S b/sysdeps/x86_64/multiarch/wcschr-sse2.S\nindex ec11a16a73..f0069f026a 100644\n--- a/sysdeps/x86_64/multiarch/wcschr-sse2.S\n+++ b/sysdeps/x86_64/multiarch/wcschr-sse2.S\n@@ -155,7 +155,7 @@ L(match):\n \n \t.p2align 4\n L(return_null):\n-\txor\t%rax, %rax\n+\txor\t%eax, %eax\n \tret\n \n END (WCSCHR)\ndiff --git a/sysdeps/x86_64/multiarch/wcscmp-sse2.S b/sysdeps/x86_64/multiarch/wcscmp-sse2.S\nindex 5ab124e0a7..a54615a9ae 100644\n--- a/sysdeps/x86_64/multiarch/wcscmp-sse2.S\n+++ b/sysdeps/x86_64/multiarch/wcscmp-sse2.S\n@@ -950,7 +950,7 @@ L(nequal_bigger):\n \n \t.p2align 4\n L(equal):\n-\txor\t%rax, %rax\n+\txor\t%eax, %eax\n \tret\n \n END (STRCMP)\n", "prefixes": [] }