/* When the specified length exceeds one of the arguments of the call to memcmp, 
   the call to memcmp should NOT be inlined.  */
/* { dg-do compile } */
/* { dg-options "-O2 -Wno-stringop-overread" } */

typedef struct { char s[8]; int x; } S;

__attribute__ ((noinline)) int
f1 (S * s)
{
  int result = 0;
  result += __builtin_memcmp (s->s, "a", 3); 
  return result;
}

__attribute__ ((noinline)) int
f2 (char *p)
{
  int result = 0;
  result += __builtin_memcmp (p, "a", 3); 
  return result;
}

int main (void)
{
  S ss = {{'a','b','c'}, 2};
  char *s = "abcd";

  if (f1 (&ss) < 0 || f2 (s) < 0)
    __builtin_abort ();

  return 0;

}

/* { dg-final { scan-assembler-times "memcmp" 2 } } */
