tcg: Introduce TCG_TARGET_HAS_tst_vec
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 15 May 2024 10:49:01 +0000 (12:49 +0200)
committerRichard Henderson <richard.henderson@linaro.org>
Thu, 23 May 2024 02:05:21 +0000 (19:05 -0700)
Prelude to supporting TCG_COND_TST* in vector comparisons.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
include/tcg/tcg.h
tcg/aarch64/tcg-target.h
tcg/arm/tcg-target.h
tcg/i386/tcg-target.h
tcg/loongarch64/tcg-target.h
tcg/ppc/tcg-target.h
tcg/s390x/tcg-target.h

index 2a1c080babb29e3d4c428c0a283aa506a0ffdad2..21d58847412b299f1e9315a2eff3e8ba940699b1 100644 (file)
@@ -155,6 +155,7 @@ typedef uint64_t TCGRegSet;
 #define TCG_TARGET_HAS_minmax_vec       0
 #define TCG_TARGET_HAS_bitsel_vec       0
 #define TCG_TARGET_HAS_cmpsel_vec       0
+#define TCG_TARGET_HAS_tst_vec          0
 #else
 #define TCG_TARGET_MAYBE_vec            1
 #endif
index 85d5746e475d2fe57083bff7875bcf590abac929..138bafb9da697ed58630de5a8ab347d80154440b 100644 (file)
@@ -167,6 +167,7 @@ typedef enum {
 #define TCG_TARGET_HAS_minmax_vec       1
 #define TCG_TARGET_HAS_bitsel_vec       1
 #define TCG_TARGET_HAS_cmpsel_vec       0
+#define TCG_TARGET_HAS_tst_vec          0
 
 #define TCG_TARGET_DEFAULT_MO (0)
 #define TCG_TARGET_NEED_LDST_LABELS
index a43875cb09a119317cc7685560440870a048958e..434a892e07d6ff70e244a4731f278883fbfb410e 100644 (file)
@@ -150,6 +150,7 @@ extern bool use_neon_instructions;
 #define TCG_TARGET_HAS_minmax_vec       1
 #define TCG_TARGET_HAS_bitsel_vec       1
 #define TCG_TARGET_HAS_cmpsel_vec       0
+#define TCG_TARGET_HAS_tst_vec          0
 
 #define TCG_TARGET_DEFAULT_MO (0)
 #define TCG_TARGET_NEED_LDST_LABELS
index a10d4e1fcec655b5e533ad2bee32eee879dd4ba3..2f67a97e05978ad010deada21821a5fd3af0e14d 100644 (file)
@@ -224,6 +224,7 @@ typedef enum {
 #define TCG_TARGET_HAS_minmax_vec       1
 #define TCG_TARGET_HAS_bitsel_vec       have_avx512vl
 #define TCG_TARGET_HAS_cmpsel_vec       -1
+#define TCG_TARGET_HAS_tst_vec          0
 
 #define TCG_TARGET_deposit_i32_valid(ofs, len) \
     (((ofs) == 0 && ((len) == 8 || (len) == 16)) || \
index fede627bf748573b81ad33bc75f76be21145f8ce..29e4860d207807dea766edff7b0d3d4a33bc0d77 100644 (file)
@@ -194,6 +194,7 @@ typedef enum {
 #define TCG_TARGET_HAS_minmax_vec       1
 #define TCG_TARGET_HAS_bitsel_vec       1
 #define TCG_TARGET_HAS_cmpsel_vec       0
+#define TCG_TARGET_HAS_tst_vec          0
 
 #define TCG_TARGET_DEFAULT_MO (0)
 
index 04a7aba4d3acf655a2f38278bca4bc72d97803a2..e154fb14df079d597b0efcc5a932000fe0e16f77 100644 (file)
@@ -173,6 +173,7 @@ typedef enum {
 #define TCG_TARGET_HAS_minmax_vec       1
 #define TCG_TARGET_HAS_bitsel_vec       have_vsx
 #define TCG_TARGET_HAS_cmpsel_vec       0
+#define TCG_TARGET_HAS_tst_vec          0
 
 #define TCG_TARGET_DEFAULT_MO (0)
 #define TCG_TARGET_NEED_LDST_LABELS
index ae448c3a3a3c120c03c67ba76f62bd8dcdbfcf3a..62ce9d792a4306dc7f6b4d0e59fc1978c3a47e9f 100644 (file)
@@ -163,6 +163,7 @@ extern uint64_t s390_facilities[3];
 #define TCG_TARGET_HAS_minmax_vec     1
 #define TCG_TARGET_HAS_bitsel_vec     1
 #define TCG_TARGET_HAS_cmpsel_vec     0
+#define TCG_TARGET_HAS_tst_vec        0
 
 /* used for function call generation */
 #define TCG_TARGET_STACK_ALIGN         8