optabs.c (expand_float): Convert unsigned integer as signed only if it provides suffi...
authorJanis Johnson <janis187@us.ibm.com>
Wed, 5 Sep 2007 22:16:33 +0000 (22:16 +0000)
committerJanis Johnson <janis@gcc.gnu.org>
Wed, 5 Sep 2007 22:16:33 +0000 (22:16 +0000)
commitbe677dc12a6e687d24d375089ae2025fcfad4c9c
tree72280026eaa73c9852ddb3c7c02af486aa283ed6
parent7336815f6fa8c43e6883a46ef3e32f2bee920ebc
optabs.c (expand_float): Convert unsigned integer as signed only if it provides sufficient accuracy...

gcc/
* optabs.c (expand_float): Convert unsigned integer as signed only
if it provides sufficient accuracy; add mode argument to real_2expN.
(expand_fix): Fix comment typos; extend binary float into mode
wider than destination for converion to unsigned integer; add mode
argument to real_2expN.
* real.c (real_2expN): Add mode argument to special-case decimal
float values.
* real.h (real_2expN): Ditto.
* fixed-value.c (check_real_for_fixed_mode): Add mode argument to
real_2expN.
(fixed_from_string): Ditto.
(fixed_to_decimal): Ditto.
(fixed_convert_from_real): Ditto.
(real_convert_from_fixed): Ditto.
* config/rs6000/rs6000.md (FP): Include DD and TD modes.
* config/rs6000/dfp.md (extendddtd2, adddd3, addtd3, subdd3, subtd3,
muldd3, multd3, divdd3, divtd3, cmpdd_internal1, cmptd_internal1,
floatditd2, ftruncdd2, fixdddi2, ftrunctd2, fixddi2): New.

gcc/testsuite/
* gcc.target/powerpc/dfp-dd.c: New test.
* gcc.target/powerpc/dfp-td.c: New test.

From-SVN: r128156
gcc/ChangeLog
gcc/config/rs6000/dfp.md
gcc/config/rs6000/rs6000.md
gcc/fixed-value.c
gcc/optabs.c
gcc/real.c
gcc/real.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/dfp-dd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dfp-td.c [new file with mode: 0644]