sparc.c (emit_soft_tfmode_cvt): Explicitly sign or zero extend SImode values being converted to TFmode before...

* config/sparc/sparc.c (emit_soft_tfmode_cvt): Explicitly sign or
	zero extend SImode values being converted to TFmode before passing
	to libcalls.

From-SVN: r139084
This commit is contained in:
Joseph Myers 2008-08-13 21:52:22 +01:00 committed by Joseph Myers
parent 9f3c92569e
commit 926930342b
2 changed files with 10 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2008-08-13 Joseph Myers <joseph@codesourcery.com>
* config/sparc/sparc.c (emit_soft_tfmode_cvt): Explicitly sign or
zero extend SImode values being converted to TFmode before passing
to libcalls.
2008-08-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine

View file

@ -2371,6 +2371,8 @@ emit_soft_tfmode_cvt (enum rtx_code code, rtx *operands)
{
case SImode:
func = "_Qp_itoq";
if (TARGET_ARCH64)
operands[1] = gen_rtx_SIGN_EXTEND (DImode, operands[1]);
break;
case DImode:
func = "_Qp_xtoq";
@ -2385,6 +2387,8 @@ emit_soft_tfmode_cvt (enum rtx_code code, rtx *operands)
{
case SImode:
func = "_Qp_uitoq";
if (TARGET_ARCH64)
operands[1] = gen_rtx_ZERO_EXTEND (DImode, operands[1]);
break;
case DImode:
func = "_Qp_uxtoq";