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] rs6000: Fix peephole


On Fri, May 8, 2015 at 9:38 AM, Segher Boessenkool
<segher@kernel.crashing.org> wrote:
> This peephole transforms
>
>   lis a,HI ; ori a,a,LO
>   cmpw c,a,b ; beq c,...
>
> to
>
>   xoris a,b,HI1
>   cmpwi c,a,LO1 ; beq c,...
>
> when a and c are dead after this.  But it forgets to check that a and b
> are not the same reg, generating non-sensical code.  This patch fixes that.
>
> Tested etc.; is this okay for trunk?
>
> (This peephole caused some FAILs in the testsuite after an unrelated change;
> gone after this patch).
>
>
> Segher
>
>
> 2015-05-08  Segher Boessenkool  <segher@kernel.crashing.org>
>
>         * config/rs6000/rs6000.md: Require operand inequality in one
>         of the peepholes.

Okay.

Is there an artificial testcase?

Thanks, David


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