summaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2000-10-05 18:07:28 +0000
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2000-10-05 18:07:28 +0000
commit12882c87aa51863685a66e9193bbbfbcd60c6c9d (patch)
tree4a670a13a86a494af80f63afcd181428ad56cde0 /gcc/expr.c
parent3f980cf79d678288be2dff76bfb96aa8a394bfb0 (diff)
downloadgcc-12882c87aa51863685a66e9193bbbfbcd60c6c9d.tar.gz
* (convert_move): Use zero_extendpsisi2 to do an unsigned extension
from PSImode to SImode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36729 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 01859220d9b..ee68dff23ed 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1005,12 +1005,19 @@ convert_move (to, from, unsignedp)
else
{
#ifdef HAVE_extendpsisi2
- if (HAVE_extendpsisi2)
+ if (! unsignedp && HAVE_extendpsisi2)
{
emit_unop_insn (CODE_FOR_extendpsisi2, to, from, UNKNOWN);
return;
}
#endif /* HAVE_extendpsisi2 */
+#ifdef HAVE_zero_extendpsisi2
+ if (unsignedp && HAVE_zero_extendpsisi2)
+ {
+ emit_unop_insn (CODE_FOR_zero_extendpsisi2, to, from, UNKNOWN);
+ return;
+ }
+#endif /* HAVE_zero_extendpsisi2 */
abort ();
}
}