+++ /dev/null
-/* { dg-do run { target { riscv_v } } } */
-/* { dg-additional-options "-std=c99 -O3 -ftree-vectorize -fno-vect-cost-model -ffast-math" } */
-
-#include "test-math.h"
-
-#define ARRAY_SIZE 128
-
-_Float16 in[ARRAY_SIZE];
-_Float16 out[ARRAY_SIZE];
-_Float16 ref[ARRAY_SIZE];
-
-TEST_UNARY_CALL (_Float16, __builtin_ceilf16)
-TEST_ASSERT (_Float16)
-
-TEST_INIT (_Float16, 1.2, 2.0, 1)
-TEST_INIT (_Float16, -1.2, -1.0, 2)
-TEST_INIT (_Float16, 3.0, 3.0, 3)
-TEST_INIT (_Float16, 1023.5, 1024.0, 4)
-TEST_INIT (_Float16, 1024.0, 1024.0, 5)
-TEST_INIT (_Float16, 0.0, 0.0, 6)
-TEST_INIT (_Float16, -0.0, -0.0, 7)
-TEST_INIT (_Float16, -1023.5, -1023.0, 8)
-TEST_INIT (_Float16, -1024.0, -1024.0, 9)
-
-int
-main ()
-{
- RUN_TEST (_Float16, 1, __builtin_ceilf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 2, __builtin_ceilf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 3, __builtin_ceilf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 4, __builtin_ceilf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 5, __builtin_ceilf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 6, __builtin_ceilf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 7, __builtin_ceilf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 8, __builtin_ceilf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 9, __builtin_ceilf16, in, out, ref, ARRAY_SIZE);
-
- return 0;
-}
+++ /dev/null
-/* { dg-do run { target { riscv_v } } } */
-/* { dg-additional-options "-std=c99 -O3 -ftree-vectorize -fno-vect-cost-model -ffast-math" } */
-
-#include "test-math.h"
-
-#define ARRAY_SIZE 128
-
-_Float16 in[ARRAY_SIZE];
-_Float16 out[ARRAY_SIZE];
-_Float16 ref[ARRAY_SIZE];
-
-TEST_UNARY_CALL (_Float16, __builtin_floorf16)
-TEST_ASSERT (_Float16)
-
-TEST_INIT (_Float16, 1.2, 1.0, 1)
-TEST_INIT (_Float16, -1.2, -2.0, 2)
-TEST_INIT (_Float16, 3.0, 3.0, 3)
-TEST_INIT (_Float16, 1023.5, 1023.0, 4)
-TEST_INIT (_Float16, 8388609.0, 8388609.0, 5)
-TEST_INIT (_Float16, 0.0, 0.0, 6)
-TEST_INIT (_Float16, -0.0, -0.0, 7)
-TEST_INIT (_Float16, -1023.5, -1024.0, 8)
-TEST_INIT (_Float16, -1024.0, -1024.0, 9)
-
-int
-main ()
-{
- RUN_TEST (_Float16, 1, __builtin_floorf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 2, __builtin_floorf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 3, __builtin_floorf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 4, __builtin_floorf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 5, __builtin_floorf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 6, __builtin_floorf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 7, __builtin_floorf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 8, __builtin_floorf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 9, __builtin_floorf16, in, out, ref, ARRAY_SIZE);
-
- return 0;
-}
+++ /dev/null
-/* { dg-do run { target { riscv_v } } } */
-/* { dg-additional-options "-std=c99 -O3 -ftree-vectorize -fno-vect-cost-model -ffast-math" } */
-
-#include "test-math.h"
-
-#define ARRAY_SIZE 128
-
-_Float16 in[ARRAY_SIZE];
-_Float16 out[ARRAY_SIZE];
-_Float16 ref[ARRAY_SIZE];
-
-TEST_UNARY_CALL (_Float16, __builtin_nearbyintf16)
-TEST_ASSERT (_Float16)
-
-TEST_INIT (_Float16, 1.2, 1.0, 1)
-TEST_INIT (_Float16, -1.2, -1.0, 2)
-TEST_INIT (_Float16, 3.0, 3.0, 3)
-TEST_INIT (_Float16, 1023.5, 1023.0, 4)
-TEST_INIT (_Float16, 1024.0, 1024.0, 5)
-TEST_INIT (_Float16, 0.0, 0.0, 6)
-TEST_INIT (_Float16, -0.0, -0.0, 7)
-TEST_INIT (_Float16, -1023.5, -1023.0, 8)
-TEST_INIT (_Float16, -1024.0, -1024.0, 9)
-
-int
-main ()
-{
- unsigned fflags_before = get_fflags ();
-
- set_rm (FRM_RTZ);
-
- RUN_TEST (_Float16, 1, __builtin_nearbyintf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 2, __builtin_nearbyintf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 3, __builtin_nearbyintf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 4, __builtin_nearbyintf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 5, __builtin_nearbyintf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 6, __builtin_nearbyintf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 7, __builtin_nearbyintf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 8, __builtin_nearbyintf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 9, __builtin_nearbyintf16, in, out, ref, ARRAY_SIZE);
-
- unsigned fflags_after = get_fflags ();
-
- if (fflags_before != fflags_after)
- __builtin_abort ();
-
- return 0;
-}
+++ /dev/null
-/* { dg-do run { target { riscv_v } } } */
-/* { dg-additional-options "-std=c99 -O3 -ftree-vectorize -fno-vect-cost-model -ffast-math" } */
-
-#include "test-math.h"
-
-#define ARRAY_SIZE 128
-
-_Float16 in[ARRAY_SIZE];
-_Float16 out[ARRAY_SIZE];
-_Float16 ref[ARRAY_SIZE];
-
-TEST_UNARY_CALL (_Float16, __builtin_rintf)
-TEST_ASSERT (_Float16)
-
-TEST_INIT (_Float16, 1.2, 1.0, 1)
-TEST_INIT (_Float16, -1.2, -1.0, 2)
-TEST_INIT (_Float16, 3.0, 3.0, 3)
-TEST_INIT (_Float16, 1023.5, 1023.0, 4)
-TEST_INIT (_Float16, 1024.0, 1024.0, 5)
-TEST_INIT (_Float16, 0.0, 0.0, 6)
-TEST_INIT (_Float16, -0.0, -0.0, 7)
-TEST_INIT (_Float16, -1023.5, -1023.0, 8)
-TEST_INIT (_Float16, -1024.0, -1024.0, 9)
-
-int
-main ()
-{
- unsigned fflags_before = get_fflags ();
-
- set_rm (FRM_RTZ);
-
- RUN_TEST (_Float16, 1, __builtin_rintf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 2, __builtin_rintf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 3, __builtin_rintf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 4, __builtin_rintf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 5, __builtin_rintf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 6, __builtin_rintf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 7, __builtin_rintf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 8, __builtin_rintf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 9, __builtin_rintf, in, out, ref, ARRAY_SIZE);
-
- unsigned fflags_after = get_fflags ();
-
- if (fflags_before == fflags_after)
- __builtin_abort ();
-
- return 0;
-}
+++ /dev/null
-/* { dg-do run { target { riscv_v } } } */
-/* { dg-additional-options "-std=c99 -O3 -ftree-vectorize -fno-vect-cost-model -ffast-math" } */
-
-#include "test-math.h"
-
-#define ARRAY_SIZE 128
-
-_Float16 in[ARRAY_SIZE];
-_Float16 out[ARRAY_SIZE];
-_Float16 ref[ARRAY_SIZE];
-
-TEST_UNARY_CALL (_Float16, __builtin_roundf16)
-TEST_ASSERT (_Float16)
-
-TEST_INIT (_Float16, 1.2, 1.0, 1)
-TEST_INIT (_Float16, -1.6, -2.0, 2)
-TEST_INIT (_Float16, 3.0, 3.0, 3)
-TEST_INIT (_Float16, 1023.5, 1024.0, 4)
-TEST_INIT (_Float16, 1024.0, 1024.0, 5)
-TEST_INIT (_Float16, 0.0, 0.0, 6)
-TEST_INIT (_Float16, -0.0, -0.0, 7)
-TEST_INIT (_Float16, -1023.5, -1024.0, 8)
-TEST_INIT (_Float16, -1024.0, -1024.0, 9)
-
-int
-main ()
-{
- RUN_TEST (_Float16, 1, __builtin_roundf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 2, __builtin_roundf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 3, __builtin_roundf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 4, __builtin_roundf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 5, __builtin_roundf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 6, __builtin_roundf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 7, __builtin_roundf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 8, __builtin_roundf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 9, __builtin_roundf16, in, out, ref, ARRAY_SIZE);
-
- return 0;
-}
+++ /dev/null
-/* { dg-do run { target { riscv_v } } } */
-/* { dg-additional-options "-std=c99 -O3 -ftree-vectorize -fno-vect-cost-model -ffast-math" } */
-
-#include "test-math.h"
-
-#define ARRAY_SIZE 128
-
-_Float16 in[ARRAY_SIZE];
-_Float16 out[ARRAY_SIZE];
-_Float16 ref[ARRAY_SIZE];
-
-TEST_UNARY_CALL (_Float16, __builtin_roundevenf16)
-TEST_ASSERT (_Float16)
-
-TEST_INIT (_Float16, 1.2, 1.0, 1)
-TEST_INIT (_Float16, -1.5, -2.0, 2)
-TEST_INIT (_Float16, 3.0, 3.0, 3)
-TEST_INIT (_Float16, 1023.5, 1024.0, 4)
-TEST_INIT (_Float16, 1024.0, 1024.0, 5)
-TEST_INIT (_Float16, 0.0, 0.0, 6)
-TEST_INIT (_Float16, -0.0, -0.0, 7)
-TEST_INIT (_Float16, -1023.5, -1024.0, 8)
-TEST_INIT (_Float16, -1024.0, -1024.0, 9)
-
-int
-main ()
-{
- RUN_TEST (_Float16, 1, __builtin_roundevenf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 2, __builtin_roundevenf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 3, __builtin_roundevenf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 4, __builtin_roundevenf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 5, __builtin_roundevenf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 6, __builtin_roundevenf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 7, __builtin_roundevenf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 8, __builtin_roundevenf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 9, __builtin_roundevenf16, in, out, ref, ARRAY_SIZE);
-
- return 0;
-}
+++ /dev/null
-/* { dg-do run { target { riscv_v } } } */
-/* { dg-additional-options "-std=c99 -O3 -ftree-vectorize -fno-vect-cost-model -ffast-math" } */
-
-#include "test-math.h"
-
-#define ARRAY_SIZE 128
-
-float in[ARRAY_SIZE];
-float out[ARRAY_SIZE];
-float ref[ARRAY_SIZE];
-
-TEST_UNARY_CALL (float, __builtin_roundf)
-TEST_ASSERT (float)
-
-TEST_INIT (float, 1.2, 1.0, 1)
-TEST_INIT (float, -1.5, -2.0, 2)
-TEST_INIT (float, 3.0, 3.0, 3)
-TEST_INIT (float, 8388607.5, 8388608.0, 4)
-TEST_INIT (float, 8388609.0, 8388609.0, 5)
-TEST_INIT (float, 0.0, 0.0, 6)
-TEST_INIT (float, -0.0, -0.0, 7)
-TEST_INIT (float, -8388607.5, -8388608.0, 8)
-TEST_INIT (float, -8388608.0, -8388608.0, 9)
-
-int
-main ()
-{
- RUN_TEST (float, 1, __builtin_roundf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (float, 2, __builtin_roundf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (float, 3, __builtin_roundf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (float, 4, __builtin_roundf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (float, 5, __builtin_roundf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (float, 6, __builtin_roundf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (float, 7, __builtin_roundf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (float, 8, __builtin_roundf, in, out, ref, ARRAY_SIZE);
- RUN_TEST (float, 9, __builtin_roundf, in, out, ref, ARRAY_SIZE);
-
- return 0;
-}
+++ /dev/null
-/* { dg-do run { target { riscv_v } } } */
-/* { dg-additional-options "-std=c99 -O3 -ftree-vectorize -fno-vect-cost-model -ffast-math" } */
-
-#include "test-math.h"
-
-#define ARRAY_SIZE 128
-
-double in[ARRAY_SIZE];
-double out[ARRAY_SIZE];
-double ref[ARRAY_SIZE];
-
-TEST_UNARY_CALL (double, __builtin_round)
-TEST_ASSERT (double)
-
-TEST_INIT (double, 1.2, 1.0, 1)
-TEST_INIT (double, -1.5, -2.0, 2)
-TEST_INIT (double, 3.0, 3.0, 3)
-TEST_INIT (double, 4503599627370495.5, 4503599627370496.0, 4)
-TEST_INIT (double, 4503599627370497.0, 4503599627370497.0, 5)
-TEST_INIT (double, 0.0, 0.0, 6)
-TEST_INIT (double, -0.0, -0.0, 7)
-TEST_INIT (double, -4503599627370495.5, -4503599627370496.0, 8)
-TEST_INIT (double, -4503599627370496.0, -4503599627370496.0, 9)
-
-int
-main ()
-{
- RUN_TEST (double, 1, __builtin_round, in, out, ref, ARRAY_SIZE);
- RUN_TEST (double, 2, __builtin_round, in, out, ref, ARRAY_SIZE);
- RUN_TEST (double, 3, __builtin_round, in, out, ref, ARRAY_SIZE);
- RUN_TEST (double, 4, __builtin_round, in, out, ref, ARRAY_SIZE);
- RUN_TEST (double, 5, __builtin_round, in, out, ref, ARRAY_SIZE);
- RUN_TEST (double, 6, __builtin_round, in, out, ref, ARRAY_SIZE);
- RUN_TEST (double, 7, __builtin_round, in, out, ref, ARRAY_SIZE);
- RUN_TEST (double, 8, __builtin_round, in, out, ref, ARRAY_SIZE);
- RUN_TEST (double, 9, __builtin_round, in, out, ref, ARRAY_SIZE);
-
- return 0;
-}
+++ /dev/null
-/* { dg-do run { target { riscv_v } } } */
-/* { dg-additional-options "-std=c99 -O3 -ftree-vectorize -fno-vect-cost-model -ffast-math" } */
-
-#include "test-math.h"
-
-#define ARRAY_SIZE 128
-
-_Float16 in[ARRAY_SIZE];
-_Float16 out[ARRAY_SIZE];
-_Float16 ref[ARRAY_SIZE];
-
-TEST_UNARY_CALL (_Float16, __builtin_truncf16)
-TEST_ASSERT (_Float16)
-
-TEST_INIT (_Float16, 1.2, 1.0, 1)
-TEST_INIT (_Float16, -1.2, -1.0, 2)
-TEST_INIT (_Float16, 3.0, 3.0, 3)
-TEST_INIT (_Float16, 1023.5, 1023.0, 4)
-TEST_INIT (_Float16, 1024.0, 1024.0, 5)
-TEST_INIT (_Float16, 0.0, 0.0, 6)
-TEST_INIT (_Float16, -0.0, -0.0, 7)
-TEST_INIT (_Float16, -1023.5, -1023.0, 8)
-TEST_INIT (_Float16, -1024.0, -1024.0, 9)
-
-int
-main ()
-{
- RUN_TEST (_Float16, 1, __builtin_truncf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 2, __builtin_truncf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 3, __builtin_truncf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 4, __builtin_truncf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 5, __builtin_truncf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 6, __builtin_truncf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 7, __builtin_truncf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 8, __builtin_truncf16, in, out, ref, ARRAY_SIZE);
- RUN_TEST (_Float16, 9, __builtin_truncf16, in, out, ref, ARRAY_SIZE);
-
- return 0;
-}
set DEFAULT_CFLAGS " -ansi -pedantic-errors"
}
-set gcc_march "rv64gcv_zfa_zfh"
+set gcc_march "rv64gcv_zfh"
set gcc_mabi "lp64d"
if [istarget riscv32-*-*] then {
- set gcc_march "rv32gcv_zfa_zfh"
+ set gcc_march "rv32gcv_zfh"
set gcc_mabi "ilp32d"
}