mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
math: Add a no-mathvec flag for sin (-0.0)
Add support for a no-mathvec flag to gen-auto-libm-tests.c. Update input test sin (-0.0) to be skipped in vector math libraries and regenerate testcases. Reviewed-By: Paul Zimmermann <Paul.Zimmermann@inria.fr>
This commit is contained in:
parent
bb5bbc2070
commit
5bc9b3a1f6
@ -7318,7 +7318,7 @@ pow 0x1.7ac7cp+5 23
|
||||
pow -0x1.7ac7cp+5 23
|
||||
|
||||
sin 0
|
||||
sin -0
|
||||
sin -0 no-mathvec
|
||||
sin pi/6
|
||||
sin -pi/6
|
||||
sin pi/2
|
||||
|
@ -23,31 +23,31 @@ sin 0
|
||||
= sin tonearest ibm128 0x0p+0 : 0x0p+0 : inexact-ok
|
||||
= sin towardzero ibm128 0x0p+0 : 0x0p+0 : inexact-ok
|
||||
= sin upward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
|
||||
sin -0
|
||||
= sin downward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin tonearest binary32 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin towardzero binary32 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin upward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin downward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin tonearest binary64 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin towardzero binary64 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin upward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin downward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin tonearest intel96 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin towardzero intel96 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin upward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin downward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin tonearest m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin towardzero m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin upward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin downward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin tonearest binary128 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin towardzero binary128 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin upward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin downward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin tonearest ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin towardzero ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
= sin upward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
|
||||
sin -0 no-mathvec
|
||||
= sin downward binary32 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin tonearest binary32 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin towardzero binary32 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin upward binary32 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin downward binary64 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin tonearest binary64 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin towardzero binary64 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin upward binary64 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin downward intel96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin tonearest intel96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin towardzero intel96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin upward intel96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin downward m68k96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin tonearest m68k96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin towardzero m68k96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin upward m68k96 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin downward binary128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin tonearest binary128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin towardzero binary128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin upward binary128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin downward ibm128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin tonearest ibm128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin towardzero ibm128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
= sin upward ibm128 -0x0p+0 : -0x0p+0 : no-mathvec inexact-ok
|
||||
sin pi/6
|
||||
= sin downward binary32 0x8.60a92p-4 : 0x8p-4 : inexact-ok
|
||||
= sin tonearest binary32 0x8.60a92p-4 : 0x8p-4 : inexact-ok
|
||||
|
@ -96,7 +96,8 @@
|
||||
zero and infinite results should be ignored; "xfail" indicates the
|
||||
test is disabled as expected to produce incorrect results,
|
||||
"xfail-rounding" indicates the test is disabled only in rounding
|
||||
modes other than round-to-nearest. Otherwise, test flags are of
|
||||
modes other than round-to-nearest; "no-mathvec" indicates the test
|
||||
is disabled in vector math libraries. Otherwise, test flags are of
|
||||
the form "spurious-<exception>" and "missing-<exception>", for any
|
||||
exception ("overflow", "underflow", "inexact", "invalid",
|
||||
"divbyzero"), "spurious-errno" and "missing-errno", to indicate
|
||||
@ -352,6 +353,7 @@ typedef enum
|
||||
flag_missing_overflow,
|
||||
flag_missing_underflow,
|
||||
flag_missing_errno,
|
||||
flag_no_mathvec,
|
||||
num_input_flag_types,
|
||||
flag_first_flag = 0,
|
||||
flag_spurious_first = flag_spurious_divbyzero,
|
||||
@ -377,6 +379,7 @@ static const char *const input_flags[num_input_flag_types] =
|
||||
"missing-overflow",
|
||||
"missing-underflow",
|
||||
"missing-errno",
|
||||
"no-mathvec",
|
||||
};
|
||||
|
||||
/* An input flag, possibly conditional. */
|
||||
@ -2049,6 +2052,7 @@ output_for_one_input_case (FILE *fp, const char *filename, test_function *tf,
|
||||
{
|
||||
case flag_ignore_zero_inf_sign:
|
||||
case flag_xfail:
|
||||
case flag_no_mathvec:
|
||||
if (fprintf (fp, " %s%s",
|
||||
input_flags[it->flags[i].type],
|
||||
(it->flags[i].cond
|
||||
|
@ -93,7 +93,8 @@ BEAUTIFY_MAP = {'minus_zero': '-0',
|
||||
|
||||
# Flags in auto-libm-test-out that map directly to C flags.
|
||||
FLAGS_SIMPLE = {'ignore-zero-inf-sign': 'IGNORE_ZERO_INF_SIGN',
|
||||
'xfail': 'XFAIL_TEST'}
|
||||
'xfail': 'XFAIL_TEST',
|
||||
'no-mathvec': 'NO_TEST_MATHVEC'}
|
||||
|
||||
# Exceptions in auto-libm-test-out, and their corresponding C flags
|
||||
# for being required, OK or required to be absent.
|
||||
|
Loading…
Reference in New Issue
Block a user