|
From: <sv...@va...> - 2006-03-07 01:42:04
|
Author: sewardj
Date: 2006-03-07 01:41:59 +0000 (Tue, 07 Mar 2006)
New Revision: 5717
Log:
Merge amd64 'fxtract' test from trunk.
Added:
branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.c
branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.stderr.exp
branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.stdout.exp
branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.vgtest
Modified:
branches/VALGRIND_3_1_BRANCH/none/tests/amd64/Makefile.am
Modified: branches/VALGRIND_3_1_BRANCH/none/tests/amd64/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_1_BRANCH/none/tests/amd64/Makefile.am 2006-03-07 =
01:17:12 UTC (rev 5716)
+++ branches/VALGRIND_3_1_BRANCH/none/tests/amd64/Makefile.am 2006-03-07 =
01:41:59 UTC (rev 5717)
@@ -6,6 +6,7 @@
=20
EXTRA_DIST =3D $(noinst_SCRIPTS) \
faultstatus.vgtest faultstatus.stderr.exp \
+ fxtract.vgtest fxtract.stderr.exp fxtract.stdout.exp \
$(addsuffix .stderr.exp,$(INSN_TESTS)) \
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
$(addsuffix .vgtest,$(INSN_TESTS)) \
@@ -16,7 +17,7 @@
=20
=20
check_PROGRAMS =3D \
- faultstatus $(INSN_TESTS) looper jrcxz smc1 shrld
+ faultstatus fxtract $(INSN_TESTS) looper jrcxz smc1 shrld
=20
AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow -g -I$(top_srcdir)/inc=
lude
AM_CXXFLAGS =3D $(AM_CFLAGS)
@@ -32,6 +33,7 @@
insn_sse2_LDADD =3D -lm
insn_fpu_SOURCES =3D insn_fpu.def
insn_fpu_LDADD =3D -lm
+fxtract_LDADD =3D -lm
=20
.def.c: $(srcdir)/gen_insn_test.pl
$(PERL) $(srcdir)/gen_insn_test.pl < $< > $@
Copied: branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.c (from rev=
5716, trunk/none/tests/amd64/fxtract.c)
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.c =
(rev 0)
+++ branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.c 2006-03-07 01=
:41:59 UTC (rev 5717)
@@ -0,0 +1,99 @@
+
+#include <stdio.h>
+#include <math.h>
+
+double arg, res1, res2;
+
+extern void do_fxtract ( void );
+asm("\n"
+".global do_fxtract\n"
+"do_fxtract:\n"
+"\tfinit\n"
+"\tfldl arg\n"
+"\tfxtract\n"
+"\tfstpl res1\n"
+"\tfstpl res2\n"
+"\tret"
+);
+
+void try ( double x )
+{
+ arg =3D x * 1.414213562373049;
+ res1 =3D res2 =3D 0.0;
+ do_fxtract();
+ printf("%17.10e -> %14.10f %14.10f\n", arg, res1, res2);
+}
+
+int main ( void )
+{
+ int i;
+
+ /* positives */
+
+ for (i =3D 0; i < 40; i++)
+ try( 1.27 + (double)(i*10 - 200) );
+
+ try(+0.0);
+ try(1.0 / 0.0);
+ try(sqrt(-1.0));
+
+ try(5.1e-308);
+ try(4.1e-308);
+ try(3.1e-308);
+ try(2.1e-308);
+ try(1.1e-308);
+ try(0.9e-308);
+ try(0.7e-308);
+ try(0.6e-308);
+ try(0.5e-308);
+ try(0.4e-308);
+ try(0.3e-308);
+ try(0.1e-308);
+
+ try(1.3e-320);
+ try(1.3e-321);
+ try(1.3e-322);
+ try(1.3e-323);
+ try(0.9e-323);
+ try(0.7e-323);
+ try(0.5e-323);
+ try(0.3e-323);
+ try(0.2e-323);
+ try(1.3e-324);
+
+ /* negatives */
+
+ printf("\n");
+ for (i =3D 0; i < 40; i++)
+ try( - (1.27 + (double)(i*10 - 200)) );
+
+ try(-0.0);
+ try(-(1.0 / 0.0));
+ try(-sqrt(-1.0));
+
+ try(-5.1e-308);
+ try(-4.1e-308);
+ try(-3.1e-308);
+ try(-2.1e-308);
+ try(-1.1e-308);
+ try(-0.9e-308);
+ try(-0.7e-308);
+ try(-0.6e-308);
+ try(-0.5e-308);
+ try(-0.4e-308);
+ try(-0.3e-308);
+ try(-0.1e-308);
+
+ try(-1.3e-320);
+ try(-1.3e-321);
+ try(-1.3e-322);
+ try(-1.3e-323);
+ try(-0.9e-323);
+ try(-0.7e-323);
+ try(-0.5e-323);
+ try(-0.3e-323);
+ try(-0.2e-323);
+ try(-1.3e-324);
+
+ return 0;
+}
Copied: branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.stderr.exp =
(from rev 5716, trunk/none/tests/amd64/fxtract.stderr.exp)
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.stderr.exp =
(rev 0)
+++ branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.stderr.exp 2006=
-03-07 01:41:59 UTC (rev 5717)
@@ -0,0 +1,2 @@
+
+
Copied: branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.stdout.exp =
(from rev 5716, trunk/none/tests/amd64/fxtract.stdout.exp)
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.stdout.exp =
(rev 0)
+++ branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.stdout.exp 2006=
-03-07 01:41:59 UTC (rev 5717)
@@ -0,0 +1,131 @@
+-2.8104666125e+02 -> -1.0978385205 8.0000000000
+-2.6690452563e+02 -> -1.0425958032 8.0000000000
+-2.5276239000e+02 -> -1.9747061719 7.0000000000
+-2.3862025438e+02 -> -1.8642207373 7.0000000000
+-2.2447811876e+02 -> -1.7537353028 7.0000000000
+-2.1033598313e+02 -> -1.6432498682 7.0000000000
+-1.9619384751e+02 -> -1.5327644337 7.0000000000
+-1.8205171188e+02 -> -1.4222789991 7.0000000000
+-1.6790957626e+02 -> -1.3117935645 7.0000000000
+-1.5376744064e+02 -> -1.2013081300 7.0000000000
+-1.3962530501e+02 -> -1.0908226954 7.0000000000
+-1.2548316939e+02 -> -1.9606745217 6.0000000000
+-1.1134103377e+02 -> -1.7397036526 6.0000000000
+-9.7198898142e+01 -> -1.5187327835 6.0000000000
+-8.3056762518e+01 -> -1.2977619143 6.0000000000
+-6.8914626894e+01 -> -1.0767910452 6.0000000000
+-5.4772491271e+01 -> -1.7116403522 5.0000000000
+-4.0630355647e+01 -> -1.2696986140 5.0000000000
+-2.6488220023e+01 -> -1.6555137515 4.0000000000
+-1.2346084400e+01 -> -1.5432605499 3.0000000000
+ 1.7960512242e+00 -> 1.7960512242 0.0000000000
+ 1.5938186848e+01 -> 1.9922733560 3.0000000000
+ 3.0080322472e+01 -> 1.8800201545 4.0000000000
+ 4.4222458095e+01 -> 1.3819518155 5.0000000000
+ 5.8364593719e+01 -> 1.8238935537 5.0000000000
+ 7.2506729343e+01 -> 1.1329176460 6.0000000000
+ 8.6648864967e+01 -> 1.3538885151 6.0000000000
+ 1.0079100059e+02 -> 1.5748593842 6.0000000000
+ 1.1493313621e+02 -> 1.7958302533 6.0000000000
+ 1.2907527184e+02 -> 1.0084005612 7.0000000000
+ 1.4321740746e+02 -> 1.1188859958 7.0000000000
+ 1.5735954309e+02 -> 1.2293714304 7.0000000000
+ 1.7150167871e+02 -> 1.3398568649 7.0000000000
+ 1.8564381433e+02 -> 1.4503422995 7.0000000000
+ 1.9978594996e+02 -> 1.5608277340 7.0000000000
+ 2.1392808558e+02 -> 1.6713131686 7.0000000000
+ 2.2807022120e+02 -> 1.7817986032 7.0000000000
+ 2.4221235683e+02 -> 1.8922840377 7.0000000000
+ 2.5635449245e+02 -> 1.0013847361 8.0000000000
+ 2.7049662808e+02 -> 1.0566274534 8.0000000000
+ 0.0000000000e+00 -> 0.0000000000 -inf
+ inf -> inf inf
+ nan -> nan nan
+7.2124891681e-308 -> 1.6207302828 -1021.0000000000
+5.7982756057e-308 -> 1.3029400313 -1021.0000000000
+4.3840620434e-308 -> 1.9702995595 -1022.0000000000
+2.9698484810e-308 -> 1.3347190565 -1022.0000000000
+1.5556349186e-308 -> 1.3982771068 -1023.0000000000
+1.2727922061e-308 -> 1.1440449055 -1023.0000000000
+9.8994949366e-309 -> 1.7796254086 -1024.0000000000
+8.4852813742e-309 -> 1.5253932074 -1024.0000000000
+7.0710678119e-309 -> 1.2711610062 -1024.0000000000
+5.6568542495e-309 -> 1.0169288049 -1024.0000000000
+4.2426406871e-309 -> 1.5253932074 -1025.0000000000
+1.4142135624e-309 -> 1.0169288049 -1026.0000000000
+1.8384182682e-320 -> 1.8168945312 -1063.0000000000
+1.8379242025e-321 -> 1.4531250000 -1066.0000000000
+1.8280428896e-322 -> 1.1562500000 -1069.0000000000
+1.9762625834e-323 -> 1.0000000000 -1072.0000000000
+1.4821969375e-323 -> 1.5000000000 -1073.0000000000
+4.9406564584e-324 -> 1.0000000000 -1074.0000000000
+4.9406564584e-324 -> 1.0000000000 -1074.0000000000
+4.9406564584e-324 -> 1.0000000000 -1074.0000000000
+ 0.0000000000e+00 -> 0.0000000000 -inf
+ 0.0000000000e+00 -> 0.0000000000 -inf
+
+ 2.8104666125e+02 -> 1.0978385205 8.0000000000
+ 2.6690452563e+02 -> 1.0425958032 8.0000000000
+ 2.5276239000e+02 -> 1.9747061719 7.0000000000
+ 2.3862025438e+02 -> 1.8642207373 7.0000000000
+ 2.2447811876e+02 -> 1.7537353028 7.0000000000
+ 2.1033598313e+02 -> 1.6432498682 7.0000000000
+ 1.9619384751e+02 -> 1.5327644337 7.0000000000
+ 1.8205171188e+02 -> 1.4222789991 7.0000000000
+ 1.6790957626e+02 -> 1.3117935645 7.0000000000
+ 1.5376744064e+02 -> 1.2013081300 7.0000000000
+ 1.3962530501e+02 -> 1.0908226954 7.0000000000
+ 1.2548316939e+02 -> 1.9606745217 6.0000000000
+ 1.1134103377e+02 -> 1.7397036526 6.0000000000
+ 9.7198898142e+01 -> 1.5187327835 6.0000000000
+ 8.3056762518e+01 -> 1.2977619143 6.0000000000
+ 6.8914626894e+01 -> 1.0767910452 6.0000000000
+ 5.4772491271e+01 -> 1.7116403522 5.0000000000
+ 4.0630355647e+01 -> 1.2696986140 5.0000000000
+ 2.6488220023e+01 -> 1.6555137515 4.0000000000
+ 1.2346084400e+01 -> 1.5432605499 3.0000000000
+-1.7960512242e+00 -> -1.7960512242 0.0000000000
+-1.5938186848e+01 -> -1.9922733560 3.0000000000
+-3.0080322472e+01 -> -1.8800201545 4.0000000000
+-4.4222458095e+01 -> -1.3819518155 5.0000000000
+-5.8364593719e+01 -> -1.8238935537 5.0000000000
+-7.2506729343e+01 -> -1.1329176460 6.0000000000
+-8.6648864967e+01 -> -1.3538885151 6.0000000000
+-1.0079100059e+02 -> -1.5748593842 6.0000000000
+-1.1493313621e+02 -> -1.7958302533 6.0000000000
+-1.2907527184e+02 -> -1.0084005612 7.0000000000
+-1.4321740746e+02 -> -1.1188859958 7.0000000000
+-1.5735954309e+02 -> -1.2293714304 7.0000000000
+-1.7150167871e+02 -> -1.3398568649 7.0000000000
+-1.8564381433e+02 -> -1.4503422995 7.0000000000
+-1.9978594996e+02 -> -1.5608277340 7.0000000000
+-2.1392808558e+02 -> -1.6713131686 7.0000000000
+-2.2807022120e+02 -> -1.7817986032 7.0000000000
+-2.4221235683e+02 -> -1.8922840377 7.0000000000
+-2.5635449245e+02 -> -1.0013847361 8.0000000000
+-2.7049662808e+02 -> -1.0566274534 8.0000000000
+-0.0000000000e+00 -> -0.0000000000 -inf
+ -inf -> -inf inf
+ nan -> nan nan
+-7.2124891681e-308 -> -1.6207302828 -1021.0000000000
+-5.7982756057e-308 -> -1.3029400313 -1021.0000000000
+-4.3840620434e-308 -> -1.9702995595 -1022.0000000000
+-2.9698484810e-308 -> -1.3347190565 -1022.0000000000
+-1.5556349186e-308 -> -1.3982771068 -1023.0000000000
+-1.2727922061e-308 -> -1.1440449055 -1023.0000000000
+-9.8994949366e-309 -> -1.7796254086 -1024.0000000000
+-8.4852813742e-309 -> -1.5253932074 -1024.0000000000
+-7.0710678119e-309 -> -1.2711610062 -1024.0000000000
+-5.6568542495e-309 -> -1.0169288049 -1024.0000000000
+-4.2426406871e-309 -> -1.5253932074 -1025.0000000000
+-1.4142135624e-309 -> -1.0169288049 -1026.0000000000
+-1.8384182682e-320 -> -1.8168945312 -1063.0000000000
+-1.8379242025e-321 -> -1.4531250000 -1066.0000000000
+-1.8280428896e-322 -> -1.1562500000 -1069.0000000000
+-1.9762625834e-323 -> -1.0000000000 -1072.0000000000
+-1.4821969375e-323 -> -1.5000000000 -1073.0000000000
+-4.9406564584e-324 -> -1.0000000000 -1074.0000000000
+-4.9406564584e-324 -> -1.0000000000 -1074.0000000000
+-4.9406564584e-324 -> -1.0000000000 -1074.0000000000
+-0.0000000000e+00 -> -0.0000000000 -inf
+-0.0000000000e+00 -> -0.0000000000 -inf
Copied: branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.vgtest (fro=
m rev 5716, trunk/none/tests/amd64/fxtract.vgtest)
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.vgtest =
(rev 0)
+++ branches/VALGRIND_3_1_BRANCH/none/tests/amd64/fxtract.vgtest 2006-03-=
07 01:41:59 UTC (rev 5717)
@@ -0,0 +1 @@
+prog: fxtract
|