PPC/s390: [wasm][liftoff][ia32][x64] Detect NaNs for fuzzing

Port e699762e06

Original Commit Message:

    Instrument floating-point operations to set a flag if the result is NaN.
    Does not handle f32x4 and f64x2 results yet.

R=thibaudm@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
BUG=
LOG=N

Change-Id: If81861b65d2a0a98389eebb480127069fd1b5509
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2983458
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#75342}
This commit is contained in:
Milad Fa 2021-06-23 11:48:06 -04:00 committed by V8 LUCI CQ
parent 28b93bed7a
commit c1190cf9b7
3 changed files with 14 additions and 1 deletions

View File

@ -2107,6 +2107,11 @@ void LiftoffAssembler::DeallocateStackSlot(uint32_t size) {
void LiftoffAssembler::MaybeOSR() {}
void LiftoffAssembler::emit_set_if_nan(Register dst, DoubleRegister src,
ValueKind kind) {
UNIMPLEMENTED();
}
void LiftoffStackSlots::Construct(int param_slots) {
asm_->bailout(kUnsupportedArchitecture, "LiftoffStackSlots::Construct");
}

View File

@ -3458,6 +3458,11 @@ void LiftoffAssembler::DeallocateStackSlot(uint32_t size) {
void LiftoffAssembler::MaybeOSR() {}
void LiftoffAssembler::emit_set_if_nan(Register dst, DoubleRegister src,
ValueKind kind) {
UNIMPLEMENTED();
}
void LiftoffStackSlots::Construct(int param_slots) {
DCHECK_LT(0, slots_.size());
SortInPushOrder();

View File

@ -512,7 +512,10 @@
# SIMD not fully implemented yet
'test-run-wasm-simd-liftoff/*': [SKIP],
'test-gc/RunWasmLiftoff_RefTrivialCasts': [SKIP]
'test-gc/RunWasmLiftoff_RefTrivialCasts': [SKIP],
# TODO(11856): Port nondeterminism detection.
'test-liftoff-for-fuzzing/*': [SKIP],
}], # 'arch == ppc or arch == ppc64 or arch == s390 or arch == s390x'