summaryrefslogtreecommitdiffstats
path: root/sys/dev/isa/it.c
diff options
context:
space:
mode:
authormartynas <martynas@openbsd.org>2008-10-07 22:06:29 +0000
committermartynas <martynas@openbsd.org>2008-10-07 22:06:29 +0000
commita657e0a74dbd34bc3296ba63e7e4836cc1f62aef (patch)
tree388577df6b9745501b222f5617e91332275fc623 /sys/dev/isa/it.c
parentMove dev->driver over to being a pointer to a const struct, instead of stupidly (diff)
downloadwireguard-openbsd-a657e0a74dbd34bc3296ba63e7e4836cc1f62aef.tar.xz
wireguard-openbsd-a657e0a74dbd34bc3296ba63e7e4836cc1f62aef.zip
unbreak ieeefp emulation code wrt converting double to unsigned
long ints for alpha. we've got only one instruction (cvttq) to convert double-t to quadword, and float64_to_int64 did not take into account the unsigned conversions therefore, overflow always occured, and half of the unsigned range (LONG_MAX .. ULONG_MAX) was broken introduce roundAndPackInt64NoOverflow and float64_to_int64_no_overflow for softfloat, that works with unsigned integers as well. note that this will return zero for nan/inf/oflow/uflow, raising exception flag perl is happy now looked over by miod@ tested by naddy@, and by me on nick@'s alpha
Diffstat (limited to 'sys/dev/isa/it.c')
0 files changed, 0 insertions, 0 deletions