view gcc/testsuite/gcc.target/powerpc/combine-2-2.c @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents 84e7813d76e9
children
line wrap: on
line source

/* { dg-options "-O2" } */

/* PR85160 */

/* Originally, the "x >> 14" are CSEd away (eventually becoming a srawi
   instruction), and the two ANDs remain separate instructions because
   combine cannot deal with this.

   Now that combine knows how to combine two RTL insns into two, it manages
   to make this just the sum of two rlwinm instructions.  */

int f(int x)
{
  return ((x >> 14) & 6) + ((x >> 14) & 4);
}

/* { dg-final { scan-assembler-not {\msrawi\M} } } */