Age | Commit message (Collapse) | Author |
|
Set the FPCR.FZ bit before running tests using ARM NEON,
in order to make tests pass for most opcodes.
Add a way to check for expected failures in the test suite,
since ARM NEON does not comply to IEEE754.
Errors are expected when using divf (resp. sqrtf) on large
(resp. small) numbers.
Fixes #33, #20
Signed-off-by: Gaetan Bahl <gaetan.bahl@nxp.com>
|
|
|
|
|
|
../subprojects/orc/orc-test/orcarray.c:230:47: error: taking the absolute value of unsigned type 'unsigned int' has no effect [-Werror,-Wabsolute-value]
if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint32 *)&a[i] - *(orc_uint32 *)&b[i]) <= 2) continue;
^
../subprojects/orc/orc-test/orcarray.c:230:47: note: remove the call to 'abs' since unsigned values cannot be negative
if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint32 *)&a[i] - *(orc_uint32 *)&b[i]) <= 2) continue;
^~~
../subprojects/orc/orc-test/orcarray.c:247:47: error: taking the absolute value of unsigned type 'unsigned long' has no effect [-Werror,-Wabsolute-value]
if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint64 *)&a[i] - *(orc_uint64 *)&b[i]) <= 2) continue;
^
../subprojects/orc/orc-test/orcarray.c:247:47: note: remove the call to 'abs' since unsigned values cannot be negative
if ((a[i] < 0.0) == (b[i] < 0.0) && abs(*(orc_uint64 *)&a[i] - *(orc_uint64 *)&b[i]) <= 2) continue;
^~~
../subprojects/orc/orc-test/orctest.c:525:63: error: taking the absolute value of unsigned type 'unsigned int' has no effect [-Werror,-Wabsolute-value]
if ((*(float *)ptr1 < 0.0) == (*(float *)ptr2 < 0.0) && abs(*(orc_uint32 *)ptr1 - *(orc_uint32 *)ptr2) <= 2) return TRUE;
^
../subprojects/orc/orc-test/orctest.c:525:63: note: remove the call to 'abs' since unsigned values cannot be negative
if ((*(float *)ptr1 < 0.0) == (*(float *)ptr2 < 0.0) && abs(*(orc_uint32 *)ptr1 - *(orc_uint32 *)ptr2) <= 2) return TRUE;
^~~
../subprojects/orc/orc-test/orctest.c:530:65: error: taking the absolute value of unsigned type 'unsigned long' has no effect [-Werror,-Wabsolute-value]
if ((*(double *)ptr1 < 0.0) == (*(double *)ptr2 < 0.0) && abs(*(orc_uint64 *)ptr1 - *(orc_uint64 *)ptr2) <= 2) return TRUE;
^
../subprojects/orc/orc-test/orctest.c:530:65: note: remove the call to 'abs' since unsigned values cannot be negative
if ((*(double *)ptr1 < 0.0) == (*(double *)ptr2 < 0.0) && abs(*(orc_uint64 *)ptr1 - *(orc_uint64 *)ptr2) <= 2) return TRUE;
^~~
|
|
|
|
|
|
The isnan() macro was redefined to _isnan() on MSVC, but it's
been in math.h since vs2013, so it should be safe to rely on
it unconditionally nowadays, and we have no intention of
supporting ancient vs versions anyway.
|
|
We were writing more than 300 characters in some cases. Thanks gcc
8 for pointing that out :)
|
|
orctest.c:730:19: error: logical not is only applied to the left hand side of this comparison
if (!float_compare (dest_emul[l-ORC_VAR_D1], dest_exec[l-ORC_VAR_D1], i, j) != 0) {
It seems some sort of typo. Fixing by removing the potentially leftover condition.
|
|
Same as commit 8bc018cbbe25521f91ecba0fc98185d2eaac650d
CID #1146994
CID #1146995
|
|
Conditions should never happen but protect against going out of bounds in the
args array.
CID #1146993
|
|
Use /* */ instead of //
Define _GNU_SOURCE in the ORC_CFLAGS
|
|
|
|
|
|
|
|
|
|
|
|
Which cause compilation with -Werror to fail.
|
|
|
|
|
|
|
|
Please someone shoot c89.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This causes most of the performance tests to slow down significantly,
but is a more realistic measurement of actual performance.
|
|
|
|
Emulation requires that the program be compiled.
|
|
|
|
|
|
|
|
|
|
Allow denormals to be flushed to 0. Check for NaNs.
|
|
|
|
Lack of arm compiler means the test is indeterminate.
|
|
|
|
|
|
Conflicts:
doc/table.xml
orc/orcprogram-sse.c
orc/orcprogram.h
testsuite/Makefile.am
testsuite/generate_xml_table.c
|
|
|