tcg: Fix out-of-line generic vector compares

A mistake in the type passed to sizeof, that happens to work
when the out-of-line fallback itself is using host vectors,
but fails when using only the base types.

Backports commit 6cb1d3b8517572031a22675280ec642972cdb395 from qemu
This commit is contained in:
Richard Henderson 2018-04-07 23:05:12 -04:00 committed by Lioncash
parent b25de410a9
commit e0903adacf
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -705,7 +705,7 @@ void HELPER(NAME)(void *d, void *a, void *b, uint32_t desc) \
{ \ { \
intptr_t oprsz = simd_oprsz(desc); \ intptr_t oprsz = simd_oprsz(desc); \
intptr_t i; \ intptr_t i; \
for (i = 0; i < oprsz; i += sizeof(vec64)) { \ for (i = 0; i < oprsz; i += sizeof(TYPE)) { \
*(TYPE *)(d + i) = DO_CMP0(*(TYPE *)(a + i) OP *(TYPE *)(b + i)); \ *(TYPE *)(d + i) = DO_CMP0(*(TYPE *)(a + i) OP *(TYPE *)(b + i)); \
} \ } \
clear_high(d, oprsz, desc); \ clear_high(d, oprsz, desc); \