fix some oss-fuzz (#1229)
* fix oss-fuzz 18138. * fix oss-fuzz 20079. * fix oss-fuzz 20209. * fix oss-fuzz 20210. * fix oss-fuzz 20262. * rollback. * rollback. * fix oss-fuzz 20079. * fix oss-fuzz 20179. * fix oss-fuzz 20195. * fix oss-fuzz 20206. * fix oss-fuzz 20207. * fix oss-fuzz 20265. * fix oss-fuzz 20285. * fix oss-fuzz 20868. * fix oss-fuzz 20908. * fix oss-fuzz 20909. * fix oss-fuzz 20914. * fix oss-fuzz 20922. * fix oss-fuzz 20928. * remove warnigs. * fix oss-fuzz 20961. * fix oss-fuzz 21005. * remove clang warnings. * fix oss-fuzz 21043. * fix oss-fuzz 21047. * fix oss-fuzz 21050. * fix oss-fuzz 21219. * fix oss-fuzz 21380. * fix oss-fuzz 21455. * fix oss-fuzz 21458.
This commit is contained in:
@ -688,7 +688,7 @@ uint64_t HELPER(neon_shl_s64)(uint64_t valop, uint64_t shiftop)
|
|||||||
} else if (tmp < 0) { \
|
} else if (tmp < 0) { \
|
||||||
dest = (src1 + (1 << (-1 - tmp))) >> -tmp; \
|
dest = (src1 + (1 << (-1 - tmp))) >> -tmp; \
|
||||||
} else { \
|
} else { \
|
||||||
dest = src1 << tmp; \
|
dest = (uint64_t)src1 << tmp; \
|
||||||
}} while (0)
|
}} while (0)
|
||||||
NEON_VOP(rshl_s8, neon_s8, 4)
|
NEON_VOP(rshl_s8, neon_s8, 4)
|
||||||
NEON_VOP(rshl_s16, neon_s16, 2)
|
NEON_VOP(rshl_s16, neon_s16, 2)
|
||||||
|
@ -105,7 +105,7 @@ void helper_idivw_AX(CPUX86State *env, target_ulong t0)
|
|||||||
if (den == 0) {
|
if (den == 0) {
|
||||||
raise_exception(env, EXCP00_DIVZ);
|
raise_exception(env, EXCP00_DIVZ);
|
||||||
}
|
}
|
||||||
q = (num / den);
|
q = ((int64_t)num / den);
|
||||||
if (q != (int16_t)q) {
|
if (q != (int16_t)q) {
|
||||||
raise_exception(env, EXCP00_DIVZ);
|
raise_exception(env, EXCP00_DIVZ);
|
||||||
}
|
}
|
||||||
|
@ -1415,7 +1415,7 @@ void glue(helper_phaddw, SUFFIX)(CPUX86State *env, Reg *d, Reg *s)
|
|||||||
|
|
||||||
void glue(helper_phaddd, SUFFIX)(CPUX86State *env, Reg *d, Reg *s)
|
void glue(helper_phaddd, SUFFIX)(CPUX86State *env, Reg *d, Reg *s)
|
||||||
{
|
{
|
||||||
d->L(0) = (int32_t)d->L(0) + (int32_t)d->L(1);
|
d->L(0) = (int64_t)d->L(0) + (int32_t)d->L(1);
|
||||||
XMM_ONLY(d->L(1) = (int32_t)d->L(2) + (int32_t)d->L(3));
|
XMM_ONLY(d->L(1) = (int32_t)d->L(2) + (int32_t)d->L(3));
|
||||||
d->L((1 << SHIFT) + 0) = (uint32_t)((int32_t)s->L(0) + (uint32_t)s->L(1));
|
d->L((1 << SHIFT) + 0) = (uint32_t)((int32_t)s->L(0) + (uint32_t)s->L(1));
|
||||||
XMM_ONLY(d->L(3) = (int32_t)s->L(2) + (int32_t)s->L(3));
|
XMM_ONLY(d->L(3) = (int32_t)s->L(2) + (int32_t)s->L(3));
|
||||||
|
Reference in New Issue
Block a user