aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/avx512fp16-3b.c
diff options
context:
space:
mode:
authorliuhongt <hongtao.liu@intel.com>2020-03-02 18:07:36 +0800
committerliuhongt <hongtao.liu@intel.com>2021-09-08 12:44:50 +0800
commit2f3318dbcfd2390b49231b66a47ebed505af18f9 (patch)
tree917913354e75fb676801e21d0a419ae44213fbcc /gcc/testsuite/gcc.target/i386/avx512fp16-3b.c
parent9e2a82e1f9d2c4afc62b864a9cd9efe2e8ecce7d (diff)
downloadgcc-2f3318dbcfd2390b49231b66a47ebed505af18f9.zip
gcc-2f3318dbcfd2390b49231b66a47ebed505af18f9.tar.gz
gcc-2f3318dbcfd2390b49231b66a47ebed505af18f9.tar.bz2
AVX512FP16: Add testcase for vector init and broadcast intrinsics.
gcc/testsuite/ChangeLog: * gcc.target/i386/m512-check.h: Add union128h, union256h, union512h. * gcc.target/i386/avx512fp16-10a.c: New test. * gcc.target/i386/avx512fp16-10b.c: Ditto. * gcc.target/i386/avx512fp16-1a.c: Ditto. * gcc.target/i386/avx512fp16-1b.c: Ditto. * gcc.target/i386/avx512fp16-1c.c: Ditto. * gcc.target/i386/avx512fp16-1d.c: Ditto. * gcc.target/i386/avx512fp16-1e.c: Ditto. * gcc.target/i386/avx512fp16-2a.c: Ditto. * gcc.target/i386/avx512fp16-2b.c: Ditto. * gcc.target/i386/avx512fp16-2c.c: Ditto. * gcc.target/i386/avx512fp16-3a.c: Ditto. * gcc.target/i386/avx512fp16-3b.c: Ditto. * gcc.target/i386/avx512fp16-3c.c: Ditto. * gcc.target/i386/avx512fp16-4.c: Ditto. * gcc.target/i386/avx512fp16-5.c: Ditto. * gcc.target/i386/avx512fp16-6.c: Ditto. * gcc.target/i386/avx512fp16-7.c: Ditto. * gcc.target/i386/avx512fp16-8.c: Ditto. * gcc.target/i386/avx512fp16-9a.c: Ditto. * gcc.target/i386/avx512fp16-9b.c: Ditto. * gcc.target/i386/pr54855-13.c: Ditto. * gcc.target/i386/avx512fp16-vec_set_var.c: Ditto.
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/avx512fp16-3b.c')
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512fp16-3b.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/avx512fp16-3b.c b/gcc/testsuite/gcc.target/i386/avx512fp16-3b.c
new file mode 100644
index 0000000..291db06
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/avx512fp16-3b.c
@@ -0,0 +1,35 @@
+/* { dg-do run { target avx512fp16 } } */
+/* { dg-options "-O2 -mavx512fp16" } */
+
+#include <string.h>
+
+static void do_test (void);
+
+#define DO_TEST do_test
+#define AVX512FP16
+#include "avx512-check.h"
+#include "avx512fp16-3a.c"
+
+static void
+do_test (void)
+{
+ _Float16 x = 25.3;
+ union512h u = { x, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
+ __m512h v;
+ union512h a;
+ memset (&v, -1, sizeof (v));
+ v = foo1 (x);
+ a.x = v;
+ if (check_union512h (a, u.a))
+ abort ();
+ x = 33.3;
+ u.a[0] = x;
+ memset (&v, -1, sizeof (v));
+ v = foo2 (&x);
+ a.x = v;
+ if (check_union512h (a, u.a))
+ abort ();
+}