[riscv64] disable fp multiply and accumulate instructions

Some wasm interpreter tests are failing since instructions generated
by gcc such as *multiply and and* (fmadds) create intermediate
results bigger than 8 bytes which doesn't match other architectures,
hence the resulting output differs.

Port commit 13314a207e

co-authors: Jun Yuan Tan <junyuan.tan@starfivetech.com>

Change-Id: I18c0b659f30df84bb30daa176368a7e81b51063e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3811139
Commit-Queue: Yahan Lu <yahan@iscas.ac.cn>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82240}
This commit is contained in:
Lu Yahan 2022-08-05 16:00:56 +08:00 committed by V8 LUCI CQ
parent f1a4104ff9
commit d631c1efda

View File

@ -1244,6 +1244,9 @@ config("toolchain") {
defines += [ "V8_TARGET_ARCH_RISCV64" ]
defines += [ "__riscv_xlen=64" ]
defines += [ "CAN_USE_FPU_INSTRUCTIONS" ]
if (!is_clang) {
cflags += [ "-ffp-contract=off" ]
}
if (target_is_simulator) {
defines += [ "CAN_USE_RVV_INSTRUCTIONS" ]
}