diff options
| author | 2017-01-13 12:13:39 +0100 | |
|---|---|---|
| committer | 2017-01-13 12:58:40 +0100 | |
| commit | 5a6cbfc1d2b72ce6b20479e4d7a3048f8e9eee53 (patch) | |
| tree | 69b74a0591f747219374ceaea1532d9ec69fa8a7 /compiler | |
| parent | 5c9f90c5ecf2ff6f93ada0f7b18b46d866c59ea1 (diff) | |
MIPS32: Refined comment in java.lang.Math.abs(float/double) intrinsics
Bug: 30758343
Test: ./run-test 631-checker-fp-abs on CI20
Change-Id: Id7270c40887a0b904af59d6034b6867033c7dba3
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/optimizing/intrinsics_mips.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/optimizing/intrinsics_mips.cc b/compiler/optimizing/intrinsics_mips.cc index cda3185a45..f1ae549928 100644 --- a/compiler/optimizing/intrinsics_mips.cc +++ b/compiler/optimizing/intrinsics_mips.cc @@ -752,8 +752,9 @@ static void MathAbsFP(LocationSummary* locations, FRegister in = locations->InAt(0).AsFpuRegister<FRegister>(); FRegister out = locations->Out().AsFpuRegister<FRegister>(); - // As a "quality of implementation", rather than pure "spec compliance", it is required that - // Math.abs() clears the sign bit (but changes nothing else) for all numbers, including NaN. + // Note, as a "quality of implementation", rather than pure "spec compliance", we require that + // Math.abs() clears the sign bit (but changes nothing else) for all numbers, including NaN + // (signaling NaN may become quiet though). // // The ABS.fmt instructions (abs.s and abs.d) do exactly that when NAN2008=1 (R6). For this case, // both regular floating point numbers and NAN values are treated alike, only the sign bit is |