target/mips: Remove unnecessary target_ulong uses in LD/ST Multiple
@do_r31 is a boolean, @base_reglist an unsigned size and @i an unsigned index. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20260417035734.32334-3-philmd@linaro.org>
Philippe Mathieu-Daudé committed
Apr 16, 2026 at 22:53 UTC
df2f41dd10e0aef597e467a6dbd92f4f8bd4d85d
1 file changed
+12
-20
target/mips/tcg/ldst_helper.c
+12
-20
@@ -216,13 +216,11 @@ void helper_lwm(CPUMIPSState *env, target_ulong addr, target_ulong reglist,
216
{
217
MemOpIdx oi = memop_idx;
218
unsigned mem_idx = get_mmuidx(oi);
219
- target_ulong base_reglist = reglist & 0xf;
220
- target_ulong do_r31 = reglist & 0x10;
219
+ unsigned base_reglist = reglist & 0xf;
220
+ bool do_r31 = reglist & 0x10;
221
222
if (base_reglist > 0 && base_reglist <= ARRAY_SIZE(multiple_regs)) {
223
- target_ulong i;
224
-
225
- for (i = 0; i < base_reglist; i++) {
223
+ for (unsigned i = 0; i < base_reglist; i++) {
224
env->active_tc.gpr[multiple_regs[i]] =
225
(target_long)cpu_ldl_mmuidx_ra(env, addr, mem_idx, GETPC());
226
addr += 4;
@@ -240,13 +238,11 @@ void helper_swm(CPUMIPSState *env, target_ulong addr, target_ulong reglist,
238
{
239
MemOpIdx oi = memop_idx;
240
unsigned mem_idx = get_mmuidx(oi);
243
- target_ulong base_reglist = reglist & 0xf;
244
- target_ulong do_r31 = reglist & 0x10;
241
+ unsigned base_reglist = reglist & 0xf;
242
+ bool do_r31 = reglist & 0x10;
243
244
if (base_reglist > 0 && base_reglist <= ARRAY_SIZE(multiple_regs)) {
247
- target_ulong i;
248
-
249
- for (i = 0; i < base_reglist; i++) {
245
+ for (unsigned i = 0; i < base_reglist; i++) {
246
cpu_stl_mmuidx_ra(env, addr, env->active_tc.gpr[multiple_regs[i]],
247
mem_idx, GETPC());
248
addr += 4;
@@ -264,13 +260,11 @@ void helper_ldm(CPUMIPSState *env, target_ulong addr, target_ulong reglist,
260
{
261
MemOpIdx oi = memop_idx;
262
unsigned mem_idx = get_mmuidx(oi);
267
- target_ulong base_reglist = reglist & 0xf;
268
- target_ulong do_r31 = reglist & 0x10;
263
+ unsigned base_reglist = reglist & 0xf;
264
+ bool do_r31 = reglist & 0x10;
265
266
if (base_reglist > 0 && base_reglist <= ARRAY_SIZE(multiple_regs)) {
271
- target_ulong i;
272
-
273
- for (i = 0; i < base_reglist; i++) {
267
+ for (unsigned i = 0; i < base_reglist; i++) {
268
env->active_tc.gpr[multiple_regs[i]] =
269
cpu_ldq_mmuidx_ra(env, addr, mem_idx, GETPC());
270
addr += 8;
@@ -288,13 +282,11 @@ void helper_sdm(CPUMIPSState *env, target_ulong addr, target_ulong reglist,
282
{
283
MemOpIdx oi = memop_idx;
284
unsigned mem_idx = get_mmuidx(oi);
291
- target_ulong base_reglist = reglist & 0xf;
292
- target_ulong do_r31 = reglist & 0x10;
285
+ unsigned base_reglist = reglist & 0xf;
286
+ bool do_r31 = reglist & 0x10;
287
288
if (base_reglist > 0 && base_reglist <= ARRAY_SIZE(multiple_regs)) {
295
- target_ulong i;
296
-
297
- for (i = 0; i < base_reglist; i++) {
289
+ for (unsigned i = 0; i < base_reglist; i++) {
290
cpu_stq_mmuidx_ra(env, addr, env->active_tc.gpr[multiple_regs[i]],
291
mem_idx, GETPC());
292
addr += 8;