[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/9] target/arm: Fixups for ARM_FEATURE_V8_FP16
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH 0/9] target/arm: Fixups for ARM_FEATURE_V8_FP16 |
Date: |
Tue, 24 Apr 2018 15:22:51 -1000 |
When running the gcc testsuite with current aarch64-linux-user,
the testsuite detects the presence of the fp16 extension and
enables lots of extra tests for builtins.
Quite a few of these new tests fail because we missed implementing
some instructions. We really should go back and verify that nothing
else is missing from this (rather large) extension.
In addition, it tests some edge conditions on data that show flaws
in the way we were performing integer<->fp conversion; particularly
with respect to scaled conversion.
r~
PS: FWIW, this was written against my tgt-arm-sve-9 tree, since I
was trying to test sve as generated by gcc. I don't *think* there
are any dependencies on any of the sve patches, but I didn't check.
PPS: There are two more failures that might be qemu fp16 failures,
but those are SIGSEGV. This patch set cures all of the SIGILL and
(subsequent) SIGABRT type failures within the testsuite.
Richard Henderson (9):
target/arm: Implement vector shifted SCVF/UCVF for fp16
target/arm: Implement vector shifted FCVT for fp16
target/arm: Fix float16 to/from int16
target/arm: Clear SVE high bits for FMOV
target/arm: Implement FMOV (general) for fp16
target/arm: Implement FCVT (scalar,integer) for fp16
target/arm: Implement FCVT (scalar,fixed-point) for fp16
target/arm: Implement FP data-processing (2 source) for fp16
target/arm: Implement FP data-processing (3 source) for fp16
target/arm/helper.h | 6 +
target/arm/helper.c | 87 ++++++++++-
target/arm/translate-a64.c | 371 +++++++++++++++++++++++++++++++++++++--------
3 files changed, 399 insertions(+), 65 deletions(-)
--
2.14.3