This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] MIPS: remove comparison modes in branches + combiner fix


I write:
> Index: gcc/combine.c
> ===================================================================
> --- gcc/combine.c	(revision 108488)
> +++ gcc/combine.c	(working copy)
> @@ -6356,7 +6356,9 @@ make_extraction (enum machine_mode mode,
>  	}
>        else if (REG_P (inner))
>  	{
> -	  if (tmode != inner_mode)
> +	  if (tmode != inner_mode
> +	      && TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (tmode),
> +					GET_MODE_BITSIZE (inner_mode)))
>  	    {
>  	      /* We can't call gen_lowpart in a DEST since we
>  		 always want a SUBREG (see below) and it would sometimes

This part is incorrect of course because now we unconditionally run
the else arm even if tmode != inner_mode.  I don't know what I was
thinking.  I withdraw the patch.

Adam


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]