aboutsummaryrefslogtreecommitdiff
path: root/cpus-common.c
diff options
context:
space:
mode:
authorDavid Hildenbrand <david@redhat.com>2019-02-18 13:26:56 +0100
committerCornelia Huck <cohuck@redhat.com>2019-03-04 11:49:31 +0100
commitfc7cc951b606c9ea9044cd4b96cbdf9720761c64 (patch)
tree0efb61480e33726cf17dfe02ed9c5503dd726ca5 /cpus-common.c
parent6d9303322ed9580ff6c61e38a427b549410464c7 (diff)
downloadqemu-fc7cc951b606c9ea9044cd4b96cbdf9720761c64.zip
qemu-fc7cc951b606c9ea9044cd4b96cbdf9720761c64.tar.gz
qemu-fc7cc951b606c9ea9044cd4b96cbdf9720761c64.tar.bz2
s390x/tcg: Fix TEST DATA CLASS instructions
Let's detect normal and denormal ("subnormal") numbers reliably. Also test for quiet NaN's. As only one class is possible, test common cases first. While at it, use a better check to test for the mask bits in the data class mask. The data class mask has 12 bits, whereby bit 0 is the leftmost bit and bit 11 the rightmost bit. In the PoP an easy to read table with the numbers is provided for the VECTOR FP TEST DATA CLASS IMMEDIATE instruction, the table for TEST DATA CLASS is more confusing as it is based on 64 bit values. Factor the checks out into separate functions, as they will also be needed for floating point vector instructions. We can use a makro to generate the functions. Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20190218122710.23639-2-david@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'cpus-common.c')
0 files changed, 0 insertions, 0 deletions