From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57323) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a78ty-0006BH-DU for qemu-devel@nongnu.org; Thu, 10 Dec 2015 16:37:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a78tu-0000i5-CQ for qemu-devel@nongnu.org; Thu, 10 Dec 2015 16:37:26 -0500 Received: from mail-qg0-x234.google.com ([2607:f8b0:400d:c04::234]:34386) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a78tu-0000hZ-3o for qemu-devel@nongnu.org; Thu, 10 Dec 2015 16:37:22 -0500 Received: by qgeb1 with SMTP id b1so164980032qge.1 for ; Thu, 10 Dec 2015 13:37:21 -0800 (PST) Sender: Richard Henderson References: <56698865.8050901@emindsoft.com.cn> <5669894B.50708@emindsoft.com.cn> From: Richard Henderson Message-ID: <5669F08E.4030002@twiddle.net> Date: Thu, 10 Dec 2015 13:37:18 -0800 MIME-Version: 1.0 In-Reply-To: <5669894B.50708@emindsoft.com.cn> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 4/4] target-tilegx: Integrate floating pointer implementation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Chen Gang , Peter Maydell , Chris Metcalf Cc: chenwei@emindsoft.com.cn, qemu-devel On 12/10/2015 06:16 AM, Chen Gang wrote: > > It passes normal building, and gcc testsuite. > > Signed-off-by: Chen Gang > --- > target-tilegx/Makefile.objs | 3 +- > target-tilegx/cpu.h | 2 ++ > target-tilegx/helper.h | 12 ++++++++ > target-tilegx/translate.c | 68 +++++++++++++++++++++++++++++++++++++++------ > 4 files changed, 75 insertions(+), 10 deletions(-) > > diff --git a/target-tilegx/Makefile.objs b/target-tilegx/Makefile.objs > index 0db778f..136ad60 100644 > --- a/target-tilegx/Makefile.objs > +++ b/target-tilegx/Makefile.objs > @@ -1 +1,2 @@ > -obj-y += cpu.o translate.o helper.o simd_helper.o > +obj-y += cpu.o translate.o helper.o simd_helper.o \ > + helper-fsingle.o helper-fdouble.o > diff --git a/target-tilegx/cpu.h b/target-tilegx/cpu.h > index 03df107..445a606 100644 > --- a/target-tilegx/cpu.h > +++ b/target-tilegx/cpu.h > @@ -88,6 +88,8 @@ typedef struct CPUTLGState { > uint64_t spregs[TILEGX_SPR_COUNT]; /* Special used registers by outside */ > uint64_t pc; /* Current pc */ > > + float_status fp_status; /* floating point status */ As mentioned elsewhere, this is pointless. > + case OE_RR_X0(FSINGLE_PACK1): > + case OE_RR_Y0(FSINGLE_PACK1): > + mnemonic = "fsingle_pack1"; > + goto done2; This could use a comment that we're "copying" dest to dest. > @@ -742,13 +745,21 @@ static TileExcp gen_rr_opcode(DisasContext *dc, unsigned opext, > static TileExcp gen_rrr_opcode(DisasContext *dc, unsigned opext, > unsigned dest, unsigned srca, unsigned srcb) > { > - TCGv tdest = dest_gr(dc, dest); > - TCGv tsrca = load_gr(dc, srca); > - TCGv tsrcb = load_gr(dc, srcb); > + TCGv tdest, tsrca, tsrcb; > TCGv t0; > const char *mnemonic; > > switch (opext) { > + case OE_RRR(FSINGLE_ADDSUB2, 0, X0): > + mnemonic = "fsingle_addsub2"; > + goto done2; > + } Likewise. r~