Boxis R700 User Manual Page 175

  • Download
  • Add to my manuals
  • Print
  • Page
    / 392
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 174
ATI R700 Technology
ALU Instructions 9-77
Copyright © 2009 Advanced Micro Devices, Inc. All rights reserved.
Combine Separate Fraction and Exponent into Double-precision
Instructions
LDEXP_64
Description The LDEXP_64 instruction gets a 52-bit mantissa from the double-precision floating-point
value in src1.YX and a 32-bit integer exponent in src0.X, and multiplies the mantissa by
2
exponent
. The double-precision floating-point result is stored in dst.YX.
dst = src1 * 2^src0
mant = mantissa(src1)
exp = exponent(src1)
sign = sign(src1)
if (exp==0x7FF) //src1 is inf or a NaN
{
dst = src1;
}
else if (exp==0x0) //src1 is zero or a denorm
{
dst = (sign) ? 0x8000000000000000 : 0x0;
}
else //src1 is a float
{
exp+= src0;
if (exp>=0x7FF) //overflow
{
dst = {sign,inf};
}
if (src0<=0) //underflow
{
dst = {sign,0};
}
mant |= (exp<<52);
mant |= (sign<<63);
dst = mant;
}
Coissue LDEXP_64 is a two-slot instruction. The following coissues are possible:
A single LDEXP_64 instruction in slots 0 and 1, and any valid instructions in slots 2, 3, and 4.
A single LDEXP_64 instruction in slots 2 and 3, and any valid instructions in slots 0, 1, and 4.
Two LDEXP_64 instructions in slots 0, 1, 2, and 3,and any valid instruction in slot 4.
Table 9.6 Result of LDEXP_64 Instruction
src1
src0
-/+inf -/+denorm -/+0 -/+F
1
1. F is a finite floating-point value.
NaN
-/+I
2
-/+inf -/+0 -/+0 src1 * (2^src0) src0
Not -/+I -/+inf -/+0 -/+0 invalid result src0
2. I is a valid 32-bit integer value.
Page view 174
1 2 ... 170 171 172 173 174 175 176 177 178 179 180 ... 391 392

Comments to this Manuals

No comments