+ /*
+ * If the integer portion overflowed, mask out the fractional
+ * bits in the double word instead of cvdl-ing.
+ */
+ ldd 4(fp)
+ std r0 # (r0,r1) = value
+ shrl $23,r0,r2 # extract sign,exponent of value
+ andl2 $255,r2 # exponent
+ subl2 $152,r2 # e-152
+ /*
+ * If it overflowed then value>=2^31 and e>=160
+ * so we mask only r1 (low bits of fraction), not r0
+ */
+ mnegl $1,r3
+ shrl r2,r3,r3 # -1>>(e-152) is neg mask to clear fraction
+ mcoml r3,r3 # complement mask
+ andl2 r3,r1 # mask off truly fractional bits from fraction
+ ldd r0 # now (r0,r1) = integerized value
+ std *12(fp) # *iptr = integerized