Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2237926/?format=api
{ "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" ] }