[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 13/41] target/sparc: Add feature bits for VIS 3
From: |
Richard Henderson |
Subject: |
[PATCH 13/41] target/sparc: Add feature bits for VIS 3 |
Date: |
Fri, 1 Mar 2024 19:15:33 -1000 |
The manual separates VIS 3 and VIS 3B, even though they are both
present in all extant cpus. For clarity, let the translator
match the manual but otherwise leave them on the same feature bit.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/sparc/translate.c | 4 ++++
target/sparc/cpu-feature.h.inc | 1 +
2 files changed, 5 insertions(+)
diff --git a/target/sparc/translate.c b/target/sparc/translate.c
index 1178fca9e3..0ebb9c3aa9 100644
--- a/target/sparc/translate.c
+++ b/target/sparc/translate.c
@@ -2145,6 +2145,8 @@ static int extract_qfpreg(DisasContext *dc, int x)
# define avail_HYPV(C) ((C)->def->features & CPU_FEATURE_HYPV)
# define avail_VIS1(C) ((C)->def->features & CPU_FEATURE_VIS1)
# define avail_VIS2(C) ((C)->def->features & CPU_FEATURE_VIS2)
+# define avail_VIS3(C) ((C)->def->features & CPU_FEATURE_VIS3)
+# define avail_VIS3B(C) avail_VIS3(C)
#else
# define avail_32(C) true
# define avail_ASR17(C) ((C)->def->features & CPU_FEATURE_ASR17)
@@ -2158,6 +2160,8 @@ static int extract_qfpreg(DisasContext *dc, int x)
# define avail_HYPV(C) false
# define avail_VIS1(C) false
# define avail_VIS2(C) false
+# define avail_VIS3(C) false
+# define avail_VIS3B(C) false
#endif
/* Default case for non jump instructions. */
diff --git a/target/sparc/cpu-feature.h.inc b/target/sparc/cpu-feature.h.inc
index a30b9255b2..3913fb4a54 100644
--- a/target/sparc/cpu-feature.h.inc
+++ b/target/sparc/cpu-feature.h.inc
@@ -13,3 +13,4 @@ FEATURE(CACHE_CTRL)
FEATURE(POWERDOWN)
FEATURE(CASA)
FEATURE(FMAF)
+FEATURE(VIS3)
--
2.34.1
- [PATCH 04/41] target/sparc: Fix FMUL8x16A{U,L}, (continued)
- [PATCH 04/41] target/sparc: Fix FMUL8x16A{U,L}, Richard Henderson, 2024/03/02
- [PATCH 01/41] linux-user/sparc: Add more hwcap bits for sparc64, Richard Henderson, 2024/03/02
- [PATCH 05/41] target/sparc: Fix FMULD8*X16, Richard Henderson, 2024/03/02
- [PATCH 02/41] target/sparc: Fix FEXPAND, Richard Henderson, 2024/03/02
- [PATCH 06/41] target/sparc: Fix FPMERGE, Richard Henderson, 2024/03/02
- [PATCH 07/41] target/sparc: Split out do_ms16b, Richard Henderson, 2024/03/02
- [PATCH 09/41] target/sparc: Remove gen_dest_fpr_D, Richard Henderson, 2024/03/02
- [PATCH 08/41] target/sparc: Perform DFPREG/QFPREG in decodetree, Richard Henderson, 2024/03/02
- [PATCH 10/41] target/sparc: Remove cpu_fpr[], Richard Henderson, 2024/03/02
- [PATCH 12/41] target/sparc: Implement FMAf extension, Richard Henderson, 2024/03/02
- [PATCH 13/41] target/sparc: Add feature bits for VIS 3,
Richard Henderson <=
- [PATCH 14/41] target/sparc: Implement ADDXC, ADDXCcc, Richard Henderson, 2024/03/02
- [PATCH 15/41] target/sparc: Implement CMASK instructions, Richard Henderson, 2024/03/02
- [PATCH 16/41] target/sparc: Implement FCHKSM16, Richard Henderson, 2024/03/02
- [PATCH 17/41] target/sparc: Implement FHADD, FHSUB, FNHADD, FNADD, Richard Henderson, 2024/03/02
- [PATCH 11/41] target/sparc: Use gvec for VIS1 parallel add/sub, Richard Henderson, 2024/03/02
- [PATCH 18/41] target/sparc: Implement FNMUL, Richard Henderson, 2024/03/02
- [PATCH 19/41] target/sparc: Implement FLCMP, Richard Henderson, 2024/03/02
- [PATCH 20/41] target/sparc: Implement FMEAN16, Richard Henderson, 2024/03/02
- [PATCH 22/41] target/sparc: Implement FPADDS, FPSUBS, Richard Henderson, 2024/03/02
- [PATCH 21/41] target/sparc: Implement FPADD64 FPSUB64, Richard Henderson, 2024/03/02