]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aarch64: Allow moves after tied-register intrinsics
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 9 May 2023 06:43:33 +0000 (07:43 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Tue, 9 May 2023 06:43:33 +0000 (07:43 +0100)
Some ACLE intrinsics map to instructions that tie the output
operand to an input operand.  If all the operands are allocated
to different registers, and if MOVPRFX can't be used, we will need
a move either before the instruction or after it.  Many tests only
matched the "before" case; this patch makes them accept the "after"
case too.

gcc/testsuite/
* gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c: Allow
moves to occur after the intrinsic instruction, rather than requiring
them to happen before.
* gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/adda_f16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/adda_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/adda_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/brka_b.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/brkb_b.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/brkn_b.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/clasta_bf16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/clasta_f16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/clasta_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/clasta_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/clastb_bf16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/clastb_f16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/clastb_f32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/clastb_f64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/pfirst_b.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/pnext_b16.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/pnext_b32.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/pnext_b64.c: Likewise.
* gcc.target/aarch64/sve/acle/asm/pnext_b8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sli_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sli_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sli_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sli_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sli_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sli_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sli_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sli_u8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sri_s16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sri_s32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sri_s64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sri_s8.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sri_u16.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sri_u32.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sri_u64.c: Likewise.
* gcc.target/aarch64/sve2/acle/asm/sri_u8.c: Likewise.

38 files changed:
gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfcvtnq2-untied.c
gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfdot-1.c
gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/vdot-3-1.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/adda_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brka_b.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brkb_b.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/brkn_b.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_bf16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clasta_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_bf16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/clastb_f64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pfirst_b.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b16.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b32.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b64.c
gcc/testsuite/gcc.target/aarch64/sve/acle/asm/pnext_b8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s16.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_s8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u16.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sli_u8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s16.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_s8.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u16.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u32.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u64.c
gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/sri_u8.c

index 4b730e39d4ec2fb680235a61cc0a6d16a8ac4cad..1143bb797bc6e98966cb09b623b45d28f91e4baf 100644 (file)
@@ -9,8 +9,13 @@
 
 /*
 **test_bfcvtnq2_untied:
+** (
 **     mov     v0.16b, v1.16b
 **     bfcvtn2 v0.8h, v2.4s
+** |
+**     bfcvtn2 v1.8h, v2.4s
+**     mov     v0.16b, v1.16b
+** )
 **     ret
 */
 bfloat16x8_t test_bfcvtnq2_untied (bfloat16x8_t unused, bfloat16x8_t inactive,
index ad51507731bbb165de64e583ebfbf8047b4eb781..a5baf57cd5cd1f3c83bbe669021d5d0debe68d98 100644 (file)
@@ -69,8 +69,13 @@ float32x4_t ufooq_lane(float32x4_t r, bfloat16x8_t x, bfloat16x4_t y)
 
 /*
 **ufoo_untied:
+** (
 **     mov     v0.8b, v1.8b
 **     bfdot   v0.2s, (v2.4h, v3.4h|v3.4h, v2.4h)
+** |
+**     bfdot   v1.2s, (v2.4h, v3.4h|v3.4h, v2.4h)
+**     mov     v0.8b, v1.8b
+** )
 **     ret
 */
 float32x2_t ufoo_untied(float32x4_t unused, float32x2_t r, bfloat16x4_t x, bfloat16x4_t y)
@@ -80,8 +85,13 @@ float32x2_t ufoo_untied(float32x4_t unused, float32x2_t r, bfloat16x4_t x, bfloa
 
 /*
 **ufooq_lane_untied:
+** (
 **     mov     v0.16b, v1.16b
 **     bfdot   v0.4s, v2.8h, v3.2h\[1\]
+** |
+**     bfdot   v1.4s, v2.8h, v3.2h\[1\]
+**     mov     v0.16b, v1.16b
+** )
 **     ret
 */
 float32x4_t ufooq_lane_untied(float32x4_t unused, float32x4_t r, bfloat16x8_t x, bfloat16x4_t y)
index ac4f821e77143e93ecb23db71b7100b37df770f2..a245b9f792a4f3369223d1635fd66ecb79588030 100644 (file)
@@ -114,8 +114,13 @@ int32x4_t sfooq_laneq (int32x4_t r, int8x16_t x, uint8x16_t y)
 
 /*
 **ufoo_untied:
+** (
 **     mov     v0\.8b, v1\.8b
 **     usdot   v0\.2s, v2\.8b, v3\.8b
+** |
+**     usdot   v1\.2s, v2\.8b, v3\.8b
+**     mov     v0\.8b, v1\.8b
+** )
 **     ret
 */
 int32x2_t ufoo_untied (int32x2_t unused, int32x2_t r, uint8x8_t x, int8x8_t y)
@@ -125,8 +130,13 @@ int32x2_t ufoo_untied (int32x2_t unused, int32x2_t r, uint8x8_t x, int8x8_t y)
 
 /*
 **ufooq_laneq_untied:
+** (
 **     mov     v0\.16b, v1\.16b
 **     usdot   v0\.4s, v2\.16b, v3\.4b\[3\]
+** |
+**     usdot   v1\.4s, v2\.16b, v3\.4b\[3\]
+**     mov     v0\.16b, v1\.16b
+** )
 **     ret
 */
 int32x4_t ufooq_laneq_untied (int32x2_t unused, int32x4_t r, uint8x16_t x, int8x16_t y)
index 6c6bfa1c294b30121709de18d992eccb5fbd1460..642c45ab4920da9e2863eb423a6730efd66284eb 100644 (file)
@@ -13,8 +13,13 @@ TEST_FOLD_LEFT_D (adda_d0_f16, float16_t, svfloat16_t,
 
 /*
 ** adda_d1_f16:
+** (
 **     mov     v0\.h\[0\], v1\.h\[0\]
 **     fadda   h0, p0, h0, z2\.h
+** |
+**     fadda   h1, p0, h1, z2\.h
+**     mov     v0\.h\[0\], v1\.h\[0\]
+** )
 **     ret
 */
 TEST_FOLD_LEFT_D (adda_d1_f16, float16_t, svfloat16_t,
index 8b2a1dd1c688aa4c07d5a558801756abaa001262..79bdd3d804810c99f866745be2fb5c3cec21b0f3 100644 (file)
@@ -13,8 +13,13 @@ TEST_FOLD_LEFT_D (adda_d0_f32, float32_t, svfloat32_t,
 
 /*
 ** adda_d1_f32:
+** (
 **     fmov    s0, s1
 **     fadda   s0, p0, s0, z2\.s
+** |
+**     fadda   s1, p0, s1, z2\.s
+**     fmov    s0, s1
+** )
 **     ret
 */
 TEST_FOLD_LEFT_D (adda_d1_f32, float32_t, svfloat32_t,
index 90a56420a6ae300d805b2029018eae2181346d3d..c8f56772218efc1d22782e31bce5622ba9922bf3 100644 (file)
@@ -13,8 +13,13 @@ TEST_FOLD_LEFT_D (adda_d0_f64, float64_t, svfloat64_t,
 
 /*
 ** adda_d1_f64:
+** (
 **     fmov    d0, d1
 **     fadda   d0, p0, d0, z2\.d
+** |
+**     fadda   d1, p0, d1, z2\.d
+**     fmov    d0, d1
+** )
 **     ret
 */
 TEST_FOLD_LEFT_D (adda_d1_f64, float64_t, svfloat64_t,
index 63426cf947d488dec24711530b4d3c95ec06968d..7a20a22d128a3bcd25032f1edb5407b9492d8838 100644 (file)
@@ -27,8 +27,13 @@ TEST_UNIFORM_P (brka_b_m_tied2,
 
 /*
 ** brka_b_m_untied:
+** (
 **     mov     p0\.b, p2\.b
 **     brka    p0\.b, p3/m, p1\.b
+** |
+**     brka    p2\.b, p3/m, p1\.b
+**     mov     p0\.b, p2\.b
+** )
 **     ret
 */
 TEST_UNIFORM_P (brka_b_m_untied,
index 4f9a2c2d7b99a7c2d2f7e036103099381ee86b2d..f1c8c4368639fd2ec40082575f11fdf2e7d8d92b 100644 (file)
@@ -27,8 +27,13 @@ TEST_UNIFORM_P (brkb_b_m_tied2,
 
 /*
 ** brkb_b_m_untied:
+** (
 **     mov     p0\.b, p2\.b
 **     brkb    p0\.b, p3/m, p1\.b
+** |
+**     brkb    p2\.b, p3/m, p1\.b
+**     mov     p0\.b, p2\.b
+** )
 **     ret
 */
 TEST_UNIFORM_P (brkb_b_m_untied,
index 229a5fff9eba28597cf8a0ea4314bdaa5ed263fc..69e8eb6b0e5d88a61e9ea93e7338e3b78a0f563b 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_P (brkn_b_z_tied2,
 
 /*
 ** brkn_b_z_untied:
+** (
 **     mov     p0\.b, p2\.b
 **     brkn    p0\.b, p3/z, p1\.b, p0\.b
+** |
+**     brkn    p2\.b, p3/z, p1\.b, p2\.b
+**     mov     p0\.b, p2\.b
+** )
 **     ret
 */
 TEST_UNIFORM_P (brkn_b_z_untied,
index a15e34400f6cba9500034825ac48ae024703b374..54a1d1af17890172be50cc4b2e32bbd1a1ee5284 100644 (file)
@@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clasta_d0_bf16, bfloat16_t, svbfloat16_t,
 
 /*
 ** clasta_d1_bf16:
+** (
 **     mov     v0\.h\[0\], v1\.h\[0\]
 **     clasta  h0, p0, h0, z2\.h
+** |
+**     clasta  h1, p0, h1, z2\.h
+**     mov     v0\.h\[0\], v1\.h\[0\]
+** )
 **     ret
 */
 TEST_FOLD_LEFT_D (clasta_d1_bf16, bfloat16_t, svbfloat16_t,
index d9a980f60c0876d893092b7c0a432ce1f67d5dc6..243cad40f56c607ea76146489332e0325388e052 100644 (file)
@@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clasta_d0_f16, float16_t, svfloat16_t,
 
 /*
 ** clasta_d1_f16:
+** (
 **     mov     v0\.h\[0\], v1\.h\[0\]
 **     clasta  h0, p0, h0, z2\.h
+** |
+**     clasta  h1, p0, h1, z2\.h
+**     mov     v0\.h\[0\], v1\.h\[0\]
+** )
 **     ret
 */
 TEST_FOLD_LEFT_D (clasta_d1_f16, float16_t, svfloat16_t,
index cac01fa6d6409c589232fe8abab4e4b22eaaa612..44e700ada9aaf7fcea02fff8853a683ae18af299 100644 (file)
@@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clasta_d0_f32, float32_t, svfloat32_t,
 
 /*
 ** clasta_d1_f32:
+** (
 **     fmov    s0, s1
 **     clasta  s0, p0, s0, z2\.s
+** |
+**     clasta  s1, p0, s1, z2\.s
+**     fmov    s0, s1
+** )
 **     ret
 */
 TEST_FOLD_LEFT_D (clasta_d1_f32, float32_t, svfloat32_t,
index 43b93553ba8c7ad93eb5d696a9dce6a05fa83b30..fb147d51f0c618dc2543b83bc19f449b7dec5d39 100644 (file)
@@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clasta_d0_f64, float64_t, svfloat64_t,
 
 /*
 ** clasta_d1_f64:
+** (
 **     fmov    d0, d1
 **     clasta  d0, p0, d0, z2\.d
+** |
+**     clasta  d1, p0, d1, z2\.d
+**     fmov    d0, d1
+** )
 **     ret
 */
 TEST_FOLD_LEFT_D (clasta_d1_f64, float64_t, svfloat64_t,
index 235fd1b4ed6ecf69c2be2cace8d30adf33849cef..8dcb9a152b5a78e86d0c09e144ab18dc45c0667b 100644 (file)
@@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clastb_d0_bf16, bfloat16_t, svbfloat16_t,
 
 /*
 ** clastb_d1_bf16:
+** (
 **     mov     v0\.h\[0\], v1\.h\[0\]
 **     clastb  h0, p0, h0, z2\.h
+** |
+**     clastb  h1, p0, h1, z2\.h
+**     mov     v0\.h\[0\], v1\.h\[0\]
+** )
 **     ret
 */
 TEST_FOLD_LEFT_D (clastb_d1_bf16, bfloat16_t, svbfloat16_t,
index e56d7688a1c67673ea4e1b63a309ee89102c4767..08e63cee9e8eb04ca113c014b753be2b3cfbaff9 100644 (file)
@@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clastb_d0_f16, float16_t, svfloat16_t,
 
 /*
 ** clastb_d1_f16:
+** (
 **     mov     v0\.h\[0\], v1\.h\[0\]
 **     clastb  h0, p0, h0, z2\.h
+** |
+**     clastb  h1, p0, h1, z2\.h
+**     mov     v0\.h\[0\], v1\.h\[0\]
+** )
 **     ret
 */
 TEST_FOLD_LEFT_D (clastb_d1_f16, float16_t, svfloat16_t,
index c580d13064b8d0065b52a67bbedd6e3a3a924cbb..8d71344b2ce92aaf01b1c1cf53b209c2a8ccc6f3 100644 (file)
@@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clastb_d0_f32, float32_t, svfloat32_t,
 
 /*
 ** clastb_d1_f32:
+** (
 **     fmov    s0, s1
 **     clastb  s0, p0, s0, z2\.s
+** |
+**     clastb  s1, p0, s1, z2\.s
+**     fmov    s0, s1
+** )
 **     ret
 */
 TEST_FOLD_LEFT_D (clastb_d1_f32, float32_t, svfloat32_t,
index 217a76f5112d296dc71feca12b6b22e796fd3f47..6b24dcad17eb4aeacd4eff4e53755be2aa566ed6 100644 (file)
@@ -43,8 +43,13 @@ TEST_FOLD_LEFT_D (clastb_d0_f64, float64_t, svfloat64_t,
 
 /*
 ** clastb_d1_f64:
+** (
 **     fmov    d0, d1
 **     clastb  d0, p0, d0, z2\.d
+** |
+**     clastb  d1, p0, d1, z2\.d
+**     fmov    d0, d1
+** )
 **     ret
 */
 TEST_FOLD_LEFT_D (clastb_d1_f64, float64_t, svfloat64_t,
index a32099656cc54c00f11866aedd992390730613d4..9ec5f00c7f12b86cd0070425ace1b3e9122c6784 100644 (file)
@@ -13,8 +13,13 @@ TEST_UNIFORM_P (pfirst_b_tied1,
 
 /*
 ** pfirst_b_untied:
+** (
 **     mov     p0\.b, p1\.b
 **     pfirst  p0\.b, p3, p0\.b
+** |
+**     pfirst  p1\.b, p3, p1\.b
+**     mov     p0\.b, p1\.b
+** )
 **     ret
 */
 TEST_UNIFORM_P (pfirst_b_untied,
index ad0efe5e711e7b7ae1c213e92b3274efd4f89bf5..efb76e8ba8a52138951ba81f305d072879fef695 100644 (file)
@@ -13,8 +13,13 @@ TEST_UNIFORM_P (pnext_b16_tied1,
 
 /*
 ** pnext_b16_untied:
+** (
 **     mov     p0\.b, p1\.b
 **     pnext   p0\.h, p3, p0\.h
+** |
+**     pnext   p1\.h, p3, p1\.h
+**     mov     p0\.b, p1\.b
+** )
 **     ret
 */
 TEST_UNIFORM_P (pnext_b16_untied,
index a0030fae18d383d412727a14f862ca678d5a72a5..1f57253fbf199a676164fb8cd02c624f8612598a 100644 (file)
@@ -13,8 +13,13 @@ TEST_UNIFORM_P (pnext_b32_tied1,
 
 /*
 ** pnext_b32_untied:
+** (
 **     mov     p0\.b, p1\.b
 **     pnext   p0\.s, p3, p0\.s
+** |
+**     pnext   p1\.s, p3, p1\.s
+**     mov     p0\.b, p1\.b
+** )
 **     ret
 */
 TEST_UNIFORM_P (pnext_b32_untied,
index 59db2f04f2ab6af169801ae9afc4d5f2ef2463c9..eed5a56f134df8efdd0ac8f5309ebb9298b58d7f 100644 (file)
@@ -13,8 +13,13 @@ TEST_UNIFORM_P (pnext_b64_tied1,
 
 /*
 ** pnext_b64_untied:
+** (
 **     mov     p0\.b, p1\.b
 **     pnext   p0\.d, p3, p0\.d
+** |
+**     pnext   p1\.d, p3, p1\.d
+**     mov     p0\.b, p1\.b
+** )
 **     ret
 */
 TEST_UNIFORM_P (pnext_b64_untied,
index cfc2e907c25999af2f2f2385e56767f1183b96c6..a36d43c4cffd95a82375408eb72805d18843f864 100644 (file)
@@ -13,8 +13,13 @@ TEST_UNIFORM_P (pnext_b8_tied1,
 
 /*
 ** pnext_b8_untied:
+** (
 **     mov     p0\.b, p1\.b
 **     pnext   p0\.b, p3, p0\.b
+** |
+**     pnext   p1\.b, p3, p1\.b
+**     mov     p0\.b, p1\.b
+** )
 **     ret
 */
 TEST_UNIFORM_P (pnext_b8_untied,
index 6772a5620d2239df7efb0002fc6c8b8230f52e86..d91d499da5a3e6881fecbffeca92c1a4b6ea9445 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_s16_tied2, svint16_t,
 
 /*
 ** sli_0_s16_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.h, z2\.h, #0
+** |
+**     sli     z1\.h, z2\.h, #0
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_0_s16_untied, svint16_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_s16_tied2, svint16_t,
 
 /*
 ** sli_1_s16_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.h, z2\.h, #1
+** |
+**     sli     z1\.h, z2\.h, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_1_s16_untied, svint16_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_15_s16_tied2, svint16_t,
 
 /*
 ** sli_15_s16_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.h, z2\.h, #15
+** |
+**     sli     z1\.h, z2\.h, #15
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_15_s16_untied, svint16_t,
index 023e7c40d3eeaeef531e913e64ae3b4b3ea43138..3ae507c432cb9782eda4590eafd3ef6f6d6bb814 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_s32_tied2, svint32_t,
 
 /*
 ** sli_0_s32_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.s, z2\.s, #0
+** |
+**     sli     z1\.s, z2\.s, #0
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_0_s32_untied, svint32_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_s32_tied2, svint32_t,
 
 /*
 ** sli_1_s32_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.s, z2\.s, #1
+** |
+**     sli     z1\.s, z2\.s, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_1_s32_untied, svint32_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_31_s32_tied2, svint32_t,
 
 /*
 ** sli_31_s32_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.s, z2\.s, #31
+** |
+**     sli     z1\.s, z2\.s, #31
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_31_s32_untied, svint32_t,
index c37db1b4796f56283f01c3f7f8338e4b276273f0..93c5723a80413a9f21b534a0d10505bb11687ec1 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_s64_tied2, svint64_t,
 
 /*
 ** sli_0_s64_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.d, z2\.d, #0
+** |
+**     sli     z1\.d, z2\.d, #0
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_0_s64_untied, svint64_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_s64_tied2, svint64_t,
 
 /*
 ** sli_1_s64_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.d, z2\.d, #1
+** |
+**     sli     z1\.d, z2\.d, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_1_s64_untied, svint64_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_63_s64_tied2, svint64_t,
 
 /*
 ** sli_63_s64_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.d, z2\.d, #63
+** |
+**     sli     z1\.d, z2\.d, #63
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_63_s64_untied, svint64_t,
index ea0dcdc187134d4408bbde280c3be51dfc4fc1d3..5ac336f76d1dfdac38955950926d215cbe225f6c 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_s8_tied2, svint8_t,
 
 /*
 ** sli_0_s8_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.b, z2\.b, #0
+** |
+**     sli     z1\.b, z2\.b, #0
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_0_s8_untied, svint8_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_s8_tied2, svint8_t,
 
 /*
 ** sli_1_s8_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.b, z2\.b, #1
+** |
+**     sli     z1\.b, z2\.b, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_1_s8_untied, svint8_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_7_s8_tied2, svint8_t,
 
 /*
 ** sli_7_s8_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.b, z2\.b, #7
+** |
+**     sli     z1\.b, z2\.b, #7
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_7_s8_untied, svint8_t,
index 475c00ea6a4c226d56d68efae2ccc49ccc498887..b6cbb55b8a01d91c4c6811da90b517d3a18f7480 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_u16_tied2, svuint16_t,
 
 /*
 ** sli_0_u16_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.h, z2\.h, #0
+** |
+**     sli     z1\.h, z2\.h, #0
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_0_u16_untied, svuint16_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_u16_tied2, svuint16_t,
 
 /*
 ** sli_1_u16_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.h, z2\.h, #1
+** |
+**     sli     z1\.h, z2\.h, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_1_u16_untied, svuint16_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_15_u16_tied2, svuint16_t,
 
 /*
 ** sli_15_u16_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.h, z2\.h, #15
+** |
+**     sli     z1\.h, z2\.h, #15
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_15_u16_untied, svuint16_t,
index 52bd8370e5fa561ea61778855a75b03848c82452..654f4b6d6709f763d97093ba214889b302766a6e 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_u32_tied2, svuint32_t,
 
 /*
 ** sli_0_u32_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.s, z2\.s, #0
+** |
+**     sli     z1\.s, z2\.s, #0
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_0_u32_untied, svuint32_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_u32_tied2, svuint32_t,
 
 /*
 ** sli_1_u32_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.s, z2\.s, #1
+** |
+**     sli     z1\.s, z2\.s, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_1_u32_untied, svuint32_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_31_u32_tied2, svuint32_t,
 
 /*
 ** sli_31_u32_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.s, z2\.s, #31
+** |
+**     sli     z1\.s, z2\.s, #31
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_31_u32_untied, svuint32_t,
index ab75ba2e6d5d635c89bdd7bd9848b3ff0eee23de..c5466a295cc2a570ad2ddc6486b5600125ea7bb2 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_u64_tied2, svuint64_t,
 
 /*
 ** sli_0_u64_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.d, z2\.d, #0
+** |
+**     sli     z1\.d, z2\.d, #0
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_0_u64_untied, svuint64_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_u64_tied2, svuint64_t,
 
 /*
 ** sli_1_u64_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.d, z2\.d, #1
+** |
+**     sli     z1\.d, z2\.d, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_1_u64_untied, svuint64_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_63_u64_tied2, svuint64_t,
 
 /*
 ** sli_63_u64_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.d, z2\.d, #63
+** |
+**     sli     z1\.d, z2\.d, #63
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_63_u64_untied, svuint64_t,
index e2207c3c46674820d1496f13c4c04dc6a0201118..2b3533f5e71d484b73ece652625f6f0c9a56027f 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sli_0_u8_tied2, svuint8_t,
 
 /*
 ** sli_0_u8_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.b, z2\.b, #0
+** |
+**     sli     z1\.b, z2\.b, #0
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_0_u8_untied, svuint8_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sli_1_u8_tied2, svuint8_t,
 
 /*
 ** sli_1_u8_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.b, z2\.b, #1
+** |
+**     sli     z1\.b, z2\.b, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_1_u8_untied, svuint8_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sli_7_u8_tied2, svuint8_t,
 
 /*
 ** sli_7_u8_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sli     z0\.b, z2\.b, #7
+** |
+**     sli     z1\.b, z2\.b, #7
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sli_7_u8_untied, svuint8_t,
index 177fbb20d625d3278ed417cd5223a7381f15a73b..16cb73ce542a147da79f67d5022e4f82f3b85945 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_s16_tied2, svint16_t,
 
 /*
 ** sri_1_s16_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.h, z2\.h, #1
+** |
+**     sri     z1\.h, z2\.h, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_1_s16_untied, svint16_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_s16_tied2, svint16_t,
 
 /*
 ** sri_2_s16_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.h, z2\.h, #2
+** |
+**     sri     z1\.h, z2\.h, #2
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_2_s16_untied, svint16_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_16_s16_tied2, svint16_t,
 
 /*
 ** sri_16_s16_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.h, z2\.h, #16
+** |
+**     sri     z1\.h, z2\.h, #16
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_16_s16_untied, svint16_t,
index 27d6c99c3a04e774cbaa74cc57b6749d7f7d4b30..3c69f622d7482a7ad1d67a4bfd7444274727eead 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_s32_tied2, svint32_t,
 
 /*
 ** sri_1_s32_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.s, z2\.s, #1
+** |
+**     sri     z1\.s, z2\.s, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_1_s32_untied, svint32_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_s32_tied2, svint32_t,
 
 /*
 ** sri_2_s32_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.s, z2\.s, #2
+** |
+**     sri     z1\.s, z2\.s, #2
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_2_s32_untied, svint32_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_32_s32_tied2, svint32_t,
 
 /*
 ** sri_32_s32_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.s, z2\.s, #32
+** |
+**     sri     z1\.s, z2\.s, #32
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_32_s32_untied, svint32_t,
index 021613d017921665476c4f2aa29ffb4ca1b2d5f0..5c64e1bb51f4e53a85512275161cdd75cbfeb3fb 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_s64_tied2, svint64_t,
 
 /*
 ** sri_1_s64_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.d, z2\.d, #1
+** |
+**     sri     z1\.d, z2\.d, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_1_s64_untied, svint64_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_s64_tied2, svint64_t,
 
 /*
 ** sri_2_s64_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.d, z2\.d, #2
+** |
+**     sri     z1\.d, z2\.d, #2
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_2_s64_untied, svint64_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_64_s64_tied2, svint64_t,
 
 /*
 ** sri_64_s64_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.d, z2\.d, #64
+** |
+**     sri     z1\.d, z2\.d, #64
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_64_s64_untied, svint64_t,
index 0bfa2678559f06302d55863ad2bf5115f192413e..1871bb47645fa4d1f9d64cab54a1a2e528b341ff 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_s8_tied2, svint8_t,
 
 /*
 ** sri_1_s8_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.b, z2\.b, #1
+** |
+**     sri     z1\.b, z2\.b, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_1_s8_untied, svint8_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_s8_tied2, svint8_t,
 
 /*
 ** sri_2_s8_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.b, z2\.b, #2
+** |
+**     sri     z1\.b, z2\.b, #2
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_2_s8_untied, svint8_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_8_s8_tied2, svint8_t,
 
 /*
 ** sri_8_s8_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.b, z2\.b, #8
+** |
+**     sri     z1\.b, z2\.b, #8
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_8_s8_untied, svint8_t,
index 2f12dc90857eb982ab07d1a1a1f166fd1fda2162..ce6e838f7db0b15afde8b65ddfef8f1a50e52521 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_u16_tied2, svuint16_t,
 
 /*
 ** sri_1_u16_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.h, z2\.h, #1
+** |
+**     sri     z1\.h, z2\.h, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_1_u16_untied, svuint16_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_u16_tied2, svuint16_t,
 
 /*
 ** sri_2_u16_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.h, z2\.h, #2
+** |
+**     sri     z1\.h, z2\.h, #2
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_2_u16_untied, svuint16_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_16_u16_tied2, svuint16_t,
 
 /*
 ** sri_16_u16_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.h, z2\.h, #16
+** |
+**     sri     z1\.h, z2\.h, #16
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_16_u16_untied, svuint16_t,
index d4d107f55cc9b58fe64e700c69abab3852c6c2d1..7cf6fea771b2725ba39641da58cba7fddcc136d7 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_u32_tied2, svuint32_t,
 
 /*
 ** sri_1_u32_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.s, z2\.s, #1
+** |
+**     sri     z1\.s, z2\.s, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_1_u32_untied, svuint32_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_u32_tied2, svuint32_t,
 
 /*
 ** sri_2_u32_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.s, z2\.s, #2
+** |
+**     sri     z1\.s, z2\.s, #2
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_2_u32_untied, svuint32_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_32_u32_tied2, svuint32_t,
 
 /*
 ** sri_32_u32_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.s, z2\.s, #32
+** |
+**     sri     z1\.s, z2\.s, #32
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_32_u32_untied, svuint32_t,
index 41d67346f2588ff898defb42e1d3f300a0ea54d0..be61f85f2654fe31f9708c2286ab6b4834a24508 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_u64_tied2, svuint64_t,
 
 /*
 ** sri_1_u64_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.d, z2\.d, #1
+** |
+**     sri     z1\.d, z2\.d, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_1_u64_untied, svuint64_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_u64_tied2, svuint64_t,
 
 /*
 ** sri_2_u64_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.d, z2\.d, #2
+** |
+**     sri     z1\.d, z2\.d, #2
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_2_u64_untied, svuint64_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_64_u64_tied2, svuint64_t,
 
 /*
 ** sri_64_u64_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.d, z2\.d, #64
+** |
+**     sri     z1\.d, z2\.d, #64
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_64_u64_untied, svuint64_t,
index 0aa6a543860fd11eda1d7b2f667d2e6a5f97a0ad..84de5a2b2e91d9774f948d25566adfa03074f749 100644 (file)
@@ -18,8 +18,13 @@ TEST_UNIFORM_Z (sri_1_u8_tied2, svuint8_t,
 
 /*
 ** sri_1_u8_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.b, z2\.b, #1
+** |
+**     sri     z1\.b, z2\.b, #1
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_1_u8_untied, svuint8_t,
@@ -42,8 +47,13 @@ TEST_UNIFORM_Z (sri_2_u8_tied2, svuint8_t,
 
 /*
 ** sri_2_u8_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.b, z2\.b, #2
+** |
+**     sri     z1\.b, z2\.b, #2
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_2_u8_untied, svuint8_t,
@@ -66,8 +76,13 @@ TEST_UNIFORM_Z (sri_8_u8_tied2, svuint8_t,
 
 /*
 ** sri_8_u8_untied:
+** (
 **     mov     z0\.d, z1\.d
 **     sri     z0\.b, z2\.b, #8
+** |
+**     sri     z1\.b, z2\.b, #8
+**     mov     z0\.d, z1\.d
+** )
 **     ret
 */
 TEST_UNIFORM_Z (sri_8_u8_untied, svuint8_t,