view gcc/testsuite/gcc.dg/lto/pr48622_0.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* { dg-lto-do link } */
/* { dg-lto-options {{-O -flto -finline-small-functions -fno-early-inlining}} } */

void abort(void);
void exit(int);

typedef unsigned int u8 __attribute__ ((mode (QI)));
u8 ashift_qi_1 (u8);

u8
ashift_qi_0 (u8 n)
{
}

u8
ashift_qi_2 (u8 n)
{
}

u8
ashift_qi_3 (u8 n)
{
}

u8
ashift_qi_4 (u8 n)
{
}

u8
ashift_qi_5 (u8 n)
{
}

u8
ashift_qi_6 (u8 n)
{
}

u8
ashift_qi_7 (u8 n)
{
}

u8
lshiftrt_qi_0 (u8 n)
{
}

u8
lshiftrt_qi_4 (u8 n)
{
}

u8
lshiftrt_qi_5 (u8 n)
{
}

u8
lshiftrt_qi_7 (u8 n)
{
}

int
main ()
{
  if (ashift_qi_0 (0xff) != (u8) ((u8) 0xff << 0))
    abort ();
  if (ashift_qi_1 (0xff) != (u8) ((u8) 0xff << 1))
    abort ();
  if (ashift_qi_2 (0xff) != (u8) ((u8) 0xff << 2))
    abort ();
  if (ashift_qi_3 (0xff) != (u8) ((u8) 0xff << 3))
    abort ();
  if (ashift_qi_4 (0xff) != (u8) ((u8) 0xff << 4))
    abort ();
  if (ashift_qi_5 (0xff) != (u8) ((u8) 0xff << 5))
    abort ();
  if (ashift_qi_6 (0xff) != (u8) ((u8) 0xff << 6))
    abort ();
  if (ashift_qi_7 (0xff) != (u8) ((u8) 0xff << 7))
    abort ();
  if (lshiftrt_qi_0 (0xff) != (u8) ((u8) 0xff >> 0))
    abort ();
  if (lshiftrt_qi_4 (0xff) != (u8) ((u8) 0xff >> 4))
    abort ();
  if (lshiftrt_qi_5 (0xff) != (u8) ((u8) 0xff >> 5))
    abort ();
  if (lshiftrt_qi_7 (0xff) != (u8) ((u8) 0xff >> 7))
    abort ();
  exit (0);
}