#ifndef DO_TEST
#define DO_TEST do_test
-#if defined(AVX10_512BIT) || defined(AVX10_SCALAR)
static void test_512 (void);
-#else
+#ifndef AVX10_SCALAR
static void test_256 (void);
static void test_128 (void);
#endif
static void
do_test (void)
{
-#if defined(AVX10_512BIT) || defined(AVX10_SCALAR)
test_512 ();
-#else
+#ifndef AVX10_SCALAR
test_256 ();
test_128 ();
#endif
return err; \
}
-#if defined (AVX10_512BIT)
CHECK_EXP_MINMAX (union512, float, int)
CHECK_EXP_MINMAX (union512d, double, long int)
CHECK_EXP_MINMAX (union512bf16_bf, __bf16, short int)
CHECK_EXP_MINMAX (union512h, _Float16, short int)
-#endif
CHECK_EXP_MINMAX (union256, float, int)
CHECK_EXP_MINMAX (union256d, double, long int)
CHECK_EXP_MINMAX (union128, float, int)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vaddbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vaddbf16-2.c"
+#include "avx10_2-vaddbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vaddbf16-2.c"
+#include "avx10_2-vaddbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcmpbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcmpbf16-2.c"
+#include "avx10_2-vcmpbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcmpbf16-2.c"
+#include "avx10_2-vcmpbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvt2ph2bf8-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvt2ph2bf8-2.c"
+#include "avx10_2-vcvt2ph2bf8-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvt2ph2bf8-2.c"
+#include "avx10_2-vcvt2ph2bf8-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvt2ph2bf8s-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvt2ph2bf8s-2.c"
+#include "avx10_2-vcvt2ph2bf8s-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvt2ph2bf8s-2.c"
+#include "avx10_2-vcvt2ph2bf8s-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvt2ph2hf8-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvt2ph2hf8-2.c"
+#include "avx10_2-vcvt2ph2hf8-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvt2ph2hf8-2.c"
+#include "avx10_2-vcvt2ph2hf8-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvt2ph2hf8s-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvt2ph2hf8s-2.c"
+#include "avx10_2-vcvt2ph2hf8s-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvt2ph2hf8s-2.c"
+#include "avx10_2-vcvt2ph2hf8s-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvt2ps2phx-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvt2ps2phx-2.c"
+#include "avx10_2-vcvt2ps2phx-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvt2ps2phx-2.c"
+#include "avx10_2-vcvt2ps2phx-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <stdint.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtbf162ibs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtbf162ibs-2.c"
+#include "avx10_2-vcvtbf162ibs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtbf162ibs-2.c"
+#include "avx10_2-vcvtbf162ibs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <math.h>
#include <limits.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtbf162iubs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtbf162iubs-2.c"
+#include "avx10_2-vcvtbf162iubs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtbf162iubs-2.c"
+#include "avx10_2-vcvtbf162iubs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <math.h>
#include <limits.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtbiasph2bf8-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtbiasph2bf8-2.c"
+#include "avx10_2-vcvtbiasph2bf8-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtbiasph2bf8-2.c"
+#include "avx10_2-vcvtbiasph2bf8-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtbiasph2bf8s-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtbiasph2bf8s-2.c"
+#include "avx10_2-vcvtbiasph2bf8s-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtbiasph2bf8s-2.c"
+#include "avx10_2-vcvtbiasph2bf8s-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtbiasph2hf8-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtbiasph2hf8-2.c"
+#include "avx10_2-vcvtbiasph2hf8-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtbiasph2hf8-2.c"
+#include "avx10_2-vcvtbiasph2hf8-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtbiasph2hf8s-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtbiasph2hf8s-2.c"
+#include "avx10_2-vcvtbiasph2hf8s-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtbiasph2hf8s-2.c"
+#include "avx10_2-vcvtbiasph2hf8s-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvthf82ph-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
-#define AVX512F_LEN 256
+#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvthf82ph-2.c"
+#include "avx10_2-vcvthf82ph-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvthf82ph-2.c"
+#include "avx10_2-vcvthf82ph-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtph2bf8-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtph2bf8-2.c"
+#include "avx10_2-vcvtph2bf8-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtph2bf8-2.c"
+#include "avx10_2-vcvtph2bf8-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtph2bf8s-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtph2bf8s-2.c"
+#include "avx10_2-vcvtph2bf8s-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtph2bf8s-2.c"
+#include "avx10_2-vcvtph2bf8s-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtph2hf8-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtph2hf8-2.c"
+#include "avx10_2-vcvtph2hf8-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtph2hf8-2.c"
+#include "avx10_2-vcvtph2hf8-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtph2hf8s-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtph2hf8s-2.c"
+#include "avx10_2-vcvtph2hf8s-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtph2hf8s-2.c"
+#include "avx10_2-vcvtph2hf8s-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#include "fp8-helper.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtph2ibs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtph2ibs-2.c"
+#include "avx10_2-vcvtph2ibs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtph2ibs-2.c"
+#include "avx10_2-vcvtph2ibs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <string.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtph2iubs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtph2iubs-2.c"
+#include "avx10_2-vcvtph2iubs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtph2iubs-2.c"
+#include "avx10_2-vcvtph2iubs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <string.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtps2ibs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtps2ibs-2.c"
+#include "avx10_2-vcvtps2ibs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtps2ibs-2.c"
+#include "avx10_2-vcvtps2ibs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <math.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvtps2iubs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtps2iubs-2.c"
+#include "avx10_2-vcvtps2iubs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvtps2iubs-2.c"
+#include "avx10_2-vcvtps2iubs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <math.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttbf162ibs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttbf162ibs-2.c"
+#include "avx10_2-vcvttbf162ibs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttbf162ibs-2.c"
+#include "avx10_2-vcvttbf162ibs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <math.h>
#include <limits.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttbf162iubs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttbf162iubs-2.c"
+#include "avx10_2-vcvttbf162iubs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttbf162iubs-2.c"
+#include "avx10_2-vcvttbf162iubs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <math.h>
#include <limits.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttpd2dqs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttpd2dqs-2.c"
+#include "avx10_2-vcvttpd2dqs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttpd2dqs-2.c"
+#include "avx10_2-vcvttpd2dqs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <string.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttpd2qqs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttpd2qqs-2.c"
+#include "avx10_2-vcvttpd2qqs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttpd2qqs-2.c"
+#include "avx10_2-vcvttpd2qqs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <string.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttpd2udqs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttpd2udqs-2.c"
+#include "avx10_2-vcvttpd2udqs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttpd2udqs-2.c"
+#include "avx10_2-vcvttpd2udqs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <string.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttpd2uqqs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttpd2uqqs-2.c"
+#include "avx10_2-vcvttpd2uqqs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttpd2uqqs-2.c"
+#include "avx10_2-vcvttpd2uqqs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <string.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttph2ibs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttph2ibs-2.c"
+#include "avx10_2-vcvttph2ibs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttph2ibs-2.c"
+#include "avx10_2-vcvttph2ibs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <string.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttph2iubs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttph2iubs-2.c"
+#include "avx10_2-vcvttph2iubs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttph2iubs-2.c"
+#include "avx10_2-vcvttph2iubs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <string.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttps2dqs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttps2dqs-2.c"
+#include "avx10_2-vcvttps2dqs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttps2dqs-2.c"
+#include "avx10_2-vcvttps2dqs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <string.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttps2ibs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttps2ibs-2.c"
+#include "avx10_2-vcvttps2ibs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttps2ibs-2.c"
+#include "avx10_2-vcvttps2ibs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <math.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttps2iubs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttps2iubs-2.c"
+#include "avx10_2-vcvttps2iubs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttps2iubs-2.c"
+#include "avx10_2-vcvttps2iubs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <math.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttps2qqs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttps2qqs-2.c"
+#include "avx10_2-vcvttps2qqs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttps2qqs-2.c"
+#include "avx10_2-vcvttps2qqs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <string.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttps2udqs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttps2udqs-2.c"
+#include "avx10_2-vcvttps2udqs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttps2udqs-2.c"
+#include "avx10_2-vcvttps2udqs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <string.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vcvttps2uqqs-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttps2uqqs-2.c"
+#include "avx10_2-vcvttps2uqqs-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vcvttps2uqqs-2.c"
+#include "avx10_2-vcvttps2uqqs-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <limits.h>
#include <string.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vdivbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vdivbf16-2.c"
+#include "avx10_2-vdivbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vdivbf16-2.c"
+#include "avx10_2-vdivbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
-/* { dg-do run } */
+/* { dg-do run } */
/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
+/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vdpphps-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
-#define AVX512F_LEN 256
+#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vdpphps-2.c"
+#include "avx10_2-vdpphps-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
-#undef AVX512F_LEN
-#undef AVX512F_LEN_HALF
-
-#define AVX512F_LEN 128
+#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vdpphps-2.c"
+#include "avx10_2-vdpphps-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 16)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vfmaddXXXbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vfmaddXXXbf16-2.c"
+#include "avx10_2-vfmaddXXXbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vfmaddXXXbf16-2.c"
+#include "avx10_2-vfmaddXXXbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vfmsubXXXbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vfmsubXXXbf16-2.c"
+#include "avx10_2-vfmsubXXXbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vfmsubXXXbf16-2.c"
+#include "avx10_2-vfmsubXXXbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vfnmaddXXXbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vfnmaddXXXbf16-2.c"
+#include "avx10_2-vfnmaddXXXbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vfnmaddXXXbf16-2.c"
+#include "avx10_2-vfnmaddXXXbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vfnmsubXXXbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vfnmsubXXXbf16-2.c"
+#include "avx10_2-vfnmsubXXXbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vfnmsubXXXbf16-2.c"
+#include "avx10_2-vfnmsubXXXbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vfpclassbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vfpclassbf16-2.c"
+#include "avx10_2-vfpclassbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vfpclassbf16-2.c"
+#include "avx10_2-vfpclassbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vgetexpbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vgetexpbf16-2.c"
+#include "avx10_2-vgetexpbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vgetexpbf16-2.c"
+#include "avx10_2-vgetexpbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vgetmantbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vgetmantbf16-2.c"
+#include "avx10_2-vgetmantbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vgetmantbf16-2.c"
+#include "avx10_2-vgetmantbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vmaxbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vmaxbf16-2.c"
+#include "avx10_2-vmaxbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vmaxbf16-2.c"
+#include "avx10_2-vmaxbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vminbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vminbf16-2.c"
+#include "avx10_2-vminbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vminbf16-2.c"
+#include "avx10_2-vminbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vminmaxbf16-2.h"
+
+#undef AVX512F_LEN
+
#define AVX512VL
#define AVX512F_LEN 256
-#include "avx10_2-512-vminmaxbf16-2.c"
+#include "avx10_2-vminmaxbf16-2.h"
#undef AVX512F_LEN
#define AVX512F_LEN 128
-#include "avx10_2-512-vminmaxbf16-2.c"
+#include "avx10_2-vminmaxbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-fsignaling-nans -mfpmath=sse -O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include <stdbool.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vminmaxpd-2.h"
+
+#undef AVX512F_LEN
+
#define AVX512VL
#define AVX512F_LEN 256
-#include "avx10_2-512-vminmaxpd-2.c"
+#include "avx10_2-vminmaxpd-2.h"
#undef AVX512F_LEN
#define AVX512F_LEN 128
-#include "avx10_2-512-vminmaxpd-2.c"
+#include "avx10_2-vminmaxpd-2.h"
-/* { dg-do run } */
-/* { dg-options "-fsignaling-nans -mfpmath=sse -O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 64)
#include <stdbool.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vminmaxph-2.h"
+
+#undef AVX512F_LEN
+
#define AVX512VL
#define AVX512F_LEN 256
-typedef _Float16 __m256h __attribute__ ((__vector_size__ (32), __may_alias__));
-#include "avx10_2-512-vminmaxph-2.c"
+#include "avx10_2-vminmaxph-2.h"
#undef AVX512F_LEN
#define AVX512F_LEN 128
-typedef _Float16 __m128h __attribute__ ((__vector_size__ (16), __may_alias__));
-#include "avx10_2-512-vminmaxph-2.c"
+#include "avx10_2-vminmaxph-2.h"
-/* { dg-do run } */
-/* { dg-options "-fsignaling-nans -mfpmath=sse -O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include <stdbool.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vminmaxps-2.h"
+
+#undef AVX512F_LEN
+
#define AVX512VL
#define AVX512F_LEN 256
-#include "avx10_2-512-vminmaxps-2.c"
+#include "avx10_2-vminmaxps-2.h"
#undef AVX512F_LEN
#define AVX512F_LEN 128
-#include "avx10_2-512-vminmaxps-2.c"
+#include "avx10_2-vminmaxps-2.h"
-/* { dg-do run } */
-/* { dg-options "-fsignaling-nans -mfpmath=sse -O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 32)
#include <stdbool.h>
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vmpsadbw-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vmpsadbw-2.c"
+#include "avx10_2-vmpsadbw-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vmpsadbw-2.c"
+#include "avx10_2-vmpsadbw-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 8)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vmulbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vmulbf16-2.c"
+#include "avx10_2-vmulbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vmulbf16-2.c"
+#include "avx10_2-vmulbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vpdpbssd-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpbssd-2.c"
+#include "avx10_2-vpdpbssd-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpbssd-2.c"
+#include "avx10_2-vpdpbssd-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 8)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vpdpbssds-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpbssds-2.c"
+#include "avx10_2-vpdpbssds-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpbssds-2.c"
+#include "avx10_2-vpdpbssds-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 8)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vpdpbsud-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpbsud-2.c"
+#include "avx10_2-vpdpbsud-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpbsud-2.c"
+#include "avx10_2-vpdpbsud-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 8)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vpdpbsuds-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpbsuds-2.c"
+#include "avx10_2-vpdpbsuds-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpbsuds-2.c"
+#include "avx10_2-vpdpbsuds-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 8)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vpdpbuud-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpbuud-2.c"
+#include "avx10_2-vpdpbuud-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpbuud-2.c"
+#include "avx10_2-vpdpbuud-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 8)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vpdpbuuds-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpbuuds-2.c"
+#include "avx10_2-vpdpbuuds-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpbuuds-2.c"
+#include "avx10_2-vpdpbuuds-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 8)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vpdpwsud-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpwsud-2.c"
+#include "avx10_2-vpdpwsud-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpwsud-2.c"
+#include "avx10_2-vpdpwsud-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 16)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vpdpwsuds-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpwsuds-2.c"
+#include "avx10_2-vpdpwsuds-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpwsuds-2.c"
+#include "avx10_2-vpdpwsuds-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 16)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vpdpwusd-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpwusd-2.c"
+#include "avx10_2-vpdpwusd-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpwusd-2.c"
+#include "avx10_2-vpdpwusd-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 16)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vpdpwusds-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpwusds-2.c"
+#include "avx10_2-vpdpwusds-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpwusds-2.c"
+#include "avx10_2-vpdpwusds-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 16)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vpdpwuud-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpwuud-2.c"
+#include "avx10_2-vpdpwuud-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpwuud-2.c"
+#include "avx10_2-vpdpwuud-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 16)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vpdpwuuds-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpwuuds-2.c"
+#include "avx10_2-vpdpwuuds-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vpdpwuuds-2.c"
+#include "avx10_2-vpdpwuuds-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
-
#include "avx10-helper.h"
#define SRC_SIZE (AVX512F_LEN / 16)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vrcpbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vrcpbf16-2.c"
+#include "avx10_2-vrcpbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vrcpbf16-2.c"
+#include "avx10_2-vrcpbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vreducebf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vreducebf16-2.c"
+#include "avx10_2-vreducebf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vreducebf16-2.c"
+#include "avx10_2-vreducebf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vrndscalebf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vrndscalebf16-2.c"
+#include "avx10_2-vrndscalebf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vrndscalebf16-2.c"
+#include "avx10_2-vrndscalebf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vrsqrtbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vrsqrtbf16-2.c"
+#include "avx10_2-vrsqrtbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vrsqrtbf16-2.c"
+#include "avx10_2-vrsqrtbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <math.h>
#define SIZE (AVX512F_LEN / 16)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vscalefbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vscalefbf16-2.c"
+#include "avx10_2-vscalefbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vscalefbf16-2.c"
+#include "avx10_2-vscalefbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vsqrtbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vsqrtbf16-2.c"
+#include "avx10_2-vsqrtbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vsqrtbf16-2.c"
+#include "avx10_2-vsqrtbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#include <math.h>
#define SIZE (AVX512F_LEN / 16)
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
+#include "avx10_2-vsubbf16-2.h"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
#define AVX512VL
#define AVX512F_LEN 256
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vsubbf16-2.c"
+#include "avx10_2-vsubbf16-2.h"
#undef AVX512F_LEN
#undef AVX512F_LEN_HALF
#define AVX512F_LEN 128
#define AVX512F_LEN_HALF 128
-#include "avx10_2-512-vsubbf16-2.c"
+#include "avx10_2-vsubbf16-2.h"
-/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
-/* { dg-require-effective-target avx10_2 } */
-
-#ifndef AVX10_2
-#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
-#endif
#include "avx10-helper.h"
#define SIZE (AVX512F_LEN / 16)
#include "avx512f-mask-type.h"
/* Function which calculates result. */
#define CALC EVAL(calc_, AVX512F_LEN,)
-#if !defined(AVX512VL) || defined(AVX10_512BIT)
+#if !defined(AVX512VL)
#define AVX512F_LEN 512
#define AVX512F_LEN_HALF 256
#endif
#include <stdlib.h>
#include "m512-check.h"
-#ifdef AVX10_2_512
-static void sm4_avx512f_test (void);
+#ifdef AVX10_2
+static void sm4_avx10_test (void);
#else
static void sm4_test (void);
#endif
if (check_union256i_d (res2, dst2)) \
abort ();
-#define SM4_AVX512F_SIMULATE(name) \
+#define SM4_AVX10_SIMULATE(name) \
union512i_d src5, src6, res3; \
int dst3[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; \
\
__attribute__ ((noinline))
do_test (void)
{
-#ifdef AVX10_512BIT
- sm4_avx512f_test ();
+#ifdef AVX10_2
+ sm4_avx10_test ();
#else
sm4_test ();
#endif
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
#include "sm4-check.h"
char key;
SM4_FUNC (key);
static void
-sm4_avx512f_test (void)
+sm4_avx10_test (void)
{
- SM4_AVX512F_SIMULATE (key);
+ SM4_AVX10_SIMULATE (key);
}
/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
#include "sm4-check.h"
char rnds;
SM4_FUNC (rnds);
static void
-sm4_avx512f_test (void)
+sm4_avx10_test (void)
{
- SM4_AVX512F_SIMULATE (rnds);
+ SM4_AVX10_SIMULATE (rnds);
}
#define N 512
#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
+#define AVX10_SCALAR
#define AVX512F_LEN 512
#define TEST test_512
#define N 512
#define AVX10_2
-#define AVX10_2_512
-#define AVX10_512BIT
+#define AVX10_SCALAR
#define AVX512F_LEN 512
#define TEST test_512