Five fixes, for fcsel, fcvtz, fminnm, mls, and non-widening mul.
authorJim Wilson <jim.wilson@linaro.org>
Thu, 5 Jan 2017 00:05:27 +0000 (16:05 -0800)
committerJim Wilson <jim.wilson@linaro.org>
Thu, 5 Jan 2017 00:07:50 +0000 (16:07 -0800)
commitc0386d4d54d2cc33d6efc0b998fe6396bf92be15
treee97b96bb8f66695fa61e97fc61587b25881a19c7
parent6ed0191f6582a3b008277f0d2dc18d6764313ac5
Five fixes, for fcsel, fcvtz, fminnm, mls, and non-widening mul.

sim/aarch64/
* cpustate.c: Include math.h.
(aarch64_set_FP_float): Use signbit to check for signed zero.
(aarch64_set_FP_double): Likewise.
* simulator.c (do_vec_MOV_immediate, case 0x8): Add missing break.
(do_vec_mul): In all DO_VEC_WIDENING_MUL calls, make second and fourth
args same size as third arg.
(fmaxnm): Use isnan instead of fpclassify.
(fminnm, dmaxnm, dminnm): Likewise.
(do_vec_MLS): Reverse order of subtraction operands.
(dexSimpleFPCondSelect): Call aarch64_get_FP_double or
aarch64_get_FP_float to get source register contents.
(UINT_MIN, ULONG_MIN, FLOAT_UINT_MAX, FLOAT_UINT_MIN,
DOUBLE_UINT_MAX, DOUBLE_UINT_MIN, FLOAT_ULONG_MAX, FLOAT_ULONG_MIN,
DOUBLE_ULONG_MAX, DOUBLE_ULONG_MIN): New.
(do_fcvtzu): Use ULONG instead of LONG, and UINT instead of INT in
raise_exception calls.

sim/testsuite/sim/aarch64/
* fcsel.s: New.
* fcvtz.s: New.
* fminnm.s: New.
* mls.s: New.
* mul.s: New.
sim/aarch64/ChangeLog
sim/aarch64/cpustate.c
sim/aarch64/simulator.c
sim/testsuite/sim/aarch64/ChangeLog
sim/testsuite/sim/aarch64/fcsel.s [new file with mode: 0644]
sim/testsuite/sim/aarch64/fcvtz.s [new file with mode: 0644]
sim/testsuite/sim/aarch64/fminnm.s [new file with mode: 0644]
sim/testsuite/sim/aarch64/mls.s [new file with mode: 0644]
sim/testsuite/sim/aarch64/mul.s [new file with mode: 0644]