From: Claudio Bantaloukas <[email protected]>
These functions could already support svmfloat8_t types but were missing tests.
This change uses the similar ones for uint8.
gcc/testsuite/
* gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x2.c: New test.
* gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x4.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/luti2_mf8.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/luti4_mf8_x2.c: Likewise.
* gcc.target/aarch64/sme2/acle-asm/luti4_mf8.c: Likewise.
---
.../aarch64/sme2/acle-asm/luti2_mf8.c | 48 ++++++++++++++++
.../aarch64/sme2/acle-asm/luti2_mf8_x2.c | 50 +++++++++++++++++
.../aarch64/sme2/acle-asm/luti2_mf8_x4.c | 56 +++++++++++++++++++
.../aarch64/sme2/acle-asm/luti4_mf8.c | 48 ++++++++++++++++
.../aarch64/sme2/acle-asm/luti4_mf8_x2.c | 50 +++++++++++++++++
5 files changed, 252 insertions(+)
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8.c
create mode 100644
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x2.c
create mode 100644
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x4.c
create mode 100644 gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti4_mf8.c
create mode 100644
gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti4_mf8_x2.c
diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8.c
new file mode 100644
index 00000000000..3cd830c385f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8.c
@@ -0,0 +1,48 @@
+/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
+
+#include "test_sme2_acle.h"
+
+/*
+** luti2_z1_z0_0:
+** luti2 z1\.b, zt0, z0\[0\]
+** ret
+*/
+TEST_XN_SINGLE (luti2_z1_z0_0, svmfloat8_t, svuint8_t, z1,
+ svluti2_lane_zt_mf8 (0, z0, 0),
+ svluti2_lane_zt_mf8 (0, z0, 0))
+
+/*
+** luti2_z18_z5_15:
+** luti2 z18\.b, zt0, z5\[15\]
+** ret
+*/
+TEST_XN_SINGLE (luti2_z18_z5_15, svmfloat8_t, svuint8_t, z18,
+ svluti2_lane_zt_mf8 (0, z5, 15),
+ svluti2_lane_zt_mf8 (0, z5, 15))
+
+/*
+** luti2_z24_z7_13:
+** luti2 z24\.b, zt0, z7\[13\]
+** ret
+*/
+TEST_XN_SINGLE (luti2_z24_z7_13, svmfloat8_t, svuint8_t, z24,
+ svluti2_lane_zt_mf8 (0, z7, 13),
+ svluti2_lane_zt_mf8 (0, z7, 13))
+
+/*
+** luti2_z28_z16_11:
+** luti2 z28\.b, zt0, z16\[11\]
+** ret
+*/
+TEST_XN_SINGLE (luti2_z28_z16_11, svmfloat8_t, svuint8_t, z28,
+ svluti2_lane_zt_mf8 (0, z16, 11),
+ svluti2_lane_zt_mf8 (0, z16, 11))
+
+/*
+** luti2_z24_z23_1:
+** luti2 z24\.b, zt0, z23\[1\]
+** ret
+*/
+TEST_XN_SINGLE (luti2_z24_z23_1, svmfloat8_t, svuint8_t, z24,
+ svluti2_lane_zt_mf8 (0, z23, 1),
+ svluti2_lane_zt_mf8 (0, z23, 1))
diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x2.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x2.c
new file mode 100644
index 00000000000..bb299affdd3
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x2.c
@@ -0,0 +1,50 @@
+/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
+
+#include "test_sme2_acle.h"
+
+/*
+** luti2_z1_z0_0:
+** luti2 {[^\n]+}, zt0, z0\[0\]
+** mov [^\n]+
+** mov [^\n]+
+** ret
+*/
+TEST_XN_SINGLE (luti2_z1_z0_0, svmfloat8x2_t, svuint8_t, z1,
+ svluti2_lane_zt_mf8_x2 (0, z0, 0),
+ svluti2_lane_zt_mf8_x2 (0, z0, 0))
+
+/*
+** luti2_z18_z5_7:
+** luti2 {z18\.b - z19\.b}, zt0, z5\[7\]
+** ret
+*/
+TEST_XN_SINGLE (luti2_z18_z5_7, svmfloat8x2_t, svuint8_t, z18,
+ svluti2_lane_zt_mf8_x2 (0, z5, 7),
+ svluti2_lane_zt_mf8_x2 (0, z5, 7))
+
+/*
+** luti2_z24_z7_6:
+** luti2 {z24\.b - z25\.b}, zt0, z7\[6\]
+** ret
+*/
+TEST_XN_SINGLE (luti2_z24_z7_6, svmfloat8x2_t, svuint8_t, z24,
+ svluti2_lane_zt_mf8_x2 (0, z7, 6),
+ svluti2_lane_zt_mf8_x2 (0, z7, 6))
+
+/*
+** luti2_z28_z16_3:
+** luti2 {z28\.b - z29\.b}, zt0, z16\[3\]
+** ret
+*/
+TEST_XN_SINGLE (luti2_z28_z16_3, svmfloat8x2_t, svuint8_t, z28,
+ svluti2_lane_zt_mf8_x2 (0, z16, 3),
+ svluti2_lane_zt_mf8_x2 (0, z16, 3))
+
+/*
+** luti2_z24_z23_1:
+** luti2 {z24\.b - z25\.b}, zt0, z23\[1\]
+** ret
+*/
+TEST_XN_SINGLE (luti2_z24_z23_1, svmfloat8x2_t, svuint8_t, z24,
+ svluti2_lane_zt_mf8_x2 (0, z23, 1),
+ svluti2_lane_zt_mf8_x2 (0, z23, 1))
diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x4.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x4.c
new file mode 100644
index 00000000000..a9cefbc14d9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti2_mf8_x4.c
@@ -0,0 +1,56 @@
+/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
+
+#include "test_sme2_acle.h"
+
+/*
+** luti2_z1_z0_0:
+** luti2 {[^\n]+}, zt0, z0\[0\]
+** mov [^\n]+
+** mov [^\n]+
+** mov [^\n]+
+** mov [^\n]+
+** ret
+*/
+TEST_XN_SINGLE (luti2_z1_z0_0, svmfloat8x4_t, svuint8_t, z1,
+ svluti2_lane_zt_mf8_x4 (0, z0, 0),
+ svluti2_lane_zt_mf8_x4 (0, z0, 0))
+
+/*
+** luti2_z18_z5_3:
+** luti2 {[^\n]+}, zt0, z5\[3\]
+** mov [^\n]+
+** mov [^\n]+
+** mov [^\n]+
+** mov [^\n]+
+** ret
+*/
+TEST_XN_SINGLE (luti2_z18_z5_3, svmfloat8x4_t, svuint8_t, z18,
+ svluti2_lane_zt_mf8_x4 (0, z5, 3),
+ svluti2_lane_zt_mf8_x4 (0, z5, 3))
+
+/*
+** luti2_z24_z7_2:
+** luti2 {z24\.b - z27\.b}, zt0, z7\[2\]
+** ret
+*/
+TEST_XN_SINGLE (luti2_z24_z7_2, svmfloat8x4_t, svuint8_t, z24,
+ svluti2_lane_zt_mf8_x4 (0, z7, 2),
+ svluti2_lane_zt_mf8_x4 (0, z7, 2))
+
+/*
+** luti2_z28_z16_1:
+** luti2 {z28\.b - z31\.b}, zt0, z16\[1\]
+** ret
+*/
+TEST_XN_SINGLE (luti2_z28_z16_1, svmfloat8x4_t, svuint8_t, z28,
+ svluti2_lane_zt_mf8_x4 (0, z16, 1),
+ svluti2_lane_zt_mf8_x4 (0, z16, 1))
+
+/*
+** luti2_z24_z23_0:
+** luti2 {z24\.b - z27\.b}, zt0, z23\[0\]
+** ret
+*/
+TEST_XN_SINGLE (luti2_z24_z23_0, svmfloat8x4_t, svuint8_t, z24,
+ svluti2_lane_zt_mf8_x4 (0, z23, 0),
+ svluti2_lane_zt_mf8_x4 (0, z23, 0))
diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti4_mf8.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti4_mf8.c
new file mode 100644
index 00000000000..1ca04b338eb
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti4_mf8.c
@@ -0,0 +1,48 @@
+/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
+
+#include "test_sme2_acle.h"
+
+/*
+** luti4_z1_z0_0:
+** luti4 z1\.b, zt0, z0\[0\]
+** ret
+*/
+TEST_XN_SINGLE (luti4_z1_z0_0, svmfloat8_t, svuint8_t, z1,
+ svluti4_lane_zt_mf8 (0, z0, 0),
+ svluti4_lane_zt_mf8 (0, z0, 0))
+
+/*
+** luti4_z18_z5_7:
+** luti4 z18\.b, zt0, z5\[7\]
+** ret
+*/
+TEST_XN_SINGLE (luti4_z18_z5_7, svmfloat8_t, svuint8_t, z18,
+ svluti4_lane_zt_mf8 (0, z5, 7),
+ svluti4_lane_zt_mf8 (0, z5, 7))
+
+/*
+** luti4_z24_z7_6:
+** luti4 z24\.b, zt0, z7\[6\]
+** ret
+*/
+TEST_XN_SINGLE (luti4_z24_z7_6, svmfloat8_t, svuint8_t, z24,
+ svluti4_lane_zt_mf8 (0, z7, 6),
+ svluti4_lane_zt_mf8 (0, z7, 6))
+
+/*
+** luti4_z28_z16_4:
+** luti4 z28\.b, zt0, z16\[4\]
+** ret
+*/
+TEST_XN_SINGLE (luti4_z28_z16_4, svmfloat8_t, svuint8_t, z28,
+ svluti4_lane_zt_mf8 (0, z16, 4),
+ svluti4_lane_zt_mf8 (0, z16, 4))
+
+/*
+** luti4_z24_z23_1:
+** luti4 z24\.b, zt0, z23\[1\]
+** ret
+*/
+TEST_XN_SINGLE (luti4_z24_z23_1, svmfloat8_t, svuint8_t, z24,
+ svluti4_lane_zt_mf8 (0, z23, 1),
+ svluti4_lane_zt_mf8 (0, z23, 1))
diff --git a/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti4_mf8_x2.c b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti4_mf8_x2.c
new file mode 100644
index 00000000000..1e3516ed340
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sme2/acle-asm/luti4_mf8_x2.c
@@ -0,0 +1,50 @@
+/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
+
+#include "test_sme2_acle.h"
+
+/*
+** luti4_z1_z0_0:
+** luti4 {[^\n]+}, zt0, z0\[0\]
+** mov [^\n]+
+** mov [^\n]+
+** ret
+*/
+TEST_XN_SINGLE (luti4_z1_z0_0, svmfloat8x2_t, svuint8_t, z1,
+ svluti4_lane_zt_mf8_x2 (0, z0, 0),
+ svluti4_lane_zt_mf8_x2 (0, z0, 0))
+
+/*
+** luti4_z18_z5_3:
+** luti4 {z18\.b - z19\.b}, zt0, z5\[3\]
+** ret
+*/
+TEST_XN_SINGLE (luti4_z18_z5_3, svmfloat8x2_t, svuint8_t, z18,
+ svluti4_lane_zt_mf8_x2 (0, z5, 3),
+ svluti4_lane_zt_mf8_x2 (0, z5, 3))
+
+/*
+** luti4_z24_z7_2:
+** luti4 {z24\.b - z25\.b}, zt0, z7\[2\]
+** ret
+*/
+TEST_XN_SINGLE (luti4_z24_z7_2, svmfloat8x2_t, svuint8_t, z24,
+ svluti4_lane_zt_mf8_x2 (0, z7, 2),
+ svluti4_lane_zt_mf8_x2 (0, z7, 2))
+
+/*
+** luti4_z28_z16_1:
+** luti4 {z28\.b - z29\.b}, zt0, z16\[1\]
+** ret
+*/
+TEST_XN_SINGLE (luti4_z28_z16_1, svmfloat8x2_t, svuint8_t, z28,
+ svluti4_lane_zt_mf8_x2 (0, z16, 1),
+ svluti4_lane_zt_mf8_x2 (0, z16, 1))
+
+/*
+** luti4_z24_z23_0:
+** luti4 {z24\.b - z25\.b}, zt0, z23\[0\]
+** ret
+*/
+TEST_XN_SINGLE (luti4_z24_z23_0, svmfloat8x2_t, svuint8_t, z24,
+ svluti4_lane_zt_mf8_x2 (0, z23, 0),
+ svluti4_lane_zt_mf8_x2 (0, z23, 0))