diff options
author | 2023-02-03 15:40:43 +0000 | |
---|---|---|
committer | 2023-02-22 11:17:50 +0000 | |
commit | 2f8c68d4fcd6b650632a9cee6409e3643bac1b26 (patch) | |
tree | 3fd2d73bed36f2bbc2d3dcc88fb3c5b6fcd0dedf /compiler/optimizing/graph_checker.h | |
parent | b2048165a1ef5ece18b94493ac30cd5e03860f45 (diff) |
riscv64: add float NaN-boxing in `BuildNativeCallFrameStateMachine`.
RISC-V manual, the D extension chapter, explains NaN boxing:
When multiple floating-point precisions are supported, valid values of
narrower n-bit types, n < FLEN, are represented in the lower n bits of
an FLEN-bit NaN value, in a process termed NaN-boxing. The upper bits
of a valid NaN-boxed value must be all 1s. Valid NaN-boxed n-bit
values therefore appear as negative quiet NaNs (qNaNs) when viewed as
any wider m-bit value, n < m <= FLEN. Any operation that writes a
narrower result to an f register must write all 1s to the uppermost
FLEN−n bits to yield a legal NaN-boxed value.
Test: lunch aosp_riscv64-userdebug \
&& art/tools/buildbot-build.sh --target
Change-Id: If75a7ad277f56909d512cb681e775135c1420d4d
Diffstat (limited to 'compiler/optimizing/graph_checker.h')
0 files changed, 0 insertions, 0 deletions