Skip to content

Commit 6482e9d

Browse files
committed
tcg: Remove TCG_TARGET_HAS_deposit_{i32,i64}
Make deposit "unconditional" in the sense that the opcode is always present. Rely instead on TCG_TARGET_deposit_valid, now always defined. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
1 parent c334de1 commit 6482e9d

File tree

15 files changed

+35
-65
lines changed

15 files changed

+35
-65
lines changed

tcg/aarch64/tcg-target-has.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
#define TCG_TARGET_HAS_clz_i32 1
3232
#define TCG_TARGET_HAS_ctz_i32 1
3333
#define TCG_TARGET_HAS_ctpop_i32 0
34-
#define TCG_TARGET_HAS_deposit_i32 1
3534
#define TCG_TARGET_HAS_extract2_i32 1
3635
#define TCG_TARGET_HAS_negsetcond_i32 1
3736
#define TCG_TARGET_HAS_add2_i32 1
@@ -64,7 +63,6 @@
6463
#define TCG_TARGET_HAS_clz_i64 1
6564
#define TCG_TARGET_HAS_ctz_i64 1
6665
#define TCG_TARGET_HAS_ctpop_i64 0
67-
#define TCG_TARGET_HAS_deposit_i64 1
6866
#define TCG_TARGET_HAS_extract2_i64 1
6967
#define TCG_TARGET_HAS_negsetcond_i64 1
7068
#define TCG_TARGET_HAS_add2_i64 1
@@ -114,5 +112,6 @@
114112

115113
#define TCG_TARGET_extract_valid(type, ofs, len) 1
116114
#define TCG_TARGET_sextract_valid(type, ofs, len) 1
115+
#define TCG_TARGET_deposit_valid(type, ofs, len) 1
117116

118117
#endif

tcg/arm/tcg-target-has.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ extern bool use_neon_instructions;
4040
#define TCG_TARGET_HAS_clz_i32 1
4141
#define TCG_TARGET_HAS_ctz_i32 use_armv7_instructions
4242
#define TCG_TARGET_HAS_ctpop_i32 0
43-
#define TCG_TARGET_HAS_deposit_i32 use_armv7_instructions
4443
#define TCG_TARGET_HAS_extract2_i32 1
4544
#define TCG_TARGET_HAS_negsetcond_i32 1
4645
#define TCG_TARGET_HAS_mulu2_i32 1
@@ -96,5 +95,6 @@ tcg_target_extract_valid(TCGType type, unsigned ofs, unsigned len)
9695

9796
#define TCG_TARGET_extract_valid tcg_target_extract_valid
9897
#define TCG_TARGET_sextract_valid tcg_target_extract_valid
98+
#define TCG_TARGET_deposit_valid(type, ofs, len) use_armv7_instructions
9999

100100
#endif

tcg/i386/tcg-target-has.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
#define TCG_TARGET_HAS_clz_i32 1
4444
#define TCG_TARGET_HAS_ctz_i32 1
4545
#define TCG_TARGET_HAS_ctpop_i32 have_popcnt
46-
#define TCG_TARGET_HAS_deposit_i32 1
4746
#define TCG_TARGET_HAS_extract2_i32 1
4847
#define TCG_TARGET_HAS_negsetcond_i32 1
4948
#define TCG_TARGET_HAS_add2_i32 1
@@ -76,7 +75,6 @@
7675
#define TCG_TARGET_HAS_clz_i64 1
7776
#define TCG_TARGET_HAS_ctz_i64 1
7877
#define TCG_TARGET_HAS_ctpop_i64 have_popcnt
79-
#define TCG_TARGET_HAS_deposit_i64 1
8078
#define TCG_TARGET_HAS_extract2_i64 1
8179
#define TCG_TARGET_HAS_negsetcond_i64 1
8280
#define TCG_TARGET_HAS_add2_i64 1
@@ -121,10 +119,9 @@
121119
#define TCG_TARGET_HAS_cmpsel_vec 1
122120
#define TCG_TARGET_HAS_tst_vec have_avx512bw
123121

124-
#define TCG_TARGET_deposit_i32_valid(ofs, len) \
122+
#define TCG_TARGET_deposit_valid(type, ofs, len) \
125123
(((ofs) == 0 && ((len) == 8 || (len) == 16)) || \
126124
(TCG_TARGET_REG_BITS == 32 && (ofs) == 8 && (len) == 8))
127-
#define TCG_TARGET_deposit_i64_valid TCG_TARGET_deposit_i32_valid
128125

129126
/*
130127
* Check for the possibility of low byte/word extraction, high-byte extraction

tcg/loongarch64/tcg-target-has.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#define TCG_TARGET_HAS_rem_i32 1
1616
#define TCG_TARGET_HAS_div2_i32 0
1717
#define TCG_TARGET_HAS_rot_i32 1
18-
#define TCG_TARGET_HAS_deposit_i32 1
1918
#define TCG_TARGET_HAS_extract2_i32 0
2019
#define TCG_TARGET_HAS_add2_i32 0
2120
#define TCG_TARGET_HAS_sub2_i32 0
@@ -48,7 +47,6 @@
4847
#define TCG_TARGET_HAS_rem_i64 1
4948
#define TCG_TARGET_HAS_div2_i64 0
5049
#define TCG_TARGET_HAS_rot_i64 1
51-
#define TCG_TARGET_HAS_deposit_i64 1
5250
#define TCG_TARGET_HAS_extract2_i64 0
5351
#define TCG_TARGET_HAS_extr_i64_i32 1
5452
#define TCG_TARGET_HAS_ext8s_i64 1
@@ -106,6 +104,7 @@
106104
#define TCG_TARGET_HAS_tst_vec 0
107105

108106
#define TCG_TARGET_extract_valid(type, ofs, len) 1
107+
#define TCG_TARGET_deposit_valid(type, ofs, len) 1
109108

110109
static inline bool
111110
tcg_target_sextract_valid(TCGType type, unsigned ofs, unsigned len)

tcg/mips/tcg-target-has.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ extern bool use_mips32r2_instructions;
7979
#endif
8080

8181
/* optional instructions detected at runtime */
82-
#define TCG_TARGET_HAS_deposit_i32 use_mips32r2_instructions
8382
#define TCG_TARGET_HAS_extract2_i32 0
8483
#define TCG_TARGET_HAS_ext8s_i32 use_mips32r2_instructions
8584
#define TCG_TARGET_HAS_ext16s_i32 use_mips32r2_instructions
@@ -93,7 +92,6 @@ extern bool use_mips32r2_instructions;
9392
#define TCG_TARGET_HAS_bswap16_i64 1
9493
#define TCG_TARGET_HAS_bswap32_i64 1
9594
#define TCG_TARGET_HAS_bswap64_i64 1
96-
#define TCG_TARGET_HAS_deposit_i64 use_mips32r2_instructions
9795
#define TCG_TARGET_HAS_extract2_i64 0
9896
#define TCG_TARGET_HAS_ext8s_i64 use_mips32r2_instructions
9997
#define TCG_TARGET_HAS_ext16s_i64 use_mips32r2_instructions
@@ -116,6 +114,7 @@ extern bool use_mips32r2_instructions;
116114
#define TCG_TARGET_HAS_tst 0
117115

118116
#define TCG_TARGET_extract_valid(type, ofs, len) use_mips32r2_instructions
117+
#define TCG_TARGET_deposit_valid(type, ofs, len) use_mips32r2_instructions
119118

120119
static inline bool
121120
tcg_target_sextract_valid(TCGType type, unsigned ofs, unsigned len)

tcg/ppc/tcg-target-has.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
#define TCG_TARGET_HAS_clz_i32 1
3838
#define TCG_TARGET_HAS_ctz_i32 have_isa_3_00
3939
#define TCG_TARGET_HAS_ctpop_i32 have_isa_2_06
40-
#define TCG_TARGET_HAS_deposit_i32 1
4140
#define TCG_TARGET_HAS_extract2_i32 0
4241
#define TCG_TARGET_HAS_negsetcond_i32 1
4342
#define TCG_TARGET_HAS_mulu2_i32 0
@@ -71,7 +70,6 @@
7170
#define TCG_TARGET_HAS_clz_i64 1
7271
#define TCG_TARGET_HAS_ctz_i64 have_isa_3_00
7372
#define TCG_TARGET_HAS_ctpop_i64 have_isa_2_06
74-
#define TCG_TARGET_HAS_deposit_i64 1
7573
#define TCG_TARGET_HAS_extract2_i64 0
7674
#define TCG_TARGET_HAS_negsetcond_i64 1
7775
#define TCG_TARGET_HAS_add2_i64 1
@@ -118,6 +116,7 @@
118116
#define TCG_TARGET_HAS_tst_vec 0
119117

120118
#define TCG_TARGET_extract_valid(type, ofs, len) 1
119+
#define TCG_TARGET_deposit_valid(type, ofs, len) 1
121120

122121
static inline bool
123122
tcg_target_sextract_valid(TCGType type, unsigned ofs, unsigned len)

tcg/riscv/tcg-target-has.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#define TCG_TARGET_HAS_rem_i32 1
1616
#define TCG_TARGET_HAS_div2_i32 0
1717
#define TCG_TARGET_HAS_rot_i32 (cpuinfo & CPUINFO_ZBB)
18-
#define TCG_TARGET_HAS_deposit_i32 0
1918
#define TCG_TARGET_HAS_extract2_i32 0
2019
#define TCG_TARGET_HAS_add2_i32 1
2120
#define TCG_TARGET_HAS_sub2_i32 1
@@ -47,7 +46,6 @@
4746
#define TCG_TARGET_HAS_rem_i64 1
4847
#define TCG_TARGET_HAS_div2_i64 0
4948
#define TCG_TARGET_HAS_rot_i64 (cpuinfo & CPUINFO_ZBB)
50-
#define TCG_TARGET_HAS_deposit_i64 0
5149
#define TCG_TARGET_HAS_extract2_i64 0
5250
#define TCG_TARGET_HAS_extr_i64_i32 1
5351
#define TCG_TARGET_HAS_ext8s_i64 1
@@ -126,4 +124,6 @@ tcg_target_sextract_valid(TCGType type, unsigned ofs, unsigned len)
126124
}
127125
#define TCG_TARGET_sextract_valid tcg_target_sextract_valid
128126

127+
#define TCG_TARGET_deposit_valid(type, ofs, len) 0
128+
129129
#endif

tcg/s390x/tcg-target-has.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ extern uint64_t s390_facilities[3];
4646
#define TCG_TARGET_HAS_clz_i32 0
4747
#define TCG_TARGET_HAS_ctz_i32 0
4848
#define TCG_TARGET_HAS_ctpop_i32 1
49-
#define TCG_TARGET_HAS_deposit_i32 1
5049
#define TCG_TARGET_HAS_extract2_i32 0
5150
#define TCG_TARGET_HAS_negsetcond_i32 1
5251
#define TCG_TARGET_HAS_add2_i32 1
@@ -78,7 +77,6 @@ extern uint64_t s390_facilities[3];
7877
#define TCG_TARGET_HAS_clz_i64 1
7978
#define TCG_TARGET_HAS_ctz_i64 0
8079
#define TCG_TARGET_HAS_ctpop_i64 1
81-
#define TCG_TARGET_HAS_deposit_i64 1
8280
#define TCG_TARGET_HAS_extract2_i64 0
8381
#define TCG_TARGET_HAS_negsetcond_i64 1
8482
#define TCG_TARGET_HAS_add2_i64 1
@@ -118,6 +116,7 @@ extern uint64_t s390_facilities[3];
118116
#define TCG_TARGET_HAS_tst_vec 0
119117

120118
#define TCG_TARGET_extract_valid(type, ofs, len) 1
119+
#define TCG_TARGET_deposit_valid(type, ofs, len) 1
121120

122121
static inline bool
123122
tcg_target_sextract_valid(TCGType type, unsigned ofs, unsigned len)

tcg/sparc64/tcg-target-has.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ extern bool use_vis3_instructions;
3232
#define TCG_TARGET_HAS_clz_i32 0
3333
#define TCG_TARGET_HAS_ctz_i32 0
3434
#define TCG_TARGET_HAS_ctpop_i32 0
35-
#define TCG_TARGET_HAS_deposit_i32 0
3635
#define TCG_TARGET_HAS_extract2_i32 0
3736
#define TCG_TARGET_HAS_negsetcond_i32 1
3837
#define TCG_TARGET_HAS_add2_i32 1
@@ -65,7 +64,6 @@ extern bool use_vis3_instructions;
6564
#define TCG_TARGET_HAS_clz_i64 0
6665
#define TCG_TARGET_HAS_ctz_i64 0
6766
#define TCG_TARGET_HAS_ctpop_i64 0
68-
#define TCG_TARGET_HAS_deposit_i64 0
6967
#define TCG_TARGET_HAS_extract2_i64 0
7068
#define TCG_TARGET_HAS_negsetcond_i64 1
7169
#define TCG_TARGET_HAS_add2_i64 1
@@ -84,4 +82,6 @@ extern bool use_vis3_instructions;
8482

8583
#define TCG_TARGET_sextract_valid TCG_TARGET_extract_valid
8684

85+
#define TCG_TARGET_deposit_valid(type, ofs, len) 0
86+
8787
#endif

tcg/tcg-has.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
#define TCG_TARGET_HAS_clz_i64 0
3535
#define TCG_TARGET_HAS_ctz_i64 0
3636
#define TCG_TARGET_HAS_ctpop_i64 0
37-
#define TCG_TARGET_HAS_deposit_i64 0
3837
#define TCG_TARGET_HAS_extract2_i64 0
3938
#define TCG_TARGET_HAS_negsetcond_i64 0
4039
#define TCG_TARGET_HAS_add2_i64 0
@@ -48,13 +47,6 @@
4847
#define TCG_TARGET_HAS_sub2_i32 1
4948
#endif
5049

51-
#ifndef TCG_TARGET_deposit_i32_valid
52-
#define TCG_TARGET_deposit_i32_valid(ofs, len) 1
53-
#endif
54-
#ifndef TCG_TARGET_deposit_i64_valid
55-
#define TCG_TARGET_deposit_i64_valid(ofs, len) 1
56-
#endif
57-
5850
/* Only one of DIV or DIV2 should be defined. */
5951
#if defined(TCG_TARGET_HAS_div_i32)
6052
#define TCG_TARGET_HAS_div2_i32 0

0 commit comments

Comments
 (0)