@samitouri / QOSamiQemu / commits / df2f41dd10

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;