Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(328)

Issue 199083005: A64: Fix a few simulation inaccuracies. (Closed)

Created:
6 years, 9 months ago by jbramley
Modified:
6 years, 9 months ago
CC:
v8-dev
Visibility:
Public.

Description

A64: Fix a few simulation inaccuracies. - Return the correct NaN when an invalid operation generates a NaN. - When one or more operands are NaN, handle them as the processor would, prioritising signalling NaNs and making them quiet. - Fix fmadd and related instructions: - Fnmadd is fma(-n, m, -a), not -fma(n, m, a). - Some common libc implementations incorrectly implement fma for zero results, so work around these cases. - Replace some unreliable tests. This patch also adds support for Default-NaN mode, since once all the other work was done, it only required a couple of lines of code. Default-NaN mode was used for an optimisation in ARM, and it should now be possible to apply the same optimisation to A64. BUG= R=jochen@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=19927

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1342 lines, -367 lines) Patch
M src/a64/constants-a64.h View 1 chunk +9 lines, -3 lines 0 comments Download
M src/a64/instructions-a64.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/a64/simulator-a64.h View 4 chunks +37 lines, -4 lines 0 comments Download
M src/a64/simulator-a64.cc View 11 chunks +267 lines, -56 lines 0 comments Download
M src/a64/utils-a64.h View 4 chunks +27 lines, -5 lines 0 comments Download
M test/cctest/test-assembler-a64.cc View 18 chunks +998 lines, -299 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
jbramley
6 years, 9 months ago (2014-03-13 17:20:27 UTC) #1
jochen (gone - plz use gerrit)
lgtm
6 years, 9 months ago (2014-03-14 09:57:58 UTC) #2
jbramley
6 years, 9 months ago (2014-03-14 10:24:05 UTC) #3
Message was sent while issue was closed.
Committed patchset #1 manually as r19927 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698