summaryrefslogtreecommitdiff
path: root/runtime/ia32/i64_stod.S
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/ia32/i64_stod.S')
-rw-r--r--runtime/ia32/i64_stod.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/runtime/ia32/i64_stod.S b/runtime/ia32/i64_stod.S
index 50ac06d..d020e2f 100644
--- a/runtime/ia32/i64_stod.S
+++ b/runtime/ia32/i64_stod.S
@@ -36,10 +36,14 @@
#include "sysdeps.h"
-// Conversion signed long -> float
+// Conversion signed long -> double-precision float
FUNCTION(__i64_stod)
fildll 4(%esp)
ret
+ // The result is in extended precision (80 bits) and therefore
+ // exact (64 bits of mantissa). It will be rounded to double
+ // precision by the caller, when transferring the result
+ // to an XMM register or a 64-bit stack slot.
ENDFUNCTION(__i64_stod)