]> Cypherpunks repositories - gostls13.git/commit
cmd/asm, math: add s390x floating point test instructions
authorMichael Munday <mike.munday@ibm.com>
Tue, 3 Apr 2018 14:49:06 +0000 (15:49 +0100)
committerMichael Munday <mike.munday@ibm.com>
Tue, 3 Apr 2018 16:08:04 +0000 (16:08 +0000)
commit32e6461dc63b8f2577bbd9a08a5ad06ff91d173b
treee36f522fc0c4c6e8e8efcc7b95340fd4c600af74
parent7dbf9d43f5a62a604ab3e6ceb1ee7ac4f3a80d80
cmd/asm, math: add s390x floating point test instructions

Floating point test instructions allow special cases (NaN, ±∞ and
a few other useful properties) to be checked directly.

This CL adds the following instructions to the assembler:
 * LTEBR - load and test (float32)
 * LTDBR - load and test (float64)
 * TCEB  - test data class (float32)
 * TCDB  - test data class (float64)

Note that I have only added immediate versions of the 'test data
class' instructions for now as that's the only case I think the
compiler will use.

Change-Id: I3398aab2b3a758bf909bd158042234030c8af582
Reviewed-on: https://go-review.googlesource.com/104457
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Michael Munday <mike.munday@ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
19 files changed:
src/cmd/asm/internal/asm/testdata/s390x.s
src/cmd/internal/obj/s390x/a.out.go
src/cmd/internal/obj/s390x/anames.go
src/cmd/internal/obj/s390x/asmz.go
src/math/acosh_s390x.s
src/math/asinh_s390x.s
src/math/atan2_s390x.s
src/math/cbrt_s390x.s
src/math/cosh_s390x.s
src/math/erfc_s390x.s
src/math/exp_s390x.s
src/math/expm1_s390x.s
src/math/log10_s390x.s
src/math/log_s390x.s
src/math/pow_s390x.s
src/math/sin_s390x.s
src/math/sinh_s390x.s
src/math/tan_s390x.s
src/math/tanh_s390x.s