mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-01 23:11:02 +00:00
target/arm: Fix float16 pairwise Neon ops on big-endian hosts
In the neon_padd/pmax/pmin helpers for float16, a cut-and-paste error meant we were using the H4() address swizzler macro rather than the H2() which is required for 2-byte data. This had no effect on little-endian hosts but meant we put the result data into the destination Dreg in the wrong order on big-endian hosts. Backports 552714c0812a10e5cff239bd29928e5fcb8d8b3b
This commit is contained in:
parent
d473f66177
commit
5c6730a432
|
@ -1859,10 +1859,10 @@ DO_ABA(gvec_uaba_d, uint64_t)
|
|||
r2 = float16_##OP(m[H2(0)], m[H2(1)], fpst); \
|
||||
r3 = float16_##OP(m[H2(2)], m[H2(3)], fpst); \
|
||||
\
|
||||
d[H4(0)] = r0; \
|
||||
d[H4(1)] = r1; \
|
||||
d[H4(2)] = r2; \
|
||||
d[H4(3)] = r3; \
|
||||
d[H2(0)] = r0; \
|
||||
d[H2(1)] = r1; \
|
||||
d[H2(2)] = r2; \
|
||||
d[H2(3)] = r3; \
|
||||
}
|
||||
|
||||
DO_NEON_PAIRWISE(neon_padd, add)
|
||||
|
|
Loading…
Reference in a new issue