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

Issue 284843004: Adds Math Min/Max to arm64. (Closed)

Created:
6 years, 7 months ago by zra
Modified:
6 years, 7 months ago
Reviewers:
regis
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Adds Math Min/Max to arm64. Also fixes bugs and enables tests. R=regis@google.com Committed: https://code.google.com/p/dart/source/detail?r=36116

Patch Set 1 #

Total comments: 2

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+105 lines, -42 lines) Patch
M pkg/pkg.status View 1 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_arm64.cc View 1 9 chunks +94 lines, -37 lines 0 comments Download
M tests/lib/lib.status View 1 1 chunk +0 lines, -1 line 0 comments Download
M tests/standalone/standalone.status View 1 1 chunk +9 lines, -1 line 0 comments Download
M tests/utils/utils.status View 1 1 chunk +0 lines, -3 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
zra
6 years, 7 months ago (2014-05-13 17:08:30 UTC) #1
regis
LGTM with a question https://codereview.chromium.org/284843004/diff/1/runtime/vm/intermediate_language_arm64.cc File runtime/vm/intermediate_language_arm64.cc (right): https://codereview.chromium.org/284843004/diff/1/runtime/vm/intermediate_language_arm64.cc#newcode3491 runtime/vm/intermediate_language_arm64.cc:3491: __ LoadDImmediate(result, NAN, PP); Not ...
6 years, 7 months ago (2014-05-13 17:28:15 UTC) #2
zra
https://codereview.chromium.org/284843004/diff/1/runtime/vm/intermediate_language_arm64.cc File runtime/vm/intermediate_language_arm64.cc (right): https://codereview.chromium.org/284843004/diff/1/runtime/vm/intermediate_language_arm64.cc#newcode3491 runtime/vm/intermediate_language_arm64.cc:3491: __ LoadDImmediate(result, NAN, PP); On 2014/05/13 17:28:15, regis wrote: ...
6 years, 7 months ago (2014-05-13 18:10:05 UTC) #3
zra
Committed patchset #2 manually as r36116 (presubmit successful).
6 years, 7 months ago (2014-05-13 18:10:19 UTC) #4
regis
6 years, 7 months ago (2014-05-13 18:19:02 UTC) #5
Message was sent while issue was closed.
On 2014/05/13 18:10:05, zra wrote:
>
https://codereview.chromium.org/284843004/diff/1/runtime/vm/intermediate_lang...
> File runtime/vm/intermediate_language_arm64.cc (right):
> 
>
https://codereview.chromium.org/284843004/diff/1/runtime/vm/intermediate_lang...
> runtime/vm/intermediate_language_arm64.cc:3491: __ LoadDImmediate(result, NAN,
> PP);
> On 2014/05/13 17:28:15, regis wrote:
> > Not specific to this cl, but I wonder how we handle +/- infinity. As far as
I
> > remember, these should be non signaling NaNs. However, the ARM instruction
> fcmpd
> > sets the V flag for any type of NaN.
> > 
> > I do not know what the specification of Min/Max says for +/- infinity.
> 
> Any operation on a signaling NaN generates an exception. The only way to
> generate a signaling NaN in Dart, as far as I can tell, is to write one into
an
> int64 typed array, and extract after viewing as a Float64 array, for example.
> Otherwise, operations on quiet NaN's can only give you back another quiet NaN.
> (That's true for both ARM and Dart, and includes min and max. If either
operand
> is NaN the result is NaN.) Not sure if that answers your concern. Let's chat
> more tomorrow.

I wrongly assumed that +/- infinities are NaNs. There are not. So we are good.
Sorry for my confusion. Thanks!

Powered by Google App Engine
This is Rietveld 408576698