tile: create new math-tests.h header

The header makes tile use the new mechanisms for suppressing
exception and rounding support (the ROUNDING_TESTS_xxx() and
EXCEPTION_TESTS_xxx macros).

More importantly, it also now sets SNAN_TESTS_PRESERVE_PAYLOAD to 0,
since the tilegx fp hardware does not preserve NaN payloads.
This commit is contained in:
Chris Metcalf 2016-11-16 10:09:50 -05:00
parent 6933f28a64
commit c73c7fc07c
2 changed files with 32 additions and 0 deletions

View File

@ -1,5 +1,7 @@
2016-11-18 Chris Metcalf <cmetcalf@mellanox.com> 2016-11-18 Chris Metcalf <cmetcalf@mellanox.com>
* sysdeps/tile/math-tests.h: New file.
* sysdeps/unix/sysv/linux/tile/set_dataplane.c * sysdeps/unix/sysv/linux/tile/set_dataplane.c
(__old_set_dataplane): Rename from set_dataplane and make a (__old_set_dataplane): Rename from set_dataplane and make a
compatibility symbol. compatibility symbol.

30
sysdeps/tile/math-tests.h Normal file
View File

@ -0,0 +1,30 @@
/* Configuration for math tests. Tile version.
Copyright (C) 2013-2016 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/* Tile hardware/softfloat does not support exceptions and rounding modes. */
#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
#define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST)
#define EXCEPTION_TESTS_float 0
#define EXCEPTION_TESTS_double 0
#define EXCEPTION_TESTS_long_double 0
/* Tile hardware/softfloat floating-point ops do not preserve NaN payloads. */
#define SNAN_TESTS_PRESERVE_PAYLOAD 0
#include_next <math-tests.h>