@samitouri / QOSamiQemu / commits / fe9e904363

target/arm: Replace MO_TE -> mo_endian() for MVE helpers

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20260414005348.4767-7-philmd@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Philippe Mathieu-Daudé committed Apr 14, 2026 at 02:53 UTC fe9e904363141c56ce1f530c191b6d1e04d50f12
1 file changed +30 -17
target/arm/tcg/mve_helper.c
+30 -17
@@ -160,7 +160,7 @@ static void mve_advance_vpt(CPUARMState *env)
160 uint16_t eci_mask = mve_eci_mask(env); \
161 unsigned b, e; \
162 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
163 - MemOpIdx oi = make_memop_idx(MO_TE | MFLAG | MO_ALIGN, \
163 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MFLAG | MO_ALIGN, \
164 mmu_idx); \
165 /* \
166 * R_SXTM allows the dest reg to become UNKNOWN for abandoned \
@@ -184,7 +184,7 @@ static void mve_advance_vpt(CPUARMState *env)
184 uint16_t mask = mve_element_mask(env); \
185 unsigned b, e; \
186 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
187 - MemOpIdx oi = make_memop_idx(MO_TE | MFLAG | MO_ALIGN, \
187 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MFLAG | MO_ALIGN, \
188 mmu_idx); \
189 for (b = 0, e = 0; b < 16; b += ESIZE, e++) { \
190 if (mask & (1 << b)) { \
@@ -235,7 +235,7 @@ DO_VSTR(vstrh_w, MO_UW, 2, stw, 4, int32_t)
235 unsigned e; \
236 uint32_t addr; \
237 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
238 - MemOpIdx oi = make_memop_idx(MO_TE | MFLAG | MO_ALIGN, \
238 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MFLAG | MO_ALIGN, \
239 mmu_idx); \
240 for (e = 0; e < 16 / ESIZE; e++, mask >>= ESIZE, eci_mask >>= ESIZE) { \
241 if (!(eci_mask & 1)) { \
@@ -263,7 +263,7 @@ DO_VSTR(vstrh_w, MO_UW, 2, stw, 4, int32_t)
263 unsigned e; \
264 uint32_t addr; \
265 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
266 - MemOpIdx oi = make_memop_idx(MO_TE | MFLAG | MO_ALIGN, \
266 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MFLAG | MO_ALIGN, \
267 mmu_idx); \
268 for (e = 0; e < 16 / ESIZE; e++, mask >>= ESIZE, eci_mask >>= ESIZE) { \
269 if (!(eci_mask & 1)) { \
@@ -326,7 +326,8 @@ DO_VSTR(vstrh_w, MO_UW, 2, stw, 4, int32_t)
326 unsigned e; \
327 uint32_t addr; \
328 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
329 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
329 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
330 + mmu_idx); \
331 for (e = 0; e < 16 / 4; e++, mask >>= 4, eci_mask >>= 4) { \
332 if (!(eci_mask & 1)) { \
333 continue; \
@@ -413,7 +414,8 @@ DO_VSTR64_SG(vstrd_sg_wb_ud, ADDR_ADD, true)
414 static const uint8_t off[4] = { O1, O2, O3, O4 }; \
415 uint32_t addr, data; \
416 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
416 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
417 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
418 + mmu_idx); \
419 for (beat = 0; beat < 4; beat++, mask >>= 4) { \
420 if ((mask & 1) == 0) { \
421 /* ECI says skip this beat */ \
@@ -439,7 +441,8 @@ DO_VSTR64_SG(vstrd_sg_wb_ud, ADDR_ADD, true)
441 int y; /* y counts 0 2 0 2 */ \
442 uint16_t *qd; \
443 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
442 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
444 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
445 + mmu_idx); \
446 for (beat = 0, y = 0; beat < 4; beat++, mask >>= 4, y ^= 2) { \
447 if ((mask & 1) == 0) { \
448 /* ECI says skip this beat */ \
@@ -466,7 +469,8 @@ DO_VSTR64_SG(vstrd_sg_wb_ud, ADDR_ADD, true)
469 uint32_t *qd; \
470 int y; \
471 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
469 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
472 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
473 + mmu_idx); \
474 for (beat = 0; beat < 4; beat++, mask >>= 4) { \
475 if ((mask & 1) == 0) { \
476 /* ECI says skip this beat */ \
@@ -505,7 +509,8 @@ DO_VLD4W(vld43w, 6, 7, 8, 9)
509 uint32_t addr, data; \
510 uint8_t *qd; \
511 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
508 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
512 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
513 + mmu_idx); \
514 for (beat = 0; beat < 4; beat++, mask >>= 4) { \
515 if ((mask & 1) == 0) { \
516 /* ECI says skip this beat */ \
@@ -531,7 +536,8 @@ DO_VLD4W(vld43w, 6, 7, 8, 9)
536 int e; \
537 uint16_t *qd; \
538 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
534 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
539 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
540 + mmu_idx); \
541 for (beat = 0; beat < 4; beat++, mask >>= 4) { \
542 if ((mask & 1) == 0) { \
543 /* ECI says skip this beat */ \
@@ -556,7 +562,8 @@ DO_VLD4W(vld43w, 6, 7, 8, 9)
562 uint32_t addr, data; \
563 uint32_t *qd; \
564 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
559 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
565 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
566 + mmu_idx); \
567 for (beat = 0; beat < 4; beat++, mask >>= 4) { \
568 if ((mask & 1) == 0) { \
569 /* ECI says skip this beat */ \
@@ -587,7 +594,8 @@ DO_VLD2W(vld21w, 8, 12, 16, 20)
594 static const uint8_t off[4] = { O1, O2, O3, O4 }; \
595 uint32_t addr, data; \
596 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
590 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
597 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
598 + mmu_idx); \
599 for (beat = 0; beat < 4; beat++, mask >>= 4) { \
600 if ((mask & 1) == 0) { \
601 /* ECI says skip this beat */ \
@@ -614,7 +622,8 @@ DO_VLD2W(vld21w, 8, 12, 16, 20)
622 int y; /* y counts 0 2 0 2 */ \
623 uint16_t *qd; \
624 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
617 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
625 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
626 + mmu_idx); \
627 for (beat = 0, y = 0; beat < 4; beat++, mask >>= 4, y ^= 2) { \
628 if ((mask & 1) == 0) { \
629 /* ECI says skip this beat */ \
@@ -640,7 +649,8 @@ DO_VLD2W(vld21w, 8, 12, 16, 20)
649 uint32_t *qd; \
650 int y; \
651 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
643 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
652 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
653 + mmu_idx); \
654 for (beat = 0; beat < 4; beat++, mask >>= 4) { \
655 if ((mask & 1) == 0) { \
656 /* ECI says skip this beat */ \
@@ -679,7 +689,8 @@ DO_VST4W(vst43w, 6, 7, 8, 9)
689 uint32_t addr, data; \
690 uint8_t *qd; \
691 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
682 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
692 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
693 + mmu_idx); \
694 for (beat = 0; beat < 4; beat++, mask >>= 4) { \
695 if ((mask & 1) == 0) { \
696 /* ECI says skip this beat */ \
@@ -706,7 +717,8 @@ DO_VST4W(vst43w, 6, 7, 8, 9)
717 int e; \
718 uint16_t *qd; \
719 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
709 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
720 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
721 + mmu_idx); \
722 for (beat = 0; beat < 4; beat++, mask >>= 4) { \
723 if ((mask & 1) == 0) { \
724 /* ECI says skip this beat */ \
@@ -732,7 +744,8 @@ DO_VST4W(vst43w, 6, 7, 8, 9)
744 uint32_t addr, data; \
745 uint32_t *qd; \
746 int mmu_idx = arm_to_core_mmu_idx(arm_mmu_idx(env)); \
735 - MemOpIdx oi = make_memop_idx(MO_TE | MO_UL | MO_ALIGN, mmu_idx);\
747 + MemOpIdx oi = make_memop_idx(mo_endian(env) | MO_UL | MO_ALIGN, \
748 + mmu_idx); \
749 for (beat = 0; beat < 4; beat++, mask >>= 4) { \
750 if ((mask & 1) == 0) { \
751 /* ECI says skip this beat */ \