1/* { dg-do compile { target { ! x32 } } } */
2/* { dg-require-effective-target mempcpy } */
3/* { dg-options "-fcheck-pointer-bounds -mmpx -O2 -fdump-tree-chkpopt -fchkp-use-fast-string-functions -D_GNU_SOURCE" } */
4/* { dg-final { scan-tree-dump-not "mempcpy_nobnd" "chkpopt" } } */
5/* { dg-final { cleanup-tree-dump "chkpopt" } } */
6
7#define USE_GNU
8#include "../../gcc.dg/strlenopt.h"
9
10void test (void *buf1, void *buf2, size_t len)
11{
12  mempcpy (buf1, buf2, len);
13}
14