target/sparc: Add feature bits for VIS 3
authorRichard Henderson <richard.henderson@linaro.org>
Sat, 4 Nov 2023 19:21:37 +0000 (12:21 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 5 Jun 2024 16:05:10 +0000 (09:05 -0700)
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.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
target/sparc/cpu-feature.h.inc
target/sparc/translate.c

index a30b9255b26cb30c995a9084deb91334277f6390..3913fb4a54fd7a6add3e801ebaf9218b039d257e 100644 (file)
@@ -13,3 +13,4 @@ FEATURE(CACHE_CTRL)
 FEATURE(POWERDOWN)
 FEATURE(CASA)
 FEATURE(FMAF)
+FEATURE(VIS3)
index 5efd09f4f4cdbd6053e581bdead06c7b0a4878da..59b922c903d6777932ced685e812499fec1bcfb2 100644 (file)
@@ -2188,6 +2188,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)
@@ -2201,6 +2203,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. */