Received: by 2002:ab2:60d1:0:b0:1f7:5705:b850 with SMTP id i17csp1051009lqm; Thu, 2 May 2024 04:01:13 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVxEhwz4JnMihwz9142xgqUiIMQAwH3cte8pTzlwN+MBpzwcuobAwIB6rzM7kJofy3HV4Q9giQc0sfRUr4QdVrwd70dt6pHJuU4EOsULA== X-Google-Smtp-Source: AGHT+IF6UUyICJdDBOZvSw2gEmD9pSsMOLPp6ENsC0af/fZK0XO/IannNtkcQcRktnKaCyLgIgT1 X-Received: by 2002:a17:90a:e60a:b0:2b2:7e94:c5e0 with SMTP id j10-20020a17090ae60a00b002b27e94c5e0mr1680883pjy.20.1714647673470; Thu, 02 May 2024 04:01:13 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1714647673; cv=pass; d=google.com; s=arc-20160816; b=ZQaQQX2kO2T1JSSDDBCzkd57jRLVk3hVVmegmMIobtyKO01UfXRH3XyzfIfrquLzbS fVsIdlcAjC9XAdwa7G35UD3fCsQSpsvCfd8B600/eKbfapdvgRB43HsAsmECKnR7Jrcp ePTzfNw/q7UYt7g2kLf0Mckw1Et9s8jwxOHH1vuy/cDn5/GuDAqY9KNJt78o96lCRin6 tFkQhgFXVb9K1d8UY01fj7pNlr6LXYJtxPKCl0Gw/VuaPDtxCNHGzqzHJohWoG9w4Dz+ ImcMUjTXfKbbyn+d+HSXhncbKgPRmTwh7WaNtLyXs64r4juiNBIbRqsH9m8Rfpp4MjWg 4kRw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:organization:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=xCDmUOsPaeYTgc4n//ELhTdVhAfAP4C61FTlUwLPPXA=; fh=a7kCZ+k0zAe704XWDEgdHExq2ZvUrYGmRi9KGI58Srk=; b=KJCMjh6fPyGMteohA7NYioQUO/nYLWxJYIHCtYMuCb4jVfVKBAUV1bWmKt5vzrqOb6 2I5+j17DQUbDj5lIg+DP/YksxzL77LEDJ7RHJhZj6EvJuO7nW7WGripG67owmm9WrgNP cnf7Ww0YmICvcQMJg11NFXJ3LzLYYtjQQNI/4m0/YqRW92dghovnf4q5YSYb7x3HcgrU qg+o1CJhI6Tw2zhuEen3ptANSbm/WYI1GYV83p6js9/uSqwYUr9R0uHL75dMQa/Ey8CN yvt5J4hN0P04WsngXVYINMm6vpLX5qZQH4dXQceWYw9XXlgDy9duDxJw5tK2xxE3d30l jgyA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Uy930vu4; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel+bounces-166359-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-166359-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id m5-20020a17090a34c500b002aaec2d077esi803210pjf.183.2024.05.02.04.01.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 May 2024 04:01:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-166359-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Uy930vu4; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel+bounces-166359-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-166359-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 9D50EB20F9E for ; Thu, 2 May 2024 11:00:05 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 90B14657D9; Thu, 2 May 2024 10:59:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Uy930vu4" Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 086F9629E6; Thu, 2 May 2024 10:59:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.14 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714647565; cv=none; b=kdng8KruhQwY3Zro1YT6tqNO04o5bbHJBDKkoxmA1242StgWV/9PifEBGkjVkBKBYqoifJ+opehAAOZdSSgvaROAsMYF8sxaD5xzgtxPpI4PMNRc04kxxHISrqdQmla5tByJ8a0CqGddge5oPeI/N4YmUvyLkSLBZTvyTawN5b0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714647565; c=relaxed/simple; bh=cBsYGDZfunyljiCBijlOcXIYd33xamewtNnJeDe0SZU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Umwc7kBlCL1HL5tCRuMQwkqWB2+YSlGow61BPR2YhdZQkqU7klCsXfPKQiz+ZDUuTVksrnWmECW505MZKbkKjE+l/BAe+o+6hEwfx3RXv9PnwVaoSfOiVwLwfQ+/YUxJEfOgkaWwwdq27N86LilXzdlJwYpSSuQxq/gm5+Kf/OA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Uy930vu4; arc=none smtp.client-ip=198.175.65.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1714647565; x=1746183565; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=cBsYGDZfunyljiCBijlOcXIYd33xamewtNnJeDe0SZU=; b=Uy930vu4j49g2TGcAQO3HkWX1OOAef/f/nO+9TL9QZLUKi4n8zb8bCfC dleDHcHMNXaxelQhfWcDsPSlB3g2VOlnODJ+7XVpypb6qfJocKBYlBenp jkyf4u9laB+3+gxapBobmNcqAswQuW30vGTFfZ2ms4o68yThYgHuakZD2 QQkIbKeaH8pzfYscayNuT3TKt1qC5l7jLQUXW+ug1pSBrqyEpOF+9n+iV RqkSgbRyjo5g6cLHUpB55nS6zryXPRSS8OssMVJb9x72L86Us63LqeMH9 OFsedHHSLzBJEG3czarrMgNBWDijVTsNFY447dL9tkuhba5Ab1n/KuMpA w==; X-CSE-ConnectionGUID: NpG7RelFQ0WTuQXl8860JA== X-CSE-MsgGUID: sQCExj++Q0aDsZaabFh6Uw== X-IronPort-AV: E=McAfee;i="6600,9927,11061"; a="14228588" X-IronPort-AV: E=Sophos;i="6.07,247,1708416000"; d="scan'208";a="14228588" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 May 2024 03:59:24 -0700 X-CSE-ConnectionGUID: kkLCmlEVS+Gb7y5oNAsysg== X-CSE-MsgGUID: fgSBcJzNTEGXIvUdGORtsQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,247,1708416000"; d="scan'208";a="50278888" Received: from ahunter6-mobl1.ger.corp.intel.com (HELO ahunter-VirtualBox.home\044ger.corp.intel.com) ([10.251.208.210]) by fmviesa002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 May 2024 03:59:20 -0700 From: Adrian Hunter To: linux-kernel@vger.kernel.org Cc: "Chang S. Bae" , Masami Hiramatsu , Nikolay Borisov , Borislav Petkov , Ingo Molnar , "H. Peter Anvin" , Dave Hansen , Thomas Gleixner , x86@kernel.org, Arnaldo Carvalho de Melo , Jiri Olsa , Namhyung Kim , Ian Rogers , linux-perf-users@vger.kernel.org Subject: [PATCH 03/10] x86/insn: Add VEX versions of VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPWSSDS Date: Thu, 2 May 2024 13:58:46 +0300 Message-Id: <20240502105853.5338-4-adrian.hunter@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240502105853.5338-1-adrian.hunter@intel.com> References: <20240502105853.5338-1-adrian.hunter@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki, Business Identity Code: 0357606 - 4, Domiciled in Helsinki Content-Transfer-Encoding: 8bit The x86 instruction decoder is used not only for decoding kernel instructions. It is also used by perf uprobes (user space probes) and by perf tools Intel Processor Trace decoding. Consequently, it needs to support instructions executed by user space also. Intel Architecture Instruction Set Extensions and Future Features manual number 319433-044 of May 2021, documented VEX versions of instructions VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPWSSDS, but the opcode map has them listed as EVEX only. Remove EVEX-only (ev) annotation from instructions VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPWSSDS, which allows them to be decoded with either a VEX or EVEX prefix. Fixes: 0153d98f2dd6 ("x86/insn: Add misc instructions to x86 instruction decoder") Signed-off-by: Adrian Hunter --- arch/x86/lib/x86-opcode-map.txt | 8 ++++---- tools/arch/x86/lib/x86-opcode-map.txt | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt index 4ea2e6adb477..24941b9d4e06 100644 --- a/arch/x86/lib/x86-opcode-map.txt +++ b/arch/x86/lib/x86-opcode-map.txt @@ -698,10 +698,10 @@ AVXcode: 2 4d: vrcp14ss/d Vsd,Hpd,Wsd (66),(ev) 4e: vrsqrt14ps/d Vpd,Wpd (66),(ev) 4f: vrsqrt14ss/d Vsd,Hsd,Wsd (66),(ev) -50: vpdpbusd Vx,Hx,Wx (66),(ev) -51: vpdpbusds Vx,Hx,Wx (66),(ev) -52: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66),(ev) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev) -53: vpdpwssds Vx,Hx,Wx (66),(ev) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev) +50: vpdpbusd Vx,Hx,Wx (66) +51: vpdpbusds Vx,Hx,Wx (66) +52: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev) +53: vpdpwssds Vx,Hx,Wx (66) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev) 54: vpopcntb/w Vx,Wx (66),(ev) 55: vpopcntd/q Vx,Wx (66),(ev) 58: vpbroadcastd Vx,Wx (66),(v) diff --git a/tools/arch/x86/lib/x86-opcode-map.txt b/tools/arch/x86/lib/x86-opcode-map.txt index 4ea2e6adb477..24941b9d4e06 100644 --- a/tools/arch/x86/lib/x86-opcode-map.txt +++ b/tools/arch/x86/lib/x86-opcode-map.txt @@ -698,10 +698,10 @@ AVXcode: 2 4d: vrcp14ss/d Vsd,Hpd,Wsd (66),(ev) 4e: vrsqrt14ps/d Vpd,Wpd (66),(ev) 4f: vrsqrt14ss/d Vsd,Hsd,Wsd (66),(ev) -50: vpdpbusd Vx,Hx,Wx (66),(ev) -51: vpdpbusds Vx,Hx,Wx (66),(ev) -52: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66),(ev) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev) -53: vpdpwssds Vx,Hx,Wx (66),(ev) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev) +50: vpdpbusd Vx,Hx,Wx (66) +51: vpdpbusds Vx,Hx,Wx (66) +52: vdpbf16ps Vx,Hx,Wx (F3),(ev) | vpdpwssd Vx,Hx,Wx (66) | vp4dpwssd Vdqq,Hdqq,Wdq (F2),(ev) +53: vpdpwssds Vx,Hx,Wx (66) | vp4dpwssds Vdqq,Hdqq,Wdq (F2),(ev) 54: vpopcntb/w Vx,Wx (66),(ev) 55: vpopcntd/q Vx,Wx (66),(ev) 58: vpbroadcastd Vx,Wx (66),(v) -- 2.34.1