From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44587) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bi7sG-00037c-7c for qemu-devel@nongnu.org; Thu, 08 Sep 2016 18:32:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bi7sE-0000h9-48 for qemu-devel@nongnu.org; Thu, 08 Sep 2016 18:32:48 -0400 Received: from mail-wm0-x241.google.com ([2a00:1450:400c:c09::241]:33977) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bi7sD-0000h5-TW for qemu-devel@nongnu.org; Thu, 08 Sep 2016 18:32:46 -0400 Received: by mail-wm0-x241.google.com with SMTP id w12so203117wmf.1 for ; Thu, 08 Sep 2016 15:32:45 -0700 (PDT) From: Michael Rolnik Date: Fri, 9 Sep 2016 01:31:48 +0300 Message-Id: <1473373930-31547-8-git-send-email-mrolnik@gmail.com> In-Reply-To: <1473373930-31547-1-git-send-email-mrolnik@gmail.com> References: <1473373930-31547-1-git-send-email-mrolnik@gmail.com> Subject: [Qemu-devel] [PATCH RFC v1 07/29] target-arc: MAX, MIN List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Michael Rolnik Signed-off-by: Michael Rolnik --- target-arc/translate-inst.c | 29 +++++++++++++++++++++++++++++ target-arc/translate-inst.h | 3 +++ 2 files changed, 32 insertions(+) diff --git a/target-arc/translate-inst.c b/target-arc/translate-inst.c index ac13c86..5404f35 100644 --- a/target-arc/translate-inst.c +++ b/target-arc/translate-inst.c @@ -894,3 +894,32 @@ int arc_gen_SYNC(DisasCtxt *ctx) return BS_NONE; } + +/* + MAX +*/ +int arc_gen_MAX(DisasCtxt *ctx, TCGv dest, TCGv src1, TCGv src2) +{ + if (ctx->opt.f) { + arc_gen_CMP(ctx, src1, src2); + } + + tcg_gen_movcond_tl(TCG_COND_GEU, dest, src1, src2, src1, src2); + + return BS_NONE; +} + +/* + MIN +*/ +int arc_gen_MIN(DisasCtxt *ctx, TCGv dest, TCGv src1, TCGv src2) +{ + if (ctx->opt.f) { + arc_gen_CMP(ctx, src1, src2); + } + + tcg_gen_movcond_tl(TCG_COND_GEU, dest, src1, src2, src2, src1); + + return BS_NONE; +} + diff --git a/target-arc/translate-inst.h b/target-arc/translate-inst.h index 0038645..0dc7f4c 100644 --- a/target-arc/translate-inst.h +++ b/target-arc/translate-inst.h @@ -61,3 +61,6 @@ int arc_gen_STB(DisasCtxt *ctx, TCGv dest, TCGv src1, TCGv src2); int arc_gen_PREFETCH(DisasCtxt *c, TCGv src1, TCGv src2); int arc_gen_SYNC(DisasCtxt *c); +int arc_gen_MAX(DisasCtxt *c, TCGv dest, TCGv src1, TCGv src2); +int arc_gen_MIN(DisasCtxt *c, TCGv dest, TCGv src1, TCGv src2); + -- 2.4.9 (Apple Git-60)