s390x/tcg: Implement XxC and checks for most FP instructions
authorDavid Hildenbrand <david@redhat.com>
Mon, 18 Feb 2019 12:27:07 +0000 (13:27 +0100)
committerCornelia Huck <cohuck@redhat.com>
Mon, 4 Mar 2019 10:49:31 +0000 (11:49 +0100)
commitdce0a58fd6427e4c9d1399ced70a04276db71a5f
treede084749ad5476ddd015a8dc456855f4032268b0
parentcf97f9ff94662433f997c40d023b90e2506655de
s390x/tcg: Implement XxC and checks for most FP instructions

With the floating-point extension facility
- CONVERT FROM LOGICAL
- CONVERT TO LOGICAL
- CONVERT TO FIXED
- CONVERT FROM FIXED
- LOAD FP INTEGER
have both, a rounding mode specification and the inexact-exception control
(XxC). Other instructions will be handled separatly.

Check for valid rounding modes and forward also the XxC (via m4). To avoid
a lot of boilerplate code and changes to the helpers, combine both, the
m3 and m4 field in a combined 32 bit TCG variable. Perform checks at
a central place, taking in account if the m3 or m4 field was ignore
before the floating-point extension facility was introduced.

Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190218122710.23639-13-david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
target/s390x/fpu_helper.c
target/s390x/translate.c