get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2217749,
    "url": "http://patchwork.ozlabs.org/api/patches/2217749/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/or8qb97880.fsf_-_@lxoliva.fsfla.org/",
    "project": {
        "id": 17,
        "url": "http://patchwork.ozlabs.org/api/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,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<or8qb97880.fsf_-_@lxoliva.fsfla.org>",
    "list_archive_url": null,
    "date": "2026-03-30T13:33:19",
    "name": "[FYI] testsuite: x86: move alias-checks.C into vect",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "0c9bcd085223fe1011c3f56db50ddb7f1f75aba1",
    "submitter": {
        "id": 74937,
        "url": "http://patchwork.ozlabs.org/api/people/74937/?format=api",
        "name": "Alexandre Oliva",
        "email": "oliva@adacore.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/or8qb97880.fsf_-_@lxoliva.fsfla.org/mbox/",
    "series": [
        {
            "id": 498031,
            "url": "http://patchwork.ozlabs.org/api/series/498031/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=498031",
            "date": "2026-03-30T13:33:19",
            "name": "[FYI] testsuite: x86: move alias-checks.C into vect",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/498031/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2217749/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2217749/checks/",
    "tags": {},
    "related": [],
    "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 (2048-bit key;\n secure) header.d=adacore.com header.i=@adacore.com header.a=rsa-sha256\n header.s=google header.b=aeniiNx7;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::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 (2048-bit key,\n secure) header.d=adacore.com header.i=@adacore.com header.a=rsa-sha256\n header.s=google header.b=aeniiNx7",
            "sourceware.org; dmarc=pass (p=quarantine dis=none)\n header.from=adacore.com",
            "sourceware.org; spf=pass smtp.mailfrom=adacore.com",
            "server2.sourceware.org;\n arc=none smtp.remote-ip=74.125.82.172"
        ],
        "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 4fksfR2DTjz1yG8\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 31 Mar 2026 00:34:07 +1100 (AEDT)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 705CB4BAD16D\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 30 Mar 2026 13:34:05 +0000 (GMT)",
            "from mail-dy1-f172.google.com (mail-dy1-f172.google.com\n [74.125.82.172])\n by sourceware.org (Postfix) with ESMTPS id 5D2AA4BA2E39\n for <gcc-patches@gcc.gnu.org>; Mon, 30 Mar 2026 13:33:36 +0000 (GMT)",
            "by mail-dy1-f172.google.com with SMTP id\n 5a478bee46e88-2c17d152c01so3273140eec.0\n for <gcc-patches@gcc.gnu.org>; Mon, 30 Mar 2026 06:33:36 -0700 (PDT)",
            "from free.home ([2804:14c:4d1:41a6::1455])\n by smtp.gmail.com with ESMTPSA id\n 5a478bee46e88-2c3c41c1547sm7038408eec.7.2026.03.30.06.33.34\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 30 Mar 2026 06:33:34 -0700 (PDT)",
            "from livre (livre.home [172.31.160.2])\n by free.home (8.15.2/8.15.2) with ESMTPS id 62UDXJXM049530\n (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT);\n Mon, 30 Mar 2026 10:33:20 -0300"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 705CB4BAD16D",
            "OpenDKIM Filter v2.11.0 sourceware.org 5D2AA4BA2E39"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 5D2AA4BA2E39",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 5D2AA4BA2E39",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1774877616; cv=none;\n b=FuvvMAfwV5G6OZz2RHV5xWV5Y7qoroMNIBeQg9yvC0qYmP3ve40Jm+Q0K9u8jSyFl3DnnceNHryjJ55enE/Uaqk4JQWFqc974Ju+3KeMK/2dqZnHd+wbdGsOEaeB4NfXtNujAeBdrJxIxfUkYp9rCtl/r0ONyXLx1JMSf/8umvk=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1774877616; c=relaxed/simple;\n bh=yliqRZBlY0/JenWboJHvR5ugivecX+iPI1nS3ZvY6II=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=lo2QOC0cWLUnspJ678wm5S+eqNAp/yKGOqDwEjLO8Pu6z3GRiz1X4ce5rp7fAjwWVgu0/1gR2seVUWfmhCW4NiGrY7kDeAg1+t4rdf+A0wVdhtJ186Rrr4nmW7ZILw2FjUFhvhpI/kHF65sXT8a9rSHLq2+xVpnpvZHVX3BUtYc=",
        "ARC-Authentication-Results": "i=1; server2.sourceware.org",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=adacore.com; s=google; t=1774877615; x=1775482415; darn=gcc.gnu.org;\n h=mime-version:user-agent:message-id:in-reply-to:date:references\n :organization:subject:cc:to:from:from:to:cc:subject:date:message-id\n :reply-to; bh=wfE6JJjuJZBsCATjeTAuDx4PGEgSVoAS4za6+id8dvA=;\n b=aeniiNx7aWpU5W+CKqK7vWISS24cwoMEcQZ+tEeyuUCjOCuA8RKR0KMnuVAK8D76jH\n ofCCQmrgCQrt+7aYmdGKSV0i3etlwuerN5SMuB7E7DVP3lWYZ3EM7TwqeBiGTUu8dSMj\n KwTjriqnKoZmdB9O5gVeA/3m4UQlmYw/E09T4t9Y8AJvnTS56eK7sHJnPySW/fEX5A7T\n kZf3GDOdyztV2hUgOFIRhIZyOCR08f4CGtwNlVmEP88Ejm1Bk4rjkpZ6roj4h+r+L3Hw\n K824jKvv3NvdEW+yD8L5gJJuKwGURFLOEMc180ni6Nuye3xwimq3xX68lRTt6aTDSEN4\n H3pg==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774877615; x=1775482415;\n h=mime-version:user-agent:message-id:in-reply-to:date:references\n :organization:subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to\n :cc:subject:date:message-id:reply-to;\n bh=wfE6JJjuJZBsCATjeTAuDx4PGEgSVoAS4za6+id8dvA=;\n b=j25NvSgzj5CvQa8XtlcKOquClYuWLgLs/0Z8uHuOVh6rbJZjtdK42F+jYx5zPJfpsX\n tgRsmzDtyibFA2XNgv2n5xP800CugBrhsrAqRbhj0lYtVBRllnsSZijUa93ZfuHuRobg\n 9jxZs7l71Pljp0IFDfgpH1t5KvlQd0kOlYatrh1PRSzcm56j1cXQiISD95DVd4OwXOjg\n cLvyZ3QH+lZCXy5UPP9EEz39kdlmjgM/L8lQQyqUcGdD4Epwsx31XmR93BLzqR9D9y43\n hQitGQNaTHRgXxDq9dTEVtHo4Vh32FbQ9fo3JVIpEs1vcdgaG2YsjPFHZtjing60AFJX\n DiwA==",
        "X-Gm-Message-State": "AOJu0YxL+PSdsDllMWaejRrijTGBsb7ZYQAmlJPN1MJNqreJHpDDXzvh\n yLRWMUvQYyj9soENAsjC3z+AAE/f0xsihsnuAaCLILx6Q7HRRTL5dKYTwMh1OgvQvA==",
        "X-Gm-Gg": "ATEYQzxTpWKZa3kakh6HD+8ITVmjBuLSL7UpiLgIJHKWuKF4nHg65VKgTYuwi3q8TmS\n PC8Hv8ec4roOlPtXf3rXT/65ZGn95m8oqIdjX2EdyIPNkdGfuIhuM4GWVu5UtqII9WEeuE2W3Lr\n ZHzuOnHHiWlx/Eb43/CJEN9/afyawXdU+zxM+gwrTw54PVAkqBahYfkw9iy0Z24OZCg2FwDU1ku\n H4tBwjI/58TG5QOkgicCgdRdWQAzVDhTx0r87Af/nALyZqJE+9wpNsPslQdpDnUybmtf7GnxUjb\n vjs8cqdX6UGIOE2ZSUmxsN8H3h3NQ3Wi1letvXCQ0k0MuWXa1yy18pDJE6nIw/QA4RS7Rry9XvR\n T+LSAzLcWRoCqXZNIN/frFivUsbl0aPqqNtEb2Fo9Waf3bCo7C3/SdXS/RthixsVCPX5NTtW0xr\n wSDuDFHtxa2A==",
        "X-Received": "by 2002:a05:7300:a485:b0:2b7:b7e7:9025 with SMTP id\n 5a478bee46e88-2c185f343ecmr6105370eec.31.1774877615036;\n Mon, 30 Mar 2026 06:33:35 -0700 (PDT)",
        "From": "Alexandre Oliva <oliva@adacore.com>",
        "To": "Richard Biener <rguenther@suse.de>",
        "Cc": "gcc-patches@gcc.gnu.org, Rainer Orth <ro@cebitec.uni-bielefeld.de>,\n Mike Stump <mikestump@comcast.net>, Jan Hubicka <hubicka@ucw.cz>, Uros\n Bizjak <ubizjak@gmail.com>,\n Tamar Christina <tamar.christina@arm.com>, Zdenek Dvorak <ook@ucw.cz>",
        "Subject": "[FYI PATCH] testsuite: x86: move alias-checks.C into vect",
        "Organization": "Free thinker, does not speak for AdaCore",
        "References": "<ormrzr8bm5.fsf@lxoliva.fsfla.org>\n <DF5B36CF-24A8-4411-9AA1-A447BE491FB4@suse.de>\n <or341j82hl.fsf@lxoliva.fsfla.org>",
        "Date": "Mon, 30 Mar 2026 10:33:19 -0300",
        "In-Reply-To": "<or341j82hl.fsf@lxoliva.fsfla.org> (Alexandre Oliva's message of\n \"Sun, 29 Mar 2026 05:27:18 -0300\")",
        "Message-ID": "<or8qb97880.fsf_-_@lxoliva.fsfla.org>",
        "User-Agent": "Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Scanned-By": "MIMEDefang 2.84",
        "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"
    },
    "content": "On Mar 29, 2026, Alexandre Oliva <oliva@adacore.com> wrote:\n\n> On Mar 29, 2026, Richard Biener <rguenther@suse.de> wrote:\n>> Moving the test is OK.\n\n> I'll split out that big, then.\n\ng++.dg/alias-checks.C requires vect_double outside vect.exp, where\n-msse2 would have got enabled, but that effective_target is not\nsupposed to be used in such circumstances: it passes even when SSE2 is\ndisabled.  Without enabling SSE2, vectors of doubles aren't really\navailable, so we don't get the expected vectorizations and the test\nfails.\n\nInstead of adding machine-specific options to alias-checks.C, I'm\nmoving it under g++.dg/vect/ and renaming it so that it gets, and\ndoesn't override, the default vector options for each platform.\n\nRegstrapped on x86_64-linux-gnu.  Also tested with ppc-elf and\nppc-vx7r2.  I'm going to put it in in the not-too-distant future ;-)\n\n\nfor  gcc/testsuite/ChangeLog\n\n\t* g++.dg/alias-checks.C: Rename to...\n\t* g++.dg/vect/vect-alias-checks.C: ... this.  Don't override\n\tvector options.\n---\n gcc/testsuite/g++.dg/alias-checks.C           |   86 -------------------------\n gcc/testsuite/g++.dg/vect/vect-alias-checks.C |   86 +++++++++++++++++++++++++\n 2 files changed, 86 insertions(+), 86 deletions(-)\n delete mode 100644 gcc/testsuite/g++.dg/alias-checks.C\n create mode 100644 gcc/testsuite/g++.dg/vect/vect-alias-checks.C",
    "diff": "diff --git a/gcc/testsuite/g++.dg/alias-checks.C b/gcc/testsuite/g++.dg/alias-checks.C\ndeleted file mode 100644\nindex b8ff3ad605c23..0000000000000\n--- a/gcc/testsuite/g++.dg/alias-checks.C\n+++ /dev/null\n@@ -1,86 +0,0 @@\n-\n-// { dg-do compile }\n-// { dg-require-effective-target c++17 }\n-// { dg-require-effective-target vect_double }\n-// { dg-options \"-O3 -fdump-tree-vect-all\" }\n-// { dg-skip-if \"required hosted libstdc++ for cmath and iostream\" { ! hostedlib } }\n-\n-#include <cstdlib>\n-#include <cmath>\n-#include <iostream>\n-void DoIfClause(double *l, double *r, const double *m2, const double *m1,\n-        const double *c, const double *p1, const double *p2, int istart, int iend)\n-{\n-    constexpr double w5alpha[3][3] = {{1.0 / 3.0, -7.0 / 6.0, 11.0 / 6.0},\n-        {-1.0 / 6.0, 5.0 / 6.0, 1.0 / 3.0},\n-        {1.0 / 3.0, 5.0 / 6.0, -1.0 / 6.0}};\n-    constexpr double w5gamma[3] = {0.1, 0.6, 0.3};\n-    constexpr double eps = 1e-100;\n-    constexpr double thirteen_thirds = 13.0 / 3.0;\n-\n-    for (int i = istart; i <= iend; ++i) {\n-        const double q0 = m2[i];\n-        const double q1 = m1[i];\n-        const double q2 = c[i];\n-        const double q3 = p1[i];\n-        const double q4 = p2[i];\n-        double &ql = l[i];\n-        double &qr = r[i];\n-        double a = q0 - 2 * q1 + q2;\n-        double b = q0 - 4.0 * q1 + 3.0 * q2;\n-        double beta0 = thirteen_thirds * a * a + b * b + eps;\n-        a = q1 - 2.0 * q2 + q3;\n-        b = q3 - q1;\n-        double beta1 = thirteen_thirds * a * a + b * b + eps;\n-        a = q2 - 2.0 * q3 + q4;\n-        b = q4 - 4.0 * q3 + 3.0 * q2;\n-        double beta2 = thirteen_thirds * a * a + b * b + eps;\n-        const double tau5 = std::abs(beta2 - beta0);\n-\n-        beta0 = (beta0 + tau5) / beta0;\n-        beta1 = (beta1 + tau5) / beta1;\n-        beta2 = (beta2 + tau5) / beta2;\n-\n-        double w0 = w5gamma[0] * beta0 + eps;\n-        double w1 = w5gamma[1] * beta1 + eps;\n-        double w2 = w5gamma[2] * beta2 + eps;\n-        double wsum = 1.0 / (w0 + w1 + w2);\n-        ql = w0 * (w5alpha[0][0] * q0 + w5alpha[0][1] * q1 + w5alpha[0][2] * q2);\n-        ql += w1 * (w5alpha[1][0] * q1 + w5alpha[1][1] * q2 + w5alpha[1][2] * q3);\n-        ql += w2 * (w5alpha[2][0] * q2 + w5alpha[2][1] * q3 + w5alpha[2][2] * q4);\n-        ql *= wsum;\n-        const double alpha_l = 3.0 * wsum * w0 * w1 * w2 /\n-            (w5gamma[2] * w0 * w1 + w5gamma[1] * w0 * w2 +\n-             w5gamma[0] * w1 * w2) +\n-            eps;\n-\n-        w0 = w5gamma[0] * beta2 + eps;\n-        w1 = w5gamma[1] * beta1 + eps;\n-        w2 = w5gamma[2] * beta0 + eps;\n-        wsum = 1.0 / (w0 + w1 + w2);\n-        qr = w0 * (w5alpha[0][0] * q4 + w5alpha[0][1] * q3 + w5alpha[0][2] * q2);\n-        qr += w1 * (w5alpha[1][0] * q3 + w5alpha[1][1] * q2 + w5alpha[1][2] * q1);\n-        qr += w2 * (w5alpha[2][0] * q2 + w5alpha[2][1] * q1 + w5alpha[2][2] * q0);\n-        qr *= wsum;\n-        const double alpha_r = 3.0 * wsum * w0 * w1 * w2 /\n-            (w5gamma[2] * w0 * w1 + w5gamma[1] * w0 * w2 +\n-             w5gamma[0] * w1 * w2) +\n-            eps;\n-\n-        double dq = q3 - q2;\n-        {\n-            const double dm = q2 - q1;\n-            const double dp = dq;\n-            const double dc = (dm * dp > 0.0) * 0.5 * (dm + dp);\n-            dq = 0.5 * std::copysign(\n-                    std::min(std::fabs(dc),\n-                        2.0 * std::min(std::fabs(dm), std::fabs(dp))),\n-                    dc);\n-        }\n-\n-        const double alpha_lin = 2.0 * alpha_l * alpha_r / (alpha_l + alpha_r);\n-        ql = alpha_lin * ql + (1.0 - alpha_lin) * (q2 + dq);\n-        qr = alpha_lin * qr + (1.0 - alpha_lin) * (q2 - dq);\n-    }\n-}\n-/* { dg-final { scan-tree-dump \"LOOP VECTORIZED\" \"vect\" } } */\ndiff --git a/gcc/testsuite/g++.dg/vect/vect-alias-checks.C b/gcc/testsuite/g++.dg/vect/vect-alias-checks.C\nnew file mode 100644\nindex 0000000000000..97c97d2c99e0d\n--- /dev/null\n+++ b/gcc/testsuite/g++.dg/vect/vect-alias-checks.C\n@@ -0,0 +1,86 @@\n+\n+// { dg-do compile }\n+// { dg-require-effective-target c++17 }\n+// { dg-require-effective-target vect_double }\n+// { dg-additional-options \"-O3 -fdump-tree-vect-all\" }\n+// { dg-skip-if \"required hosted libstdc++ for cmath and iostream\" { ! hostedlib } }\n+\n+#include <cstdlib>\n+#include <cmath>\n+#include <iostream>\n+void DoIfClause(double *l, double *r, const double *m2, const double *m1,\n+        const double *c, const double *p1, const double *p2, int istart, int iend)\n+{\n+    constexpr double w5alpha[3][3] = {{1.0 / 3.0, -7.0 / 6.0, 11.0 / 6.0},\n+        {-1.0 / 6.0, 5.0 / 6.0, 1.0 / 3.0},\n+        {1.0 / 3.0, 5.0 / 6.0, -1.0 / 6.0}};\n+    constexpr double w5gamma[3] = {0.1, 0.6, 0.3};\n+    constexpr double eps = 1e-100;\n+    constexpr double thirteen_thirds = 13.0 / 3.0;\n+\n+    for (int i = istart; i <= iend; ++i) {\n+        const double q0 = m2[i];\n+        const double q1 = m1[i];\n+        const double q2 = c[i];\n+        const double q3 = p1[i];\n+        const double q4 = p2[i];\n+        double &ql = l[i];\n+        double &qr = r[i];\n+        double a = q0 - 2 * q1 + q2;\n+        double b = q0 - 4.0 * q1 + 3.0 * q2;\n+        double beta0 = thirteen_thirds * a * a + b * b + eps;\n+        a = q1 - 2.0 * q2 + q3;\n+        b = q3 - q1;\n+        double beta1 = thirteen_thirds * a * a + b * b + eps;\n+        a = q2 - 2.0 * q3 + q4;\n+        b = q4 - 4.0 * q3 + 3.0 * q2;\n+        double beta2 = thirteen_thirds * a * a + b * b + eps;\n+        const double tau5 = std::abs(beta2 - beta0);\n+\n+        beta0 = (beta0 + tau5) / beta0;\n+        beta1 = (beta1 + tau5) / beta1;\n+        beta2 = (beta2 + tau5) / beta2;\n+\n+        double w0 = w5gamma[0] * beta0 + eps;\n+        double w1 = w5gamma[1] * beta1 + eps;\n+        double w2 = w5gamma[2] * beta2 + eps;\n+        double wsum = 1.0 / (w0 + w1 + w2);\n+        ql = w0 * (w5alpha[0][0] * q0 + w5alpha[0][1] * q1 + w5alpha[0][2] * q2);\n+        ql += w1 * (w5alpha[1][0] * q1 + w5alpha[1][1] * q2 + w5alpha[1][2] * q3);\n+        ql += w2 * (w5alpha[2][0] * q2 + w5alpha[2][1] * q3 + w5alpha[2][2] * q4);\n+        ql *= wsum;\n+        const double alpha_l = 3.0 * wsum * w0 * w1 * w2 /\n+            (w5gamma[2] * w0 * w1 + w5gamma[1] * w0 * w2 +\n+             w5gamma[0] * w1 * w2) +\n+            eps;\n+\n+        w0 = w5gamma[0] * beta2 + eps;\n+        w1 = w5gamma[1] * beta1 + eps;\n+        w2 = w5gamma[2] * beta0 + eps;\n+        wsum = 1.0 / (w0 + w1 + w2);\n+        qr = w0 * (w5alpha[0][0] * q4 + w5alpha[0][1] * q3 + w5alpha[0][2] * q2);\n+        qr += w1 * (w5alpha[1][0] * q3 + w5alpha[1][1] * q2 + w5alpha[1][2] * q1);\n+        qr += w2 * (w5alpha[2][0] * q2 + w5alpha[2][1] * q1 + w5alpha[2][2] * q0);\n+        qr *= wsum;\n+        const double alpha_r = 3.0 * wsum * w0 * w1 * w2 /\n+            (w5gamma[2] * w0 * w1 + w5gamma[1] * w0 * w2 +\n+             w5gamma[0] * w1 * w2) +\n+            eps;\n+\n+        double dq = q3 - q2;\n+        {\n+            const double dm = q2 - q1;\n+            const double dp = dq;\n+            const double dc = (dm * dp > 0.0) * 0.5 * (dm + dp);\n+            dq = 0.5 * std::copysign(\n+                    std::min(std::fabs(dc),\n+                        2.0 * std::min(std::fabs(dm), std::fabs(dp))),\n+                    dc);\n+        }\n+\n+        const double alpha_lin = 2.0 * alpha_l * alpha_r / (alpha_l + alpha_r);\n+        ql = alpha_lin * ql + (1.0 - alpha_lin) * (q2 + dq);\n+        qr = alpha_lin * qr + (1.0 - alpha_lin) * (q2 - dq);\n+    }\n+}\n+/* { dg-final { scan-tree-dump \"LOOP VECTORIZED\" \"vect\" } } */\n",
    "prefixes": [
        "FYI"
    ]
}