From patchwork Thu Apr 4 13:14:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mateja Marjanovic X-Patchwork-Id: 1077302 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=rt-rk.com Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44Zk7y13KWz9sPF for ; Fri, 5 Apr 2019 00:19:58 +1100 (AEDT) Received: from localhost ([127.0.0.1]:54581 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hC2Hc-0007Ls-38 for incoming@patchwork.ozlabs.org; Thu, 04 Apr 2019 09:19:56 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51319) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hC2Du-00053N-Py for qemu-devel@nongnu.org; Thu, 04 Apr 2019 09:16:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hC2Dp-0004eM-U9 for qemu-devel@nongnu.org; Thu, 04 Apr 2019 09:16:06 -0400 Received: from mx2.rt-rk.com ([89.216.37.149]:40225 helo=mail.rt-rk.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hC2Dp-0003GT-IY for qemu-devel@nongnu.org; Thu, 04 Apr 2019 09:16:01 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.rt-rk.com (Postfix) with ESMTP id 5DC411A213D; Thu, 4 Apr 2019 15:14:57 +0200 (CEST) X-Virus-Scanned: amavisd-new at rt-rk.com Received: from rtrkw310-lin.domain.local (rtrkw310-lin.domain.local [10.10.13.97]) by mail.rt-rk.com (Postfix) with ESMTPSA id 3E38C1A208E; Thu, 4 Apr 2019 15:14:57 +0200 (CEST) From: Mateja Marjanovic To: qemu-devel@nongnu.org Date: Thu, 4 Apr 2019 15:14:46 +0200 Message-Id: <1554383690-28338-1-git-send-email-mateja.marjanovic@rt-rk.com> X-Mailer: git-send-email 2.7.4 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 89.216.37.149 Subject: [Qemu-devel] [PATCH v6 0/4] target/mips: Optimize MSA interleave instructions X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: arikalo@wavecomp.com, richard.henderson@linaro.org, philmd@redhat.com, amarkovic@wavecomp.com, aurelien@aurel32.net Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Mateja Marjanovic Optimize MSA instructions ILVEV., ILVOD., ILVL. and ILVR. using the hybrid approach, MSA helpers in some cases and directly tcg registers in other cases, so the performance would be better. v6: - Add ILVL. and ILVR. MSA instructions with mixed approaches (with helpers and with tcg registers). - Test the performance for ILVL. and ILVR. MSA instructions, with helpers, with tcg and with the mixed approach. - Use a tcg register instead of an int variable for storing a constant value of the mask (for logic operations). - Eliminate some unnecessary tcg_gen calls. - Changes in commit messages and the cover letter. v5: - Use tcg_gen_deposit function. - Added performance number for no-deposit and with-deposit cases of ILVEV.W. - Minor changes in commit messages and the cover letter. v4: - Clean up typing errors. - Change the commit message and the cover letter. - Fix bug for ILVEV.D, in case where the destination and one of the sources are the same register. v3: - Reduce the number of logic operations to a minimum. - Add comments. v2: - Minor changes in commit messages and the cover letter. Mateja Marjanovic (4): target/mips: Optimize ILVOD. MSA instructions target/mips: Optimize ILVEV. MSA instructions target/mips: Optimize ILVL. MSA instructions target/mips: Optimize ILVR. MSA instructions target/mips/helper.h | 7 +- target/mips/msa_helper.c | 82 +++++--- target/mips/translate.c | 498 ++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 547 insertions(+), 40 deletions(-)