From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:60701) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QLih8-0003OY-JD for qemu-devel@nongnu.org; Sun, 15 May 2011 17:17:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QLih7-0002kq-Dc for qemu-devel@nongnu.org; Sun, 15 May 2011 17:17:46 -0400 Received: from fmmailgate03.web.de ([217.72.192.234]:55666) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QLih7-0002kb-32 for qemu-devel@nongnu.org; Sun, 15 May 2011 17:17:45 -0400 Message-Id: <3A4CC47E-9B55-4CF4-BA4D-A3BC50128A14@web.de> From: =?ISO-8859-1?Q?Andreas_F=E4rber?= In-Reply-To: <1305468801-6015-7-git-send-email-aurelien@aurel32.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Apple Message framework v936) Date: Sun, 15 May 2011 23:17:41 +0200 References: <1305468801-6015-1-git-send-email-aurelien@aurel32.net> <1305468801-6015-7-git-send-email-aurelien@aurel32.net> Sender: andreas.faerber@web.de Subject: Re: [Qemu-devel] [PATCH 06/11] target-i386: use floatx80 constants in helper_fld*_ST0() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: qemu-devel@nongnu.org Am 15.05.2011 um 16:13 schrieb Aurelien Jarno: > Instead of using a table which doesn't correspond to anything from > physical in the CPU, use directly the constants in helper_fld*_ST0(). > > Cc: Andreas F=E4rber > Signed-off-by: Aurelien Jarno > --- > target-i386/op_helper.c | 27 ++++++++------------------- > 1 files changed, 8 insertions(+), 19 deletions(-) > > diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c > index 4d309ab..cec0c76 100644 > --- a/target-i386/op_helper.c > +++ b/target-i386/op_helper.c > @@ -99,17 +99,6 @@ static const uint8_t rclb_table[32] =3D { > #define floatx80_l2e make_floatx80( 0x3fff, 0xb8aa3b295c17f0bcLL ) > #define floatx80_l2t make_floatx80( 0x4000, 0xd49a784bcd1b8afeLL ) > > -static const floatx80 f15rk[7] =3D > -{ > - floatx80_zero, > - floatx80_one, > - floatx80_pi, > - floatx80_lg2, > - floatx80_ln2, > - floatx80_l2e, > - floatx80_l2t, > -}; > - > /* broken thread support */ > > static spinlock_t global_cpu_lock =3D SPIN_LOCK_UNLOCKED; > @@ -3816,42 +3805,42 @@ void helper_fabs_ST0(void) > > void helper_fld1_ST0(void) > { > - ST0 =3D f15rk[1]; > + ST0 =3D floatx80_one; > } A backport of this using floatx_... compiles okay. BeOS R5 boots fine; didn't have any special float tests at hand, so I =20= ran an OpenGL teapot demo which I assume is software-rendered. Andreas > void helper_fldl2t_ST0(void) > { > - ST0 =3D f15rk[6]; > + ST0 =3D floatx80_l2t; > } > > void helper_fldl2e_ST0(void) > { > - ST0 =3D f15rk[5]; > + ST0 =3D floatx80_l2e; > } > > void helper_fldpi_ST0(void) > { > - ST0 =3D f15rk[2]; > + ST0 =3D floatx80_pi; > } > > void helper_fldlg2_ST0(void) > { > - ST0 =3D f15rk[3]; > + ST0 =3D floatx80_lg2; > } > > void helper_fldln2_ST0(void) > { > - ST0 =3D f15rk[4]; > + ST0 =3D floatx80_ln2; > } > > void helper_fldz_ST0(void) > { > - ST0 =3D f15rk[0]; > + ST0 =3D floatx80_zero; > } > > void helper_fldz_FT0(void) > { > - FT0 =3D f15rk[0]; > + FT0 =3D floatx80_zero; > } > > uint32_t helper_fnstsw(void) > --=20 > 1.7.2.3 >