Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1028

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

}
fp_update_fpsr(sf, tmp_fp_env);
}
fp_update_psr(f
} else {
PR[p
] = 0;
2
}
// fp_ieee_recip()
fp_ieee_recip(den)
{
RECIP_TABLE[256] = {
0x3fc, 0x3f4, 0x3ec, 0x3e4, 0x3dd, 0x3d5, 0x3cd, 0x3c6,
0x3be, 0x3b7, 0x3af, 0x3a8, 0x3a1, 0x399, 0x392, 0x38b,
0x384, 0x37d, 0x376, 0x36f, 0x368, 0x361, 0x35b, 0x354,
0x34d, 0x346, 0x340, 0x339, 0x333, 0x32c, 0x326, 0x320,
0x319, 0x313, 0x30d, 0x307, 0x300, 0x2fa, 0x2f4, 0x2ee,
0x2e8, 0x2e2, 0x2dc, 0x2d7, 0x2d1, 0x2cb, 0x2c5, 0x2bf,
0x2ba, 0x2b4, 0x2af, 0x2a9, 0x2a3, 0x29e, 0x299, 0x293,
0x28e, 0x288, 0x283, 0x27e, 0x279, 0x273, 0x26e, 0x269,
0x264, 0x25f, 0x25a, 0x255, 0x250, 0x24b, 0x246, 0x241,
0x23c, 0x237, 0x232, 0x22e, 0x229, 0x224, 0x21f, 0x21b,
0x216, 0x211, 0x20d, 0x208, 0x204, 0x1ff, 0x1fb, 0x1f6,
0x1f2, 0x1ed, 0x1e9, 0x1e5, 0x1e0, 0x1dc, 0x1d8, 0x1d4,
0x1cf, 0x1cb, 0x1c7, 0x1c3, 0x1bf, 0x1bb, 0x1b6, 0x1b2,
0x1ae, 0x1aa, 0x1a6, 0x1a2, 0x19e, 0x19a, 0x197, 0x193,
0x18f, 0x18b, 0x187, 0x183, 0x17f, 0x17c, 0x178, 0x174,
0x171, 0x16d, 0x169, 0x166, 0x162, 0x15e, 0x15b, 0x157,
0x154, 0x150, 0x14d, 0x149, 0x146, 0x142, 0x13f, 0x13b,
0x138, 0x134, 0x131, 0x12e, 0x12a, 0x127, 0x124, 0x120,
0x11d, 0x11a, 0x117, 0x113, 0x110, 0x10d, 0x10a, 0x107,
0x103, 0x100, 0x0fd, 0x0fa, 0x0f7, 0x0f4, 0x0f1, 0x0ee,
0x0eb, 0x0e8, 0x0e5, 0x0e2, 0x0df, 0x0dc, 0x0d9, 0x0d6,
0x0d3, 0x0d0, 0x0cd, 0x0ca, 0x0c8, 0x0c5, 0x0c2, 0x0bf,
0x0bc, 0x0b9, 0x0b7, 0x0b4, 0x0b1, 0x0ae, 0x0ac, 0x0a9,
0x0a6, 0x0a4, 0x0a1, 0x09e, 0x09c, 0x099, 0x096, 0x094,
0x091, 0x08e, 0x08c, 0x089, 0x087, 0x084, 0x082, 0x07f,
0x07c, 0x07a, 0x077, 0x075, 0x073, 0x070, 0x06e, 0x06b,
0x069, 0x066, 0x064, 0x061, 0x05f, 0x05d, 0x05a, 0x058,
0x056, 0x053, 0x051, 0x04f, 0x04c, 0x04a, 0x048, 0x045,
0x043, 0x041, 0x03f, 0x03c, 0x03a, 0x038, 0x036, 0x033,
0x031, 0x02f, 0x02d, 0x02b, 0x029, 0x026, 0x024, 0x022,
0x020, 0x01e, 0x01c, 0x01a, 0x018, 0x015, 0x013, 0x011,
0x00f, 0x00d, 0x00b, 0x009, 0x007, 0x005, 0x003, 0x001,
};
tmp_index = den.significand{62:55};
tmp_res.significand = (1 << 63) | (RECIP_TABLE[tmp_index] << 53);
tmp_res.exponent = FP_REG_EXP_ONES - 2 - den.exponent;
tmp_res.sign = den.sign;
Volume 3: Instruction Reference
} else {
FR[f
] = fp_ieee_recip(den);
1
PR[p
] = 1;
2
}
);
1
frcpa
3:129

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents