|
From: <sv...@va...> - 2005-11-19 19:42:35
|
Author: sewardj
Date: 2005-11-19 19:42:31 +0000 (Sat, 19 Nov 2005)
New Revision: 5210
Log:
If we're doing an estimation operation, arrange to zap the bottom byte
of the result as it's basically garbage, and differs between cpus.
Modified:
trunk/none/tests/ppc32/jm-insns.c
Modified: trunk/none/tests/ppc32/jm-insns.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
--- trunk/none/tests/ppc32/jm-insns.c 2005-11-19 19:31:56 UTC (rev 5209)
+++ trunk/none/tests/ppc32/jm-insns.c 2005-11-19 19:42:31 UTC (rev 5210)
@@ -6278,6 +6278,13 @@
volatile vector unsigned int tmpvscr;
int i;
=20
+ /* if we're doing an estimation operation, arrange to zap the
+ bottom byte of the result as it's basically garbage, and differs
+ between cpus */
+ unsigned int mask
+ =3D (strstr(name,"vrsqrtefp") || strstr(name,"vrefp"))
+ ? 0xFFFFFF00 : 0xFFFFFFFF;
+
for (i=3D0; i<nb_vfargs; i++) {
vector float vec_in =3D (vector float)vfargs[i];
vector float vec_out =3D (vector float){ 0.0, 0.0, 0.0, 0.0 };
@@ -6315,7 +6322,7 @@
src[0], src[1], src[2], src[3]);
=20
printf("%s: =3D> %08x %08x %08x %08x ", name,
- dst[0], dst[1], dst[2], dst[3]);
+ dst[0] & mask, dst[1] & mask, dst[2] & mask, dst[3] & mask)=
;
#if defined TEST_VSCR_SAT
unsigned int* p_vscr =3D (unsigned int*)𝓋
printf("(%08x, %08x)\n", flags, p_vscr[3]);
|