From patchwork Tue Apr 30 10:40:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Cui, Lili" X-Patchwork-Id: 56927 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3691B384AB5D for ; Tue, 30 Apr 2024 10:40:46 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) by sourceware.org (Postfix) with ESMTPS id BC827385E83E for ; Tue, 30 Apr 2024 10:40:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BC827385E83E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BC827385E83E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=198.175.65.17 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714473609; cv=none; b=OoVXaCW1IFdkzJBNKSIkdYfLuL/ClWJ4TTOuuotLvNun6oQ6aXcOzDeaN+WjFQs1FrnBZAfvJua6OzUcJU/d5M76GG7wRk7y4DFvDLjub0PRO/02Zim6V2DTrNpv4jFlyFO3eywLLvDP1Xfu/PXFhhpk8W4I0W7q8io8AX87Xz8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714473609; c=relaxed/simple; bh=wM6Spb9Gq2wYVpcdV0NKj1rY7CqAqbfxVLbMCsXRVdE=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=Q3YbeNlFjSqDESuy+XIvdYaJw9EMLHCL1M6kZvyM4/MmyV59PipSXpnRigYqQee1z0n7A9U9HaHIdff2rQLZTT2h9Pt18Do6bDlvw3UkpKsFB0NT35F9hFXaT/ViJQEtIO8m4HYptdjwChArEhjFoLou6X7tZcn/qx73bN8dV98= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1714473608; x=1746009608; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=wM6Spb9Gq2wYVpcdV0NKj1rY7CqAqbfxVLbMCsXRVdE=; b=da66rWqfrRedLuwBPvV41mNCH19JXHan3GzSzhs1DhKL//kFpQQyWfV6 DqMh7xjJonQ7ofc6l+l0y/v75zRvI2fLSr3VjIXbi+lmh/iMRDPXkDRDv irq6F2LHNg8Tu3CdHFPlI6PX3cT4NMqWV6Ud3MctiWI89Mo5Y1MktO1Fd akKW9bXt5ciM38/OQrmv63wZvq23F1T20eXYrC7jSkR1p3KbDtUidClPq SrVi5fo3QIkNjqYmWZNX0WE9vcAU0V3WeqjtB1Bq2DMbtEmXybQr3Q1L/ 1dKhU2ydmoS8w9sUMD2/5FfYqBPjKpLfPaMoaYMkhaVTUtHlQd4NmO7+G Q==; X-CSE-ConnectionGUID: w/kteSHbShih+8TDUCKOEw== X-CSE-MsgGUID: wkXROuNZQJCffDmJCkYCOA== X-IronPort-AV: E=McAfee;i="6600,9927,11059"; a="10293045" X-IronPort-AV: E=Sophos;i="6.07,241,1708416000"; d="scan'208";a="10293045" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Apr 2024 03:40:07 -0700 X-CSE-ConnectionGUID: wqH6Zyc2SHS7UYSeqTfBwg== X-CSE-MsgGUID: MLTA7b6ZQKqZdhNFc6kk8A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,241,1708416000"; d="scan'208";a="31226429" Received: from scymds04.sc.intel.com ([10.82.73.238]) by orviesa005.jf.intel.com with ESMTP; 30 Apr 2024 03:40:07 -0700 Received: from shgcc10.sh.intel.com (unknown [10.239.85.189]) by scymds04.sc.intel.com (Postfix) with ESMTP id B46342003D57; Tue, 30 Apr 2024 03:40:05 -0700 (PDT) From: "Cui, Lili" To: binutils@sourceware.org Cc: hjl.tools@gmail.com, jbeulich@suse.com Subject: [PATCH V2 0/3] x86: Optimize the encoder of the vvvv register Date: Tue, 30 Apr 2024 18:40:01 +0800 Message-Id: <20240430104004.3048944-1-lili.cui@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+patchwork=sourceware.org@sourceware.org These patches want to optimize the encoder of the vvvv register. Previously we used Vexvvvv, SWAP_SOURCES and extension_opcode to help encode the vvvv register, these patches simplified the logic to only use vexvvvv and added appropriate Vexvvvv values for the related instructions. V2: Added more comments in the code and removed changes to the SwapSources template and push2/POP2 to avoid modifying some places twice. Cui, Lili (3): x86: Use vexvvvv as the switch state to encode the vvvv register x86: Drop SwapSources x86: Drop using extension_opcode to encode vvvv register gas/config/tc-i386.c | 58 +- gas/testsuite/gas/i386/x86-64-sse2avx.d | 7 + gas/testsuite/gas/i386/x86-64-sse2avx.s | 7 + opcodes/i386-opc.h | 21 +- opcodes/i386-opc.tbl | 1156 ++++++++++++----------- 5 files changed, 635 insertions(+), 614 deletions(-)