extern void abort (void);

typedef long fract32;

fract32 foo (fract32 f, short n)
{
  return __builtin_bfin_shl_fr1x32 (f, n);
}

int main ()
{
  fract32 t;

  t = foo (0x7feff4ff, -4);
  if (t != 0x7feff4f)
    abort ();

  return 0;
}

