231c231,233
< AA64FpDestP0_uw = (uint32_t)data;
---
> AA64FpDestP0_uw = isBigEndian64(xc->tcBase())
> ? (data >> 32)
> : (uint32_t)data;
235c237,239
< AA64FpDest2P0_uw = (data >> 32);
---
> AA64FpDest2P0_uw = isBigEndian64(xc->tcBase())
> ? (uint32_t)data
> : (data >> 32);
242,243c246,251
< AA64FpDestP0_uw = (uint32_t)Mem_tud[0];
< AA64FpDestP1_uw = (uint32_t)(Mem_tud[0] >> 32);
---
> uint64_t data_a = cSwap(Mem_tud[0],
> isBigEndian64(xc->tcBase()));
> uint64_t data_b = cSwap(Mem_tud[1],
> isBigEndian64(xc->tcBase()));
> AA64FpDestP0_uw = (uint32_t)data_a;
> AA64FpDestP1_uw = (uint32_t)(data_a >> 32);
246,247c254,255
< AA64FpDest2P0_uw = (uint32_t)Mem_tud[1];
< AA64FpDest2P1_uw = (uint32_t)(Mem_tud[1] >> 32);
---
> AA64FpDest2P0_uw = (uint32_t)data_b;
> AA64FpDest2P1_uw = (uint32_t)(data_b >> 32);
257,258c265,270
< XDest = sext<32>((uint32_t)data);
< XDest2 = sext<32>(data >> 32);
---
> XDest = isBigEndian64(xc->tcBase())
> ? sext<32>(data >> 32)
> : sext<32>((uint32_t)data);
> XDest2 = isBigEndian64(xc->tcBase())
> ? sext<32>((uint32_t)data)
> : sext<32>(data >> 32);
262,263c274,277
< XDest = Mem_tud[0];
< XDest2 = Mem_tud[1];
---
> XDest = cSwap(Mem_tud[0],
> isBigEndian64(xc->tcBase()));
> XDest2 = cSwap(Mem_tud[1],
> isBigEndian64(xc->tcBase()));
270,271c284,289
< XDest = (uint32_t)data;
< XDest2 = data >> 32;
---
> XDest = isBigEndian64(xc->tcBase())
> ? (data >> 32)
> : (uint32_t)data;
> XDest2 = isBigEndian64(xc->tcBase())
> ? (uint32_t)data
> : (data >> 32);
275,276c293,296
< XDest = Mem_tud[0];
< XDest2 = Mem_tud[1];
---
> XDest = cSwap(Mem_tud[0],
> isBigEndian64(xc->tcBase()));
> XDest2 = cSwap(Mem_tud[1],
> isBigEndian64(xc->tcBase()));