diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/expr.c | 9 | 
2 files changed, 13 insertions, 1 deletions
| diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2b010598469..4438b3d1b5e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Oct  5 19:04:18 2000  J"orn Rennecke <amylaar@redhat.co.uk> + +	* (convert_move): Use zero_extendpsisi2 to do an unsigned extension +	from PSImode to SImode. +  2000-10-05  Jakub Jelinek  <jakub@redhat.com>  	* emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion 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 ();  	}      } | 

