61 lines
2.2 KiB
Diff
61 lines
2.2 KiB
Diff
|
|
From 8fe9899c39d86f9e0baf832744a7cfe19642a3fd Mon Sep 17 00:00:00 2001
|
||
|
|
From: Jiaxi Chen <jiaxi.chen@linux.intel.com>
|
||
|
|
Date: Fri, 3 Mar 2023 14:59:10 +0800
|
||
|
|
Subject: [PATCH] target/i386: Add support for AVX-IFMA in CPUID enumeration
|
||
|
|
|
||
|
|
commit a957a88416ecbec51e147cba9fe89b93f6646b3b upstream.
|
||
|
|
|
||
|
|
AVX-IFMA is a new instruction in the latest Intel platform Sierra
|
||
|
|
Forest. This instruction packed multiplies unsigned 52-bit integers and
|
||
|
|
adds the low/high 52-bit products to Qword Accumulators.
|
||
|
|
|
||
|
|
The bit definition:
|
||
|
|
CPUID.(EAX=7,ECX=1):EAX[bit 23]
|
||
|
|
|
||
|
|
Add CPUID definition for AVX-IFMA.
|
||
|
|
|
||
|
|
Intel-SIG: commit a957a88416ec target/i386: Add support for AVX-IFMA in CPUID enumeration.
|
||
|
|
Backport GNR and SRF ISA into QEMU-6.2
|
||
|
|
|
||
|
|
Signed-off-by: Jiaxi Chen <jiaxi.chen@linux.intel.com>
|
||
|
|
Signed-off-by: Tao Su <tao1.su@linux.intel.com>
|
||
|
|
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
|
||
|
|
Message-Id: <20230303065913.1246327-4-tao1.su@linux.intel.com>
|
||
|
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||
|
|
[ Quanxian Wang: amend commit log ]
|
||
|
|
Signed-off-by: Quanxian Wang <quanxian.wang@intel.com>
|
||
|
|
---
|
||
|
|
target/i386/cpu.c | 2 +-
|
||
|
|
target/i386/cpu.h | 2 ++
|
||
|
|
2 files changed, 3 insertions(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
|
||
|
|
index 3fc3b8041a..b19fb0cf87 100644
|
||
|
|
--- a/target/i386/cpu.c
|
||
|
|
+++ b/target/i386/cpu.c
|
||
|
|
@@ -876,7 +876,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
|
||
|
|
NULL, NULL, "fzrm", "fsrs",
|
||
|
|
"fsrc", NULL, NULL, NULL,
|
||
|
|
NULL, NULL, NULL, NULL,
|
||
|
|
- NULL, "amx-fp16", NULL, NULL,
|
||
|
|
+ NULL, "amx-fp16", NULL, "avx-ifma",
|
||
|
|
NULL, NULL, NULL, NULL,
|
||
|
|
NULL, NULL, NULL, NULL,
|
||
|
|
},
|
||
|
|
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
|
||
|
|
index c747e68a7a..2bcc127fac 100644
|
||
|
|
--- a/target/i386/cpu.h
|
||
|
|
+++ b/target/i386/cpu.h
|
||
|
|
@@ -893,6 +893,8 @@ uint64_t x86_cpu_get_supported_feature_word(FeatureWord w,
|
||
|
|
#define CPUID_7_1_EAX_FSRC (1U << 12)
|
||
|
|
/* Support Tile Computational Operations on FP16 Numbers */
|
||
|
|
#define CPUID_7_1_EAX_AMX_FP16 (1U << 21)
|
||
|
|
+/* Support for VPMADD52[H,L]UQ */
|
||
|
|
+#define CPUID_7_1_EAX_AVX_IFMA (1U << 23)
|
||
|
|
|
||
|
|
/* Do not exhibit MXCSR Configuration Dependent Timing (MCDT) behavior */
|
||
|
|
#define CPUID_7_2_EDX_MCDT_NO (1U << 5)
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|