get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.1/patches/2230224/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2230224,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2230224/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260429133317.67C914BB24E8@sourceware.org/",
    "project": {
        "id": 17,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/17/?format=api",
        "name": "GNU Compiler Collection",
        "link_name": "gcc",
        "list_id": "gcc-patches.gcc.gnu.org",
        "list_email": "gcc-patches@gcc.gnu.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null
    },
    "msgid": "<20260429133317.67C914BB24E8@sourceware.org>",
    "date": "2026-04-29T13:31:56",
    "name": "[x86] Adjust gcc.target/i386/vect-epilogues-2.c and vect-pr113078.c",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "f7e021d2546e314e7915f6db8c53fccd9982056f",
    "submitter": {
        "id": 4338,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/4338/?format=api",
        "name": "Richard Biener",
        "email": "rguenther@suse.de"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260429133317.67C914BB24E8@sourceware.org/mbox/",
    "series": [
        {
            "id": 502062,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/502062/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=502062",
            "date": "2026-04-29T13:31:56",
            "name": "[x86] Adjust gcc.target/i386/vect-epilogues-2.c and vect-pr113078.c",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/502062/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2230224/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2230224/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "gcc-patches@gcc.gnu.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@legolas.ozlabs.org",
            "gcc-patches@gcc.gnu.org"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256\n header.s=susede2_rsa header.b=Z2tNDZKR;\n\tdkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=bd7SZ70v;\n\tdkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de\n header.a=rsa-sha256 header.s=susede2_rsa header.b=TBKILXbX;\n\tdkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=cY8g1RUF;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)",
            "sourceware.org;\n\tdkim=pass (1024-bit key,\n unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256\n header.s=susede2_rsa header.b=Z2tNDZKR;\n\tdkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=bd7SZ70v;\n\tdkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de\n header.a=rsa-sha256 header.s=susede2_rsa header.b=TBKILXbX;\n\tdkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=cY8g1RUF",
            "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=suse.de",
            "sourceware.org; spf=pass smtp.mailfrom=suse.de",
            "server2.sourceware.org;\n arc=none smtp.remote-ip=195.135.223.130",
            "smtp-out1.suse.de;\n\tnone"
        ],
        "Received": [
            "from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 4g5JCg3cMKz1yHZ\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 23:33:19 +1000 (AEST)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 67C914BB24E8\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 13:33:17 +0000 (GMT)",
            "from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])\n by sourceware.org (Postfix) with ESMTPS id 7E6674BAD172\n for <gcc-patches@gcc.gnu.org>; Wed, 29 Apr 2026 13:32:05 +0000 (GMT)",
            "from murzim.nue2.suse.org (unknown [10.168.4.243])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (No client certificate requested)\n by smtp-out1.suse.de (Postfix) with ESMTPS id 54FAA6A887;\n Wed, 29 Apr 2026 13:31:56 +0000 (UTC)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 67C914BB24E8",
            "OpenDKIM Filter v2.11.0 sourceware.org 7E6674BAD172"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 7E6674BAD172",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 7E6674BAD172",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777469525; cv=none;\n b=Pya5RkHbLO8FowvDKrslrucUyK3ycS7zdKTSeUgqDOikhUdq9Aha+jk3WhESDOSOg9L2FjDux8ZsottNrh48woVJZ+ARnRKn91LaQYThkeHdWZ271a0qIJro08m6EfJC+YZdjScKu+pYUQ4rinlwonEm5CFZ67mQNJfJmXKMvrc=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777469525; c=relaxed/simple;\n bh=XW2wn5c0JUWF/b8rSpGCgK7D536WAYqAK9ewCSRn4gg=;\n h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:Date:\n From:To:Subject:MIME-Version;\n b=CGhzZWcQP3WMyC93l8JH0YrnvQPwhmMdnmiDphOU60jlixvq8byLB9j079L5CCYvFh5HnY/3trMp8OP3lNq7R6mjY5Xe4PYRxfYOZs+q42pINz/5FodwOzN6c2ScqxD8gMiCoTJJtUtiawm0w8ZzlnDIQtAr4Q0+ZgUo5PYosis=",
        "ARC-Authentication-Results": "i=1; server2.sourceware.org",
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_rsa;\n t=1777469520;\n h=from:from:reply-to:date:date:to:to:cc:cc:mime-version:mime-version:\n content-type:content-type; bh=Lu4AVkw+3jsP7qe2D4Aw19UGcMDSCo5xlZ2Rxvt2jEE=;\n b=Z2tNDZKR5TdE2LVk0yy4SPxC5iZaHETIpi2k5yM382Ghp1XpgOAJu+4j8Kjp2LKY6OP2s4\n 0rN7Zv09DGVt3R9zQ2RWkK2PPhr+NdhBGQ+h0kcJOs3LA14B/hzEn+wfvn7bV4nOhdWyQi\n 7r1lVUTvdsGhq1N/emyOD9ONqKnDb7s=",
            "v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_ed25519; t=1777469520;\n h=from:from:reply-to:date:date:to:to:cc:cc:mime-version:mime-version:\n content-type:content-type; bh=Lu4AVkw+3jsP7qe2D4Aw19UGcMDSCo5xlZ2Rxvt2jEE=;\n b=bd7SZ70vGhf036Z2DY3nvX5joF/1hz8B3MKixTgDxh+EXXdwdZ5xpKuTWla6Mus59G/epx\n z3L2MC8HtiT0CSBw==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_rsa;\n t=1777469516;\n h=from:from:reply-to:date:date:to:to:cc:cc:mime-version:mime-version:\n content-type:content-type; bh=Lu4AVkw+3jsP7qe2D4Aw19UGcMDSCo5xlZ2Rxvt2jEE=;\n b=TBKILXbXHnZ5zdZ86wpdDgLagip/zyO0G4wFvt2Y/lb2Aj2hZZLMWtIArwKW+0MfpZ3ILz\n f3pC41ecREQpSbQCin2fmVJV2aZRSMMbvcKzMtJb+7w7XybopHmCYSNKWAnLM9GYFhEjIe\n KJLF3+ylYDEswSvOUdm4DMYwPKMIjAE=",
            "v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_ed25519; t=1777469516;\n h=from:from:reply-to:date:date:to:to:cc:cc:mime-version:mime-version:\n content-type:content-type; bh=Lu4AVkw+3jsP7qe2D4Aw19UGcMDSCo5xlZ2Rxvt2jEE=;\n b=cY8g1RUFtwkHWAXaUE8OYbPj7Dql2g9VULTbfy1Hnrj7RvrEzcdEJczZVhssaRUHwPVdgP\n 2ons61adwkDiEBAw=="
        ],
        "Date": "Wed, 29 Apr 2026 15:31:56 +0200 (CEST)",
        "From": "Richard Biener <rguenther@suse.de>",
        "To": "gcc-patches@gcc.gnu.org",
        "cc": "hongtao.liu@intel.com",
        "Subject": "[PATCH] [x86] Adjust gcc.target/i386/vect-epilogues-2.c and\n vect-pr113078.c",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=US-ASCII",
        "X-Spamd-Result": "default: False [-1.80 / 50.00]; BAYES_HAM(-3.00)[100.00%];\n MISSING_MID(2.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000];\n NEURAL_HAM_SHORT(-0.20)[-0.995]; MIME_GOOD(-0.10)[text/plain];\n MISSING_XM_UA(0.00)[]; RCVD_COUNT_ZERO(0.00)[0];\n ARC_NA(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; FROM_HAS_DN(0.00)[];\n DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];\n FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+];\n TO_DN_NONE(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[];\n DBL_BLOCKED_OPENRESOLVER(0.00)[murzim.nue2.suse.org:helo]",
        "X-BeenThere": "gcc-patches@gcc.gnu.org",
        "X-Mailman-Version": "2.1.30",
        "Precedence": "list",
        "List-Id": "Gcc-patches mailing list <gcc-patches.gcc.gnu.org>",
        "List-Unsubscribe": "<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>",
        "List-Archive": "<https://gcc.gnu.org/pipermail/gcc-patches/>",
        "List-Post": "<mailto:gcc-patches@gcc.gnu.org>",
        "List-Help": "<mailto:gcc-patches-request@gcc.gnu.org?subject=help>",
        "List-Subscribe": "<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>",
        "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org",
        "Message-Id": "<20260429133317.67C914BB24E8@sourceware.org>"
    },
    "content": "The following adjusts two very similar testcases that when\nvector cost comparison is enabled and with generic tuning,\nchose to use SSE vector size for the vector epilogue as that\nreduces the possible iterations through the scalar epilogue\nfollowing that and thus speeds up the overall epilogue processing\nfor a majority of cases.  I have chosen to duplicate the\ntestcases for --param ix86-vect-compare-costs=0 and =1.\n\nTested on x86_64-unknown-linux-gnu, OK?\n\nThanks,\nRichard.\n\n\t* gcc.target/i386/vect-epilogues-2.c: Add\n\t--param ix86-vect-compare-costs=0.\n\t* gcc.target/i386/vect-epilogues-2b.c: Duplicate from\n\tgcc.target/i386/vect-epilogues-2.c, add\n\t--param ix86-vect-compare-costs=1 and adjust expected\n\tvectorization.\n\t* gcc.target/i386/vect-pr113078.c: Likewise.\n\t* gcc.target/i386/vect-pr113078b.c: Likewise.\n---\n .../gcc.target/i386/vect-epilogues-2.c         |  2 +-\n .../gcc.target/i386/vect-epilogues-2b.c        | 15 +++++++++++++++\n gcc/testsuite/gcc.target/i386/vect-pr113078.c  |  2 +-\n gcc/testsuite/gcc.target/i386/vect-pr113078b.c | 18 ++++++++++++++++++\n 4 files changed, 35 insertions(+), 2 deletions(-)\n create mode 100644 gcc/testsuite/gcc.target/i386/vect-epilogues-2b.c\n create mode 100644 gcc/testsuite/gcc.target/i386/vect-pr113078b.c",
    "diff": "diff --git a/gcc/testsuite/gcc.target/i386/vect-epilogues-2.c b/gcc/testsuite/gcc.target/i386/vect-epilogues-2.c\nindex d6c06edcacd..52bdade7e3b 100644\n--- a/gcc/testsuite/gcc.target/i386/vect-epilogues-2.c\n+++ b/gcc/testsuite/gcc.target/i386/vect-epilogues-2.c\n@@ -1,5 +1,5 @@\n /* { dg-do compile } */\n-/* { dg-options \"-O3 -mavx512bw -mtune=generic -fdump-tree-vect-optimized\" } */\n+/* { dg-options \"-O3 -mavx512bw -mtune=generic --param ix86-vect-compare-costs=0 -fdump-tree-vect-optimized\" } */\n \n int test (signed char *data, int n)\n {\ndiff --git a/gcc/testsuite/gcc.target/i386/vect-epilogues-2b.c b/gcc/testsuite/gcc.target/i386/vect-epilogues-2b.c\nnew file mode 100644\nindex 00000000000..4a58dc67bde\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/i386/vect-epilogues-2b.c\n@@ -0,0 +1,15 @@\n+/* { dg-do compile } */\n+/* { dg-options \"-O3 -mavx512bw -mtune=generic --param ix86-vect-compare-costs=1 -fdump-tree-vect-optimized\" } */\n+\n+int test (signed char *data, int n)\n+{\n+  int sum = 0;\n+  for (int i = 0; i < n; ++i)\n+    sum += data[i];\n+  return sum;\n+}\n+\n+/* { dg-final { scan-tree-dump \"loop vectorized using 64 byte vectors\" \"vect\" } } */\n+/* { dg-final { scan-tree-dump-not \"loop vectorized using 32 byte vectors\" \"vect\" } } */\n+/* { dg-final { scan-tree-dump \"loop vectorized using 16 byte vectors\" \"vect\" } } */\n+/* { dg-final { scan-tree-dump \"loop vectorized using 8 byte vectors\" \"vect\" { target { ! ia32 } } } } */\ndiff --git a/gcc/testsuite/gcc.target/i386/vect-pr113078.c b/gcc/testsuite/gcc.target/i386/vect-pr113078.c\nindex e7666054324..3a1235f6426 100644\n--- a/gcc/testsuite/gcc.target/i386/vect-pr113078.c\n+++ b/gcc/testsuite/gcc.target/i386/vect-pr113078.c\n@@ -1,5 +1,5 @@\n /* { dg-do compile } */\n-/* { dg-options \"-O3 -mavx512vl\" } */\n+/* { dg-options \"-O3 -mavx512vl --param ix86-vect-compare-costs=0\" } */\n \n int\n foo (int n, int* p, int* pi)\ndiff --git a/gcc/testsuite/gcc.target/i386/vect-pr113078b.c b/gcc/testsuite/gcc.target/i386/vect-pr113078b.c\nnew file mode 100644\nindex 00000000000..a60f3bb35ad\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/i386/vect-pr113078b.c\n@@ -0,0 +1,18 @@\n+/* { dg-do compile } */\n+/* { dg-options \"-O3 -mavx512vl -mtune=generic --param ix86-vect-compare-costs=1\" } */\n+\n+int\n+foo (int n, int* p, int* pi)\n+{\n+  int sum = 0;\n+  for (int i = 0; i != n; i++)\n+    {\n+      if (pi[i] > 0)\n+\tsum -= p[i];\n+    }\n+  return sum;\n+}\n+\n+/* We vectorize with 64 byte vectors and 16 byte vector epilog which\n+   we completely peel.  */\n+/* { dg-final { scan-assembler-times \"vpsub\\[^\\r\\n\\]*%k\" 4 } } */\n",
    "prefixes": [
        "x86"
    ]
}