get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2237926,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2237926/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/bmm.hihq3sdm4a.gcc.gcc-TEST.karmea01.158.1.6@forge-stage.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": "<bmm.hihq3sdm4a.gcc.gcc-TEST.karmea01.158.1.6@forge-stage.sourceware.org>",
    "date": "2026-05-13T16:04:16",
    "name": "[v1,6/6] aarch64: Port NEON reinterpret intrinsics to pragma-based framework",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "82b5f863dd8aa69d63cab723ab50de7bd0b14dfc",
    "submitter": {
        "id": 92188,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/92188/?format=api",
        "name": "Karl Meakin via Sourceware Forge",
        "email": "forge-bot+karmea01@forge-stage.sourceware.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/bmm.hihq3sdm4a.gcc.gcc-TEST.karmea01.158.1.6@forge-stage.sourceware.org/mbox/",
    "series": [
        {
            "id": 504183,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/504183/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=504183",
            "date": "2026-05-13T16:04:10",
            "name": "aarch64: port NEON intrinsics to pragma-based framework",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/504183/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2237926/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2237926/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 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; dmarc=none (p=none dis=none)\n header.from=forge-stage.sourceware.org",
            "sourceware.org;\n spf=pass smtp.mailfrom=forge-stage.sourceware.org",
            "sourceware.org;\n arc=none smtp.remote-ip=2620:52:6:3111::39"
        ],
        "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 4gFyz76htKz1y5L\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 14 May 2026 02:07:31 +1000 (AEST)",
            "from vm01.sourceware.org (localhost [IPv6:::1])\n\tby sourceware.org (Postfix) with ESMTP id 184914BBC08E\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 13 May 2026 16:07:30 +0000 (GMT)",
            "from forge-stage.sourceware.org (vm08.sourceware.org\n [IPv6:2620:52:6:3111::39])\n by sourceware.org (Postfix) with ESMTPS id 0217F4B92091\n for <gcc-patches@gcc.gnu.org>; Wed, 13 May 2026 16:05:55 +0000 (GMT)",
            "from forge-stage.sourceware.org (localhost [IPv6:::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256)\n (No client certificate requested)\n by forge-stage.sourceware.org (Postfix) with ESMTPS id A558C42D1A;\n Wed, 13 May 2026 16:05:10 +0000 (UTC)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 184914BBC08E",
            "OpenDKIM Filter v2.11.0 sourceware.org 0217F4B92091"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 0217F4B92091",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 0217F4B92091",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778688356; cv=none;\n b=Bc0o0bgGCMs6Kma6BwpDYYE1f2M7wJdpYMFl1BK9QbSCHPHwL/P1N15e4wq3aDbkeVnRT6axKNGiQzq5AcL7jxavPkbVb2Jo2vnZ61Hp1gpGC+6qSqQ6oblHplerbzlh5vlCi8BtZIB3FlQx/wEXeyy/eQGrTjcrJStTkawFMDg=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1778688356; c=relaxed/simple;\n bh=JmB4JOFNdYq+rj6P7+DpoViUBLU0Qn33VCrPHOXWZX4=;\n h=From:Date:Subject:To:Message-ID;\n b=UTN1JHB+Xq8qxkl1c0D3ORWokVKz7EdcudHhEljQEdG9SBOXIjge1TF1lPYXJimmWBKDpRWT7+IKfJSZaEwgAkU2bkuDyAvcG7MbJm+hJpcPWJ4a/8w7mEyoRo1K6ZCoygHst8+odnyL5iRiY9ENTb9I+yTIcbYzt3wuLh04HYA=",
        "ARC-Authentication-Results": "i=1; sourceware.org",
        "From": "Karl Meakin via Sourceware Forge\n <forge-bot+karmea01@forge-stage.sourceware.org>",
        "Date": "Wed, 13 May 2026 16:04:16 +0000",
        "Subject": "[PATCH v1 6/6] aarch64: Port NEON reinterpret intrinsics to\n pragma-based framework",
        "To": "gcc-patches mailing list <gcc-patches@gcc.gnu.org>",
        "Cc": "ktkachov@nvidia.com, richard.earnshaw@arm.com, tamar.christina@arm.com,\n karl.meakin@arm.com",
        "Message-ID": "\n <bmm.hihq3sdm4a.gcc.gcc-TEST.karmea01.158.1.6@forge-stage.sourceware.org>",
        "X-Mailer": "batrachomyomachia",
        "X-Pull-Request-Organization": "gcc",
        "X-Pull-Request-Repository": "gcc-TEST",
        "X-Pull-Request": "https://forge.sourceware.org/gcc/gcc-TEST/pulls/158",
        "References": "\n <bmm.hihq3sdm4a.gcc.gcc-TEST.karmea01.158.1.0@forge-stage.sourceware.org>",
        "In-Reply-To": "\n <bmm.hihq3sdm4a.gcc.gcc-TEST.karmea01.158.1.0@forge-stage.sourceware.org>",
        "X-Patch-URL": "\n https://forge.sourceware.org/karmea01/gcc-TEST/commit/bbc2b70b1d7614ca85791fad04d28ef127250c8c",
        "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>",
        "Reply-To": "gcc-patches mailing list <gcc-patches@gcc.gnu.org>,\n ktkachov@nvidia.com, richard.earnshaw@arm.com, tamar.christina@arm.com,\n karl.meakin@arm.com, karmea01@sourceware.org",
        "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"
    },
    "content": "From: Karl Meakin <karl.meakin@arm.com>\n\nPort the `vreinterpret` family of intrinsics to the pragma-based framework.\n\ngcc/ChangeLog:\n\n\t* config/aarch64/aarch64-acle-builtins.h (TYPES_neon_reinterpret1, TYPES_neon_reinterpret,\n\tTYPES_neon_reinterpretq1, TYPES_neon_reinterpretq, neon_reinterpret, neon_reinterpretq):\n\tNew type lists.\n\t* config/aarch64/aarch64-builtins.cc (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1,\n\tVREINTERPRET_BUILTINS, VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1,\n\tVREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN): Delete macros.\n\t(AARCH64_SIMD_VREINTERPRET_BUILTINS): Delete enum member.\n\t(aarch64_init_simd_intrinsics): Delete function.\n\t(init_arm_neon_builtins): Delete call to `aarch64_init_simd_intrinsics`.\n\t(aarch64_general_fold_builtin): Delete case for `AARCH64_SIMD_VREINTERPRET_BUILTINS`.\n\t* config/aarch64/aarch64-neon-builtins-base.cc (struct gimple_reinterpret): New struct.\n\t(vreinterpret, vreinterpretq): New function bases.\n\t* config/aarch64/aarch64-neon-builtins-base.def (vreinterpret, vreinterpretq): New function\n\tgroups.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/aarch64/neon/vreinterpret.c: New test.\n---\n gcc/config/aarch64/aarch64-acle-builtins.h    |   66 +\n gcc/config/aarch64/aarch64-builtins.cc        |  163 -\n .../aarch64/aarch64-neon-builtins-base.cc     |   15 +\n .../aarch64/aarch64-neon-builtins-base.def    |    6 +\n .../gcc.target/aarch64/neon/vreinterpret.c    | 3143 +++++++++++++++++\n 5 files changed, 3230 insertions(+), 163 deletions(-)\n create mode 100644 gcc/testsuite/gcc.target/aarch64/neon/vreinterpret.c",
    "diff": "diff --git a/gcc/config/aarch64/aarch64-acle-builtins.h b/gcc/config/aarch64/aarch64-acle-builtins.h\nindex 837de2d12326..7d0e434f8754 100644\n--- a/gcc/config/aarch64/aarch64-acle-builtins.h\n+++ b/gcc/config/aarch64/aarch64-acle-builtins.h\n@@ -1856,6 +1856,70 @@ void build_all (function_builder &b, const char *signature,\n   S (p16), S (s16), S (u16), S (f16), \\\n \t   S (s32), S (u32), S (f32)\n \n+/* vreinterpret intrinsics are defined for any pair of element types.\n+   { _mf8\t\t }   { _mf8\t\t   }\n+   {     _bf16\t\t }   {     _bf16\t   }\n+   {      _f16 _f32 _f64 }   {      _f16 _f32 _f64 }\n+   { _s8  _s16 _s32 _s64 } x { _s8  _s16 _s32 _s64 }\n+   { _u8  _u16 _u32 _u64 }   { _u8  _u16 _u32 _u64 }\n+   { _p8  _p16      _p64 }   { _p8  _p16      _p64 }.  */\n+#define TYPES_neon_reinterpret1(D, A) \\\n+  D (A, mf8), \\\n+\t     D (A, bf16), \\\n+\t     D (A, f16), D (A, f32), D (A, f64), \\\n+  D (A, s8), D (A, s16), D (A, s32), D (A, s64), \\\n+  D (A, u8), D (A, u16), D (A, u32), D (A, u64), \\\n+  D (A, p8), D (A, p16)\t\t   , D (A, p64)\n+#define TYPES_neon_reinterpret(S, D, T) \\\n+  TYPES_neon_reinterpret1 (D, mf8), \\\n+  TYPES_neon_reinterpret1 (D, bf16), \\\n+  TYPES_neon_reinterpret1 (D, f16), \\\n+  TYPES_neon_reinterpret1 (D, f32), \\\n+  TYPES_neon_reinterpret1 (D, f64), \\\n+  TYPES_neon_reinterpret1 (D, s8), \\\n+  TYPES_neon_reinterpret1 (D, s16), \\\n+  TYPES_neon_reinterpret1 (D, s32), \\\n+  TYPES_neon_reinterpret1 (D, s64), \\\n+  TYPES_neon_reinterpret1 (D, u8), \\\n+  TYPES_neon_reinterpret1 (D, u16), \\\n+  TYPES_neon_reinterpret1 (D, u32), \\\n+  TYPES_neon_reinterpret1 (D, u64), \\\n+  TYPES_neon_reinterpret1 (D, p8), \\\n+  TYPES_neon_reinterpret1 (D, p16), \\\n+  TYPES_neon_reinterpret1 (D, p64)\n+\n+/* vreinterpretq intrinsics are additionally defined for p128.\n+   {     _bf16\t\t       }   {     _bf16\t\t       }\n+   {      _f16 _f32 _f64       }   {      _f16 _f32 _f64       }\n+   { _mf8\t\t       }   { _mf8\t\t       }\n+   { _s8  _s16 _s32 _s64       } x { _s8  _s16 _s32 _s64       }\n+   { _u8  _u16 _u32 _u64       }   { _u8  _u16 _u32 _u64       }\n+   { _p8  _p16      _p64 _p128 }   { _p8  _p16      _p64 _p128 }.  */\n+#define TYPES_neon_reinterpretq1(D, A) \\\n+  D (A, mf8), \\\n+\t     D (A, bf16), \\\n+\t     D (A, f16), D (A, f32), D (A, f64), \\\n+  D (A, s8), D (A, s16), D (A, s32), D (A, s64), \\\n+  D (A, u8), D (A, u16), D (A, u32), D (A, u64), \\\n+  D (A, p8), D (A, p16)\t\t   , D (A, p64), D (A, p128)\n+#define TYPES_neon_reinterpretq(S, D, T) \\\n+  TYPES_neon_reinterpretq1 (D, mf8), \\\n+  TYPES_neon_reinterpretq1 (D, bf16), \\\n+  TYPES_neon_reinterpretq1 (D, f16), \\\n+  TYPES_neon_reinterpretq1 (D, f32), \\\n+  TYPES_neon_reinterpretq1 (D, f64), \\\n+  TYPES_neon_reinterpretq1 (D, s8), \\\n+  TYPES_neon_reinterpretq1 (D, s16), \\\n+  TYPES_neon_reinterpretq1 (D, s32), \\\n+  TYPES_neon_reinterpretq1 (D, s64), \\\n+  TYPES_neon_reinterpretq1 (D, u8), \\\n+  TYPES_neon_reinterpretq1 (D, u16), \\\n+  TYPES_neon_reinterpretq1 (D, u32), \\\n+  TYPES_neon_reinterpretq1 (D, u64), \\\n+  TYPES_neon_reinterpretq1 (D, p8), \\\n+  TYPES_neon_reinterpretq1 (D, p16), \\\n+  TYPES_neon_reinterpretq1 (D, p64), \\\n+  TYPES_neon_reinterpretq1 (D, p128)\n \n /* Describe a tuple of type suffixes in which only the first is used.  */\n #define DEF_VECTOR_TYPE(X) \\\n@@ -2005,6 +2069,8 @@ DEF_SVE_TYPES_ARRAY (neon_copy_lane);\n DEF_SVE_TYPES_ARRAY (neon_rev16);\n DEF_SVE_TYPES_ARRAY (neon_rev32);\n DEF_SVE_TYPES_ARRAY (neon_rev64);\n+DEF_SVE_TYPES_ARRAY (neon_reinterpret);\n+DEF_SVE_TYPES_ARRAY (neon_reinterpretq);\n \n static const group_suffix_index groups_none[] = {\n   GROUP_none, NUM_GROUP_SUFFIXES\ndiff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc\nindex 327ae8bc20bb..168b46eb464a 100644\n--- a/gcc/config/aarch64/aarch64-builtins.cc\n+++ b/gcc/config/aarch64/aarch64-builtins.cc\n@@ -591,104 +591,6 @@ static aarch64_simd_builtin_datum aarch64_simd_builtin_data[] = {\n   FCMLA_LANEQ_BUILTIN (270, v4hf, fcmla_laneq, V4HF, true) \\\n \n \n-/* vreinterpret intrinsics are defined for any pair of element types.\n-   {     _bf16           }   {     _bf16           }\n-   {      _f16 _f32 _f64 }   {      _f16 _f32 _f64 }\n-   { _mf8                }   { _mf8                }\n-   { _s8  _s16 _s32 _s64 } x { _s8  _s16 _s32 _s64 }\n-   { _u8  _u16 _u32 _u64 }   { _u8  _u16 _u32 _u64 }\n-   { _p8  _p16      _p64 }   { _p8  _p16      _p64 }.  */\n-#define VREINTERPRET_BUILTIN2(A, B) \\\n-  VREINTERPRET_BUILTIN (A, B, d)\n-\n-#define VREINTERPRET_BUILTINS1(A) \\\n-  VREINTERPRET_BUILTIN2 (A, bf16) \\\n-  VREINTERPRET_BUILTIN2 (A, f16) \\\n-  VREINTERPRET_BUILTIN2 (A, f32) \\\n-  VREINTERPRET_BUILTIN2 (A, f64) \\\n-  VREINTERPRET_BUILTIN2 (A, mf8) \\\n-  VREINTERPRET_BUILTIN2 (A, s8) \\\n-  VREINTERPRET_BUILTIN2 (A, s16) \\\n-  VREINTERPRET_BUILTIN2 (A, s32) \\\n-  VREINTERPRET_BUILTIN2 (A, s64) \\\n-  VREINTERPRET_BUILTIN2 (A, u8) \\\n-  VREINTERPRET_BUILTIN2 (A, u16) \\\n-  VREINTERPRET_BUILTIN2 (A, u32) \\\n-  VREINTERPRET_BUILTIN2 (A, u64) \\\n-  VREINTERPRET_BUILTIN2 (A, p8) \\\n-  VREINTERPRET_BUILTIN2 (A, p16) \\\n-  VREINTERPRET_BUILTIN2 (A, p64)\n-\n-#define VREINTERPRET_BUILTINS \\\n-  VREINTERPRET_BUILTINS1 (bf16) \\\n-  VREINTERPRET_BUILTINS1 (f16) \\\n-  VREINTERPRET_BUILTINS1 (f32) \\\n-  VREINTERPRET_BUILTINS1 (f64) \\\n-  VREINTERPRET_BUILTINS1 (mf8) \\\n-  VREINTERPRET_BUILTINS1 (s8) \\\n-  VREINTERPRET_BUILTINS1 (s16) \\\n-  VREINTERPRET_BUILTINS1 (s32) \\\n-  VREINTERPRET_BUILTINS1 (s64) \\\n-  VREINTERPRET_BUILTINS1 (u8) \\\n-  VREINTERPRET_BUILTINS1 (u16) \\\n-  VREINTERPRET_BUILTINS1 (u32) \\\n-  VREINTERPRET_BUILTINS1 (u64) \\\n-  VREINTERPRET_BUILTINS1 (p8) \\\n-  VREINTERPRET_BUILTINS1 (p16) \\\n-  VREINTERPRET_BUILTINS1 (p64)\n-\n-/* vreinterpretq intrinsics are additionally defined for p128.\n-   {     _bf16                 }   {     _bf16                 }\n-   {      _f16 _f32 _f64       }   {      _f16 _f32 _f64       }\n-   { _mf8                      }   { _mf8                      }\n-   { _s8  _s16 _s32 _s64       } x { _s8  _s16 _s32 _s64       }\n-   { _u8  _u16 _u32 _u64       }   { _u8  _u16 _u32 _u64       }\n-   { _p8  _p16      _p64 _p128 }   { _p8  _p16      _p64 _p128 }.  */\n-#define VREINTERPRETQ_BUILTIN2(A, B) \\\n-  VREINTERPRET_BUILTIN (A, B, q)\n-\n-#define VREINTERPRETQ_BUILTINS1(A) \\\n-  VREINTERPRETQ_BUILTIN2 (A, bf16) \\\n-  VREINTERPRETQ_BUILTIN2 (A, f16) \\\n-  VREINTERPRETQ_BUILTIN2 (A, f32) \\\n-  VREINTERPRETQ_BUILTIN2 (A, f64) \\\n-  VREINTERPRETQ_BUILTIN2 (A, mf8) \\\n-  VREINTERPRETQ_BUILTIN2 (A, s8) \\\n-  VREINTERPRETQ_BUILTIN2 (A, s16) \\\n-  VREINTERPRETQ_BUILTIN2 (A, s32) \\\n-  VREINTERPRETQ_BUILTIN2 (A, s64) \\\n-  VREINTERPRETQ_BUILTIN2 (A, u8) \\\n-  VREINTERPRETQ_BUILTIN2 (A, u16) \\\n-  VREINTERPRETQ_BUILTIN2 (A, u32) \\\n-  VREINTERPRETQ_BUILTIN2 (A, u64) \\\n-  VREINTERPRETQ_BUILTIN2 (A, p8) \\\n-  VREINTERPRETQ_BUILTIN2 (A, p16) \\\n-  VREINTERPRETQ_BUILTIN2 (A, p64) \\\n-  VREINTERPRETQ_BUILTIN2 (A, p128)\n-\n-#define VREINTERPRETQ_BUILTINS \\\n-  VREINTERPRETQ_BUILTINS1 (bf16) \\\n-  VREINTERPRETQ_BUILTINS1 (f16) \\\n-  VREINTERPRETQ_BUILTINS1 (f32) \\\n-  VREINTERPRETQ_BUILTINS1 (f64) \\\n-  VREINTERPRETQ_BUILTINS1 (mf8) \\\n-  VREINTERPRETQ_BUILTINS1 (s8) \\\n-  VREINTERPRETQ_BUILTINS1 (s16) \\\n-  VREINTERPRETQ_BUILTINS1 (s32) \\\n-  VREINTERPRETQ_BUILTINS1 (s64) \\\n-  VREINTERPRETQ_BUILTINS1 (u8) \\\n-  VREINTERPRETQ_BUILTINS1 (u16) \\\n-  VREINTERPRETQ_BUILTINS1 (u32) \\\n-  VREINTERPRETQ_BUILTINS1 (u64) \\\n-  VREINTERPRETQ_BUILTINS1 (p8) \\\n-  VREINTERPRETQ_BUILTINS1 (p16) \\\n-  VREINTERPRETQ_BUILTINS1 (p64) \\\n-  VREINTERPRETQ_BUILTINS1 (p128)\n-\n-#define AARCH64_SIMD_VREINTERPRET_BUILTINS \\\n-  VREINTERPRET_BUILTINS \\\n-  VREINTERPRETQ_BUILTINS\n-\n #include \"aarch64-builtin-pairs.def\"\n \n #define LO_HI_PAIRINGS \\\n@@ -735,9 +637,6 @@ typedef struct\n #define FCMLA_LANEQ_BUILTIN(I, N, X, M, T) \\\n   AARCH64_SIMD_BUILTIN_FCMLA_LANEQ##I##_##M,\n \n-#define VREINTERPRET_BUILTIN(A, B, L) \\\n-  AARCH64_SIMD_BUILTIN_VREINTERPRET##L##_##A##_##B,\n-\n #undef VAR1\n #define VAR1(T, N, MAP, FLAG, A) \\\n   AARCH64_SIMD_BUILTIN_##T##_##N##A,\n@@ -776,7 +675,6 @@ enum aarch64_builtins\n   AARCH64_CRC32_BUILTINS\n   AARCH64_CRC32_BUILTIN_MAX,\n   /* SIMD intrinsic builtins.  */\n-  AARCH64_SIMD_VREINTERPRET_BUILTINS\n   /* ARMv8.3-A Pointer Authentication Builtins.  */\n   AARCH64_PAUTH_BUILTIN_AUTIA1716,\n   AARCH64_PAUTH_BUILTIN_PACIA1716,\n@@ -875,22 +773,6 @@ static aarch64_fcmla_laneq_builtin_datum aarch64_fcmla_lane_builtin_data[] = {\n   AARCH64_SIMD_FCMLA_LANEQ_BUILTINS\n };\n \n-#undef VREINTERPRET_BUILTIN\n-#define VREINTERPRET_BUILTIN(A, B, L) \\\n-  {\"vreinterpret\" SIMD_INTR_LENGTH_CHAR(L) \"_\" #A \"_\" #B, \\\n-   AARCH64_SIMD_BUILTIN_VREINTERPRET##L##_##A##_##B, \\\n-   2, \\\n-   { SIMD_INTR_MODE(A, L), SIMD_INTR_MODE(B, L) }, \\\n-   { SIMD_INTR_QUAL(A), SIMD_INTR_QUAL(B) }, \\\n-   FLAG_DEFAULT, \\\n-   SIMD_INTR_MODE(A, L) == SIMD_INTR_MODE(B, L) \\\n-     && SIMD_INTR_QUAL(A) == SIMD_INTR_QUAL(B) \\\n-  },\n-\n-static const aarch64_simd_intrinsic_datum aarch64_simd_intrinsic_data[] = {\n-  AARCH64_SIMD_VREINTERPRET_BUILTINS\n-};\n-\n #undef CRC32_BUILTIN\n \n static GTY(()) tree aarch64_builtin_decls[AARCH64_BUILTIN_MAX];\n@@ -1404,44 +1286,6 @@ aarch64_init_fcmla_laneq_builtins (void)\n     }\n }\n \n-void\n-aarch64_init_simd_intrinsics (void)\n-{\n-  unsigned int i = 0;\n-\n-  for (i = 0; i < ARRAY_SIZE (aarch64_simd_intrinsic_data); ++i)\n-    {\n-      auto d = &aarch64_simd_intrinsic_data[i];\n-\n-      if (d->skip)\n-\tcontinue;\n-\n-      tree return_type = void_type_node;\n-      tree args = void_list_node;\n-\n-      for (int op_num = d->op_count - 1; op_num >= 0; op_num--)\n-\t{\n-\t  machine_mode op_mode = d->op_modes[op_num];\n-\t  enum aarch64_type_qualifiers qualifiers = d->qualifiers[op_num];\n-\n-\t  tree eltype = aarch64_simd_builtin_type (op_mode, qualifiers);\n-\n-\t  if (op_num == 0)\n-\t    return_type = eltype;\n-\t  else\n-\t    args = tree_cons (NULL_TREE, eltype, args);\n-\t}\n-\n-      tree ftype = build_function_type (return_type, args);\n-      tree attrs = aarch64_get_attributes (d->flags, d->op_modes[0]);\n-      unsigned int code\n-\t      = (d->fcode << AARCH64_BUILTIN_SHIFT | AARCH64_BUILTIN_GENERAL);\n-      tree fndecl = simulate_builtin_function_decl (input_location, d->name,\n-\t\t\t\t\t\t    ftype, code, NULL, attrs);\n-      aarch64_builtin_decls[d->fcode] = fndecl;\n-    }\n-}\n-\n void\n aarch64_init_simd_builtin_functions (bool called_from_pragma)\n {\n@@ -1869,7 +1713,6 @@ init_arm_neon_builtins (void)\n \tregister_tuple_type (count, i);\n \n   aarch64_init_simd_builtin_functions (true);\n-  aarch64_init_simd_intrinsics ();\n   aarch64_init_pragma_builtins ();\n }\n \n@@ -4524,10 +4367,6 @@ aarch64_fold_builtin_lane_check (tree arg0, tree arg1, tree arg2)\n #define VAR1(T, N, MAP, FLAG, A) \\\n   case AARCH64_SIMD_BUILTIN_##T##_##N##A:\n \n-#undef VREINTERPRET_BUILTIN\n-#define VREINTERPRET_BUILTIN(A, B, L) \\\n-  case AARCH64_SIMD_BUILTIN_VREINTERPRET##L##_##A##_##B:\n-\n /* Try to fold a call to the built-in function with subcode FCODE.  The\n    function is passed the N_ARGS arguments in ARGS and it returns a value\n    of type TYPE.  Return the new expression on success and NULL_TREE on\n@@ -4544,8 +4383,6 @@ aarch64_general_fold_builtin (unsigned int fcode, tree type,\n       VAR1 (UNOP, floatv4si, 2, ALL, v4sf)\n       VAR1 (UNOP, floatv2di, 2, ALL, v2df)\n \treturn fold_build1 (FLOAT_EXPR, type, args[0]);\n-      AARCH64_SIMD_VREINTERPRET_BUILTINS\n-\treturn fold_build1 (VIEW_CONVERT_EXPR, type, args[0]);\n       case AARCH64_SIMD_BUILTIN_LANE_CHECK:\n \tgcc_assert (n_args == 3);\n \tif (aarch64_fold_builtin_lane_check (args[0], args[1], args[2]))\ndiff --git a/gcc/config/aarch64/aarch64-neon-builtins-base.cc b/gcc/config/aarch64/aarch64-neon-builtins-base.cc\nindex a3239f0b72ca..3a7940468b94 100644\n--- a/gcc/config/aarch64/aarch64-neon-builtins-base.cc\n+++ b/gcc/config/aarch64/aarch64-neon-builtins-base.cc\n@@ -650,6 +650,21 @@ zip_mask (gimple_folder &f)\n   return builder.build ();\n }\n \n+struct gimple_reinterpret : public gimple_function_base\n+{\n+  gimple *fold (gimple_folder &f) const override\n+  {\n+    auto input = gimple_call_arg (f.call, 0);\n+    auto ret_type = TREE_TYPE (f.lhs);\n+    auto reinterpret = fold_build1 (VIEW_CONVERT_EXPR, ret_type, input);\n+    return gimple_build_assign (f.lhs, reinterpret);\n+  }\n+};\n+\n+// Reinterpret\n+NEON_FUNCTION (vreinterpret,  gimple_reinterpret,)\n+NEON_FUNCTION (vreinterpretq, gimple_reinterpret,)\n+\n // Lane get/set\n NEON_FUNCTION (vcreate,      gimple_create,)\n NEON_FUNCTION (vcombine,     gimple_combine,)\ndiff --git a/gcc/config/aarch64/aarch64-neon-builtins-base.def b/gcc/config/aarch64/aarch64-neon-builtins-base.def\nindex 3ed6be649b9c..d2c09d2a1ad8 100644\n--- a/gcc/config/aarch64/aarch64-neon-builtins-base.def\n+++ b/gcc/config/aarch64/aarch64-neon-builtins-base.def\n@@ -17,6 +17,12 @@\n    along with GCC; see the file COPYING3.  If not see\n    <http://www.gnu.org/licenses/>.  */\n \n+// Reinterpret\n+#define REQUIRED_EXTENSIONS nonstreaming_only (AARCH64_FL_SIMD)\n+DEF_NEON_FUNCTION (vreinterpret,  neon_reinterpret,  (\"D0,D1\"))\n+DEF_NEON_FUNCTION (vreinterpretq, neon_reinterpretq, (\"Q0,Q1\"))\n+#undef REQUIRED_EXTENSIONS\n+\n // Lane manipulation\n #define REQUIRED_EXTENSIONS nonstreaming_only (AARCH64_FL_SIMD)\n DEF_NEON_FUNCTION (vcreate,     all_neon,  (\"D0,su64\"))\ndiff --git a/gcc/testsuite/gcc.target/aarch64/neon/vreinterpret.c b/gcc/testsuite/gcc.target/aarch64/neon/vreinterpret.c\nnew file mode 100644\nindex 000000000000..3843626fad5c\n--- /dev/null\n+++ b/gcc/testsuite/gcc.target/aarch64/neon/vreinterpret.c\n@@ -0,0 +1,3143 @@\n+/* { dg-do compile } */\n+/* { dg-final { check-function-bodies \"**\" \"\" } } */\n+\n+#include \"arm_neon_test.h\"\n+\n+// FIXME: reinterprets to/from p128 generate load and stores to the stack,\n+// rather than GPR <-> FPR moves\n+\n+/*\n+** test_vreinterpret_u8_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_s8, uint8x8_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_u8_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_p8, uint8x8_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_u8_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_mf8, uint8x8_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_u8_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_u16, uint8x8_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_u8_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_s16, uint8x8_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_u8_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_p16, uint8x8_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_u8_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_f16, uint8x8_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_u8_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_bf16, uint8x8_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_u8_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_u32, uint8x8_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_u8_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_s32, uint8x8_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_u8_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_f32, uint8x8_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_u8_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_u64, uint8x8_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_u8_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_s64, uint8x8_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_u8_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_p64, uint8x8_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_u8_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u8_f64, uint8x8_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_s8_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_u8, int8x8_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_s8_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_p8, int8x8_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_s8_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_mf8, int8x8_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_s8_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_u16, int8x8_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_s8_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_s16, int8x8_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_s8_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_p16, int8x8_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_s8_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_f16, int8x8_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_s8_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_bf16, int8x8_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_s8_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_u32, int8x8_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_s8_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_s32, int8x8_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_s8_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_f32, int8x8_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_s8_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_u64, int8x8_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_s8_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_s64, int8x8_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_s8_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_p64, int8x8_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_s8_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s8_f64, int8x8_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_p8_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_u8, poly8x8_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_p8_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_s8, poly8x8_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_p8_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_mf8, poly8x8_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_p8_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_u16, poly8x8_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_p8_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_s16, poly8x8_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_p8_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_p16, poly8x8_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_p8_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_f16, poly8x8_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_p8_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_bf16, poly8x8_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_p8_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_u32, poly8x8_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_p8_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_s32, poly8x8_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_p8_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_f32, poly8x8_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_p8_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_u64, poly8x8_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_p8_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_s64, poly8x8_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_p8_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_p64, poly8x8_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_p8_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p8_f64, poly8x8_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_mf8_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_u8, mfloat8x8_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_mf8_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_s8, mfloat8x8_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_mf8_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_p8, mfloat8x8_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_mf8_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_u16, mfloat8x8_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_mf8_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_s16, mfloat8x8_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_mf8_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_p16, mfloat8x8_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_mf8_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_f16, mfloat8x8_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_mf8_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_bf16, mfloat8x8_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_mf8_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_u32, mfloat8x8_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_mf8_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_s32, mfloat8x8_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_mf8_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_f32, mfloat8x8_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_mf8_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_u64, mfloat8x8_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_mf8_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_s64, mfloat8x8_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_mf8_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_p64, mfloat8x8_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_mf8_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_mf8_f64, mfloat8x8_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_u16_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_u8, uint16x4_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_u16_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_s8, uint16x4_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_u16_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_p8, uint16x4_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_u16_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_mf8, uint16x4_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_u16_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_s16, uint16x4_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_u16_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_p16, uint16x4_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_u16_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_f16, uint16x4_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_u16_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_bf16, uint16x4_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_u16_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_u32, uint16x4_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_u16_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_s32, uint16x4_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_u16_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_f32, uint16x4_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_u16_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_u64, uint16x4_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_u16_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_s64, uint16x4_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_u16_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_p64, uint16x4_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_u16_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u16_f64, uint16x4_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_s16_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_u8, int16x4_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_s16_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_s8, int16x4_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_s16_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_p8, int16x4_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_s16_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_mf8, int16x4_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_s16_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_u16, int16x4_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_s16_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_p16, int16x4_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_s16_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_f16, int16x4_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_s16_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_bf16, int16x4_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_s16_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_u32, int16x4_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_s16_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_s32, int16x4_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_s16_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_f32, int16x4_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_s16_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_u64, int16x4_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_s16_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_s64, int16x4_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_s16_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_p64, int16x4_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_s16_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s16_f64, int16x4_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_p16_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_u8, poly16x4_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_p16_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_s8, poly16x4_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_p16_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_p8, poly16x4_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_p16_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_mf8, poly16x4_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_p16_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_u16, poly16x4_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_p16_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_s16, poly16x4_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_p16_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_f16, poly16x4_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_p16_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_bf16, poly16x4_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_p16_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_u32, poly16x4_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_p16_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_s32, poly16x4_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_p16_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_f32, poly16x4_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_p16_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_u64, poly16x4_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_p16_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_s64, poly16x4_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_p16_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_p64, poly16x4_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_p16_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p16_f64, poly16x4_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_f16_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_u8, float16x4_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_f16_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_s8, float16x4_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_f16_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_p8, float16x4_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_f16_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_mf8, float16x4_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_f16_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_u16, float16x4_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_f16_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_s16, float16x4_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_f16_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_p16, float16x4_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_f16_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_bf16, float16x4_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_f16_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_u32, float16x4_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_f16_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_s32, float16x4_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_f16_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_f32, float16x4_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_f16_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_u64, float16x4_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_f16_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_s64, float16x4_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_f16_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_p64, float16x4_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_f16_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f16_f64, float16x4_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_bf16_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_u8, bfloat16x4_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_bf16_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_s8, bfloat16x4_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_bf16_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_p8, bfloat16x4_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_bf16_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_mf8, bfloat16x4_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_bf16_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_u16, bfloat16x4_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_bf16_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_s16, bfloat16x4_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_bf16_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_p16, bfloat16x4_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_bf16_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_f16, bfloat16x4_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_bf16_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_u32, bfloat16x4_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_bf16_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_s32, bfloat16x4_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_bf16_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_f32, bfloat16x4_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_bf16_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_u64, bfloat16x4_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_bf16_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_s64, bfloat16x4_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_bf16_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_p64, bfloat16x4_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_bf16_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_bf16_f64, bfloat16x4_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_u32_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_u8, uint32x2_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_u32_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_s8, uint32x2_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_u32_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_p8, uint32x2_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_u32_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_mf8, uint32x2_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_u32_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_u16, uint32x2_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_u32_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_s16, uint32x2_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_u32_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_p16, uint32x2_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_u32_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_f16, uint32x2_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_u32_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_bf16, uint32x2_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_u32_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_s32, uint32x2_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_u32_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_f32, uint32x2_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_u32_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_u64, uint32x2_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_u32_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_s64, uint32x2_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_u32_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_p64, uint32x2_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_u32_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u32_f64, uint32x2_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_s32_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_u8, int32x2_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_s32_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_s8, int32x2_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_s32_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_p8, int32x2_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_s32_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_mf8, int32x2_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_s32_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_u16, int32x2_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_s32_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_s16, int32x2_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_s32_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_p16, int32x2_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_s32_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_f16, int32x2_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_s32_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_bf16, int32x2_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_s32_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_u32, int32x2_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_s32_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_f32, int32x2_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_s32_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_u64, int32x2_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_s32_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_s64, int32x2_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_s32_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_p64, int32x2_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_s32_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s32_f64, int32x2_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_f32_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_u8, float32x2_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_f32_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_s8, float32x2_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_f32_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_p8, float32x2_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_f32_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_mf8, float32x2_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_f32_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_u16, float32x2_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_f32_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_s16, float32x2_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_f32_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_p16, float32x2_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_f32_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_f16, float32x2_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_f32_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_bf16, float32x2_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_f32_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_u32, float32x2_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_f32_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_s32, float32x2_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_f32_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_u64, float32x2_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_f32_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_s64, float32x2_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_f32_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_p64, float32x2_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_f32_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f32_f64, float32x2_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_u64_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_u8, uint64x1_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_u64_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_s8, uint64x1_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_u64_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_p8, uint64x1_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_u64_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_mf8, uint64x1_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_u64_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_u16, uint64x1_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_u64_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_s16, uint64x1_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_u64_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_p16, uint64x1_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_u64_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_f16, uint64x1_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_u64_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_bf16, uint64x1_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_u64_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_u32, uint64x1_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_u64_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_s32, uint64x1_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_u64_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_f32, uint64x1_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_u64_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_s64, uint64x1_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_u64_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_p64, uint64x1_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_u64_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_u64_f64, uint64x1_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_s64_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_u8, int64x1_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_s64_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_s8, int64x1_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_s64_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_p8, int64x1_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_s64_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_mf8, int64x1_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_s64_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_u16, int64x1_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_s64_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_s16, int64x1_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_s64_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_p16, int64x1_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_s64_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_f16, int64x1_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_s64_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_bf16, int64x1_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_s64_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_u32, int64x1_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_s64_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_s32, int64x1_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_s64_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_f32, int64x1_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_s64_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_u64, int64x1_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_s64_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_p64, int64x1_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpret_s64_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_s64_f64, int64x1_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_p64_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_u8, poly64x1_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_p64_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_s8, poly64x1_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_p64_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_p8, poly64x1_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_p64_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_mf8, poly64x1_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_p64_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_u16, poly64x1_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_p64_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_s16, poly64x1_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_p64_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_p16, poly64x1_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_p64_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_f16, poly64x1_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_p64_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_bf16, poly64x1_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_p64_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_u32, poly64x1_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_p64_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_s32, poly64x1_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_p64_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_f32, poly64x1_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_p64_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_u64, poly64x1_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_p64_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_s64, poly64x1_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_p64_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_p64_f64, poly64x1_t, float64x1_t)\n+\n+/*\n+** test_vreinterpret_f64_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_u8, float64x1_t, uint8x8_t)\n+\n+/*\n+** test_vreinterpret_f64_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_s8, float64x1_t, int8x8_t)\n+\n+/*\n+** test_vreinterpret_f64_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_p8, float64x1_t, poly8x8_t)\n+\n+/*\n+** test_vreinterpret_f64_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_mf8, float64x1_t, mfloat8x8_t)\n+\n+/*\n+** test_vreinterpret_f64_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_u16, float64x1_t, uint16x4_t)\n+\n+/*\n+** test_vreinterpret_f64_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_s16, float64x1_t, int16x4_t)\n+\n+/*\n+** test_vreinterpret_f64_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_p16, float64x1_t, poly16x4_t)\n+\n+/*\n+** test_vreinterpret_f64_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_f16, float64x1_t, float16x4_t)\n+\n+/*\n+** test_vreinterpret_f64_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_bf16, float64x1_t, bfloat16x4_t)\n+\n+/*\n+** test_vreinterpret_f64_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_u32, float64x1_t, uint32x2_t)\n+\n+/*\n+** test_vreinterpret_f64_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_s32, float64x1_t, int32x2_t)\n+\n+/*\n+** test_vreinterpret_f64_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_f32, float64x1_t, float32x2_t)\n+\n+/*\n+** test_vreinterpret_f64_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_u64, float64x1_t, uint64x1_t)\n+\n+/*\n+** test_vreinterpret_f64_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_s64, float64x1_t, int64x1_t)\n+\n+/*\n+** test_vreinterpret_f64_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpret_f64_p64, float64x1_t, poly64x1_t)\n+\n+/*\n+** test_vreinterpretq_u8_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_s8, uint8x16_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_u8_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_p8, uint8x16_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_u8_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_mf8, uint8x16_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_u8_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_u16, uint8x16_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_u8_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_s16, uint8x16_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_u8_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_p16, uint8x16_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_u8_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_f16, uint8x16_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_u8_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_bf16, uint8x16_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_u8_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_u32, uint8x16_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_u8_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_s32, uint8x16_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_u8_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_f32, uint8x16_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_u8_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_u64, uint8x16_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_u8_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_s64, uint8x16_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_u8_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_p64, uint8x16_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_u8_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_p128, uint8x16_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_u8_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u8_f64, uint8x16_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_s8_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_u8, int8x16_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_s8_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_p8, int8x16_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_s8_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_mf8, int8x16_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_s8_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_u16, int8x16_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_s8_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_s16, int8x16_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_s8_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_p16, int8x16_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_s8_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_f16, int8x16_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_s8_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_bf16, int8x16_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_s8_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_u32, int8x16_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_s8_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_s32, int8x16_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_s8_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_f32, int8x16_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_s8_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_u64, int8x16_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_s8_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_s64, int8x16_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_s8_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_p64, int8x16_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_s8_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_p128, int8x16_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_s8_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s8_f64, int8x16_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_p8_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_u8, poly8x16_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_p8_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_s8, poly8x16_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_p8_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_mf8, poly8x16_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_p8_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_u16, poly8x16_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_p8_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_s16, poly8x16_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_p8_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_p16, poly8x16_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_p8_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_f16, poly8x16_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_p8_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_bf16, poly8x16_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_p8_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_u32, poly8x16_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_p8_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_s32, poly8x16_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_p8_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_f32, poly8x16_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_p8_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_u64, poly8x16_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_p8_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_s64, poly8x16_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_p8_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_p64, poly8x16_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_p8_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_p128, poly8x16_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_p8_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p8_f64, poly8x16_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_mf8_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_u8, mfloat8x16_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_mf8_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_s8, mfloat8x16_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_mf8_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_p8, mfloat8x16_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_mf8_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_u16, mfloat8x16_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_mf8_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_s16, mfloat8x16_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_mf8_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_p16, mfloat8x16_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_mf8_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_f16, mfloat8x16_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_mf8_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_bf16, mfloat8x16_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_mf8_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_u32, mfloat8x16_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_mf8_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_s32, mfloat8x16_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_mf8_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_f32, mfloat8x16_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_mf8_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_u64, mfloat8x16_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_mf8_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_s64, mfloat8x16_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_mf8_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_p64, mfloat8x16_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_mf8_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_p128, mfloat8x16_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_mf8_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_mf8_f64, mfloat8x16_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_u16_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_u8, uint16x8_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_u16_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_s8, uint16x8_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_u16_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_p8, uint16x8_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_u16_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_mf8, uint16x8_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_u16_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_s16, uint16x8_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_u16_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_p16, uint16x8_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_u16_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_f16, uint16x8_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_u16_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_bf16, uint16x8_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_u16_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_u32, uint16x8_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_u16_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_s32, uint16x8_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_u16_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_f32, uint16x8_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_u16_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_u64, uint16x8_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_u16_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_s64, uint16x8_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_u16_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_p64, uint16x8_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_u16_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_p128, uint16x8_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_u16_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u16_f64, uint16x8_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_s16_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_u8, int16x8_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_s16_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_s8, int16x8_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_s16_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_p8, int16x8_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_s16_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_mf8, int16x8_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_s16_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_u16, int16x8_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_s16_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_p16, int16x8_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_s16_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_f16, int16x8_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_s16_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_bf16, int16x8_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_s16_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_u32, int16x8_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_s16_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_s32, int16x8_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_s16_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_f32, int16x8_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_s16_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_u64, int16x8_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_s16_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_s64, int16x8_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_s16_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_p64, int16x8_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_s16_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_p128, int16x8_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_s16_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s16_f64, int16x8_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_p16_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_u8, poly16x8_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_p16_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_s8, poly16x8_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_p16_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_p8, poly16x8_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_p16_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_mf8, poly16x8_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_p16_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_u16, poly16x8_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_p16_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_s16, poly16x8_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_p16_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_f16, poly16x8_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_p16_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_bf16, poly16x8_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_p16_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_u32, poly16x8_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_p16_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_s32, poly16x8_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_p16_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_f32, poly16x8_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_p16_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_u64, poly16x8_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_p16_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_s64, poly16x8_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_p16_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_p64, poly16x8_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_p16_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_p128, poly16x8_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_p16_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p16_f64, poly16x8_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_f16_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_u8, float16x8_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_f16_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_s8, float16x8_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_f16_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_p8, float16x8_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_f16_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_mf8, float16x8_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_f16_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_u16, float16x8_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_f16_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_s16, float16x8_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_f16_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_p16, float16x8_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_f16_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_bf16, float16x8_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_f16_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_u32, float16x8_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_f16_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_s32, float16x8_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_f16_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_f32, float16x8_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_f16_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_u64, float16x8_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_f16_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_s64, float16x8_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_f16_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_p64, float16x8_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_f16_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_p128, float16x8_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_f16_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f16_f64, float16x8_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_bf16_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_u8, bfloat16x8_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_bf16_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_s8, bfloat16x8_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_bf16_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_p8, bfloat16x8_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_bf16_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_mf8, bfloat16x8_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_bf16_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_u16, bfloat16x8_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_bf16_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_s16, bfloat16x8_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_bf16_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_p16, bfloat16x8_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_bf16_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_f16, bfloat16x8_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_bf16_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_u32, bfloat16x8_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_bf16_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_s32, bfloat16x8_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_bf16_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_f32, bfloat16x8_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_bf16_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_u64, bfloat16x8_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_bf16_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_s64, bfloat16x8_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_bf16_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_p64, bfloat16x8_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_bf16_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_p128, bfloat16x8_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_bf16_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_bf16_f64, bfloat16x8_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_u32_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_u8, uint32x4_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_u32_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_s8, uint32x4_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_u32_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_p8, uint32x4_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_u32_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_mf8, uint32x4_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_u32_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_u16, uint32x4_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_u32_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_s16, uint32x4_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_u32_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_p16, uint32x4_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_u32_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_f16, uint32x4_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_u32_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_bf16, uint32x4_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_u32_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_s32, uint32x4_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_u32_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_f32, uint32x4_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_u32_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_u64, uint32x4_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_u32_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_s64, uint32x4_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_u32_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_p64, uint32x4_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_u32_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_p128, uint32x4_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_u32_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u32_f64, uint32x4_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_s32_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_u8, int32x4_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_s32_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_s8, int32x4_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_s32_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_p8, int32x4_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_s32_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_mf8, int32x4_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_s32_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_u16, int32x4_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_s32_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_s16, int32x4_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_s32_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_p16, int32x4_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_s32_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_f16, int32x4_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_s32_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_bf16, int32x4_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_s32_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_u32, int32x4_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_s32_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_f32, int32x4_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_s32_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_u64, int32x4_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_s32_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_s64, int32x4_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_s32_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_p64, int32x4_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_s32_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_p128, int32x4_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_s32_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s32_f64, int32x4_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_f32_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_u8, float32x4_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_f32_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_s8, float32x4_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_f32_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_p8, float32x4_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_f32_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_mf8, float32x4_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_f32_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_u16, float32x4_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_f32_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_s16, float32x4_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_f32_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_p16, float32x4_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_f32_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_f16, float32x4_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_f32_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_bf16, float32x4_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_f32_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_u32, float32x4_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_f32_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_s32, float32x4_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_f32_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_u64, float32x4_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_f32_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_s64, float32x4_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_f32_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_p64, float32x4_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_f32_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_p128, float32x4_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_f32_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f32_f64, float32x4_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_u64_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_u8, uint64x2_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_u64_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_s8, uint64x2_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_u64_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_p8, uint64x2_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_u64_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_mf8, uint64x2_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_u64_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_u16, uint64x2_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_u64_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_s16, uint64x2_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_u64_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_p16, uint64x2_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_u64_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_f16, uint64x2_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_u64_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_bf16, uint64x2_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_u64_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_u32, uint64x2_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_u64_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_s32, uint64x2_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_u64_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_f32, uint64x2_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_u64_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_s64, uint64x2_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_u64_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_p64, uint64x2_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_u64_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_p128, uint64x2_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_u64_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_u64_f64, uint64x2_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_s64_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_u8, int64x2_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_s64_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_s8, int64x2_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_s64_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_p8, int64x2_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_s64_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_mf8, int64x2_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_s64_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_u16, int64x2_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_s64_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_s16, int64x2_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_s64_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_p16, int64x2_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_s64_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_f16, int64x2_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_s64_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_bf16, int64x2_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_s64_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_u32, int64x2_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_s64_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_s32, int64x2_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_s64_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_f32, int64x2_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_s64_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_u64, int64x2_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_s64_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_p64, int64x2_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_s64_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_p128, int64x2_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_s64_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_s64_f64, int64x2_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_p64_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_u8, poly64x2_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_p64_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_s8, poly64x2_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_p64_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_p8, poly64x2_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_p64_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_mf8, poly64x2_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_p64_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_u16, poly64x2_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_p64_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_s16, poly64x2_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_p64_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_p16, poly64x2_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_p64_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_f16, poly64x2_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_p64_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_bf16, poly64x2_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_p64_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_u32, poly64x2_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_p64_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_s32, poly64x2_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_p64_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_f32, poly64x2_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_p64_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_u64, poly64x2_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_p64_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_s64, poly64x2_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_p64_p128: { xfail *-*-* }\n+** fmov\td0, x0\n+** mov\tv0\\.d\\[1\\], x1\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_p128, poly64x2_t, poly128_t)\n+\n+/*\n+** test_vreinterpretq_p64_f64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p64_f64, poly64x2_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_p128_u8: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_u8, poly128_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_p128_s8: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_s8, poly128_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_p128_p8: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_p8, poly128_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_p128_mf8: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_mf8, poly128_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_p128_u16: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_u16, poly128_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_p128_s16: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_s16, poly128_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_p128_p16: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_p16, poly128_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_p128_f16: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_f16, poly128_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_p128_bf16: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_bf16, poly128_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_p128_u32: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_u32, poly128_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_p128_s32: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_s32, poly128_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_p128_f32: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_f32, poly128_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_p128_u64: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_u64, poly128_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_p128_s64: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_s64, poly128_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_p128_p64: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_p64, poly128_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_p128_f64: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_p128_f64, poly128_t, float64x2_t)\n+\n+/*\n+** test_vreinterpretq_f64_u8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_u8, float64x2_t, uint8x16_t)\n+\n+/*\n+** test_vreinterpretq_f64_s8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_s8, float64x2_t, int8x16_t)\n+\n+/*\n+** test_vreinterpretq_f64_p8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_p8, float64x2_t, poly8x16_t)\n+\n+/*\n+** test_vreinterpretq_f64_mf8:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_mf8, float64x2_t, mfloat8x16_t)\n+\n+/*\n+** test_vreinterpretq_f64_u16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_u16, float64x2_t, uint16x8_t)\n+\n+/*\n+** test_vreinterpretq_f64_s16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_s16, float64x2_t, int16x8_t)\n+\n+/*\n+** test_vreinterpretq_f64_p16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_p16, float64x2_t, poly16x8_t)\n+\n+/*\n+** test_vreinterpretq_f64_f16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_f16, float64x2_t, float16x8_t)\n+\n+/*\n+** test_vreinterpretq_f64_bf16:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_bf16, float64x2_t, bfloat16x8_t)\n+\n+/*\n+** test_vreinterpretq_f64_u32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_u32, float64x2_t, uint32x4_t)\n+\n+/*\n+** test_vreinterpretq_f64_s32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_s32, float64x2_t, int32x4_t)\n+\n+/*\n+** test_vreinterpretq_f64_f32:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_f32, float64x2_t, float32x4_t)\n+\n+/*\n+** test_vreinterpretq_f64_u64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_u64, float64x2_t, uint64x2_t)\n+\n+/*\n+** test_vreinterpretq_f64_s64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_s64, float64x2_t, int64x2_t)\n+\n+/*\n+** test_vreinterpretq_f64_p64:\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_p64, float64x2_t, poly64x2_t)\n+\n+/*\n+** test_vreinterpretq_f64_p128: { xfail *-*-* }\n+** fmov\tx0, d0\n+** mov\tx1, v0\\.d\\[1\\]\n+** ret\n+*/\n+TEST_UNARY (vreinterpretq_f64_p128, float64x2_t, poly128_t)\n",
    "prefixes": [
        "v1",
        "6/6"
    ]
}