summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr11001-memcpy-3.c
blob: 0f5bd561dc51edfe679c5946ef94e2d783e319ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* Ensure that we don't use 'rep movX' in the presence of register globals.  */
/* { dg-do compile } */
/* { dg-options "-Os -w" } */

extern void *memcpy (void *, const void *, __SIZE_TYPE__);

register int regvar asm("%ecx");

int foo[10];
int bar[10];

char baz[15];
char quux[15];

void
do_copy ()
{
  memcpy (foo, bar, sizeof foo);
  memcpy (baz, quux, sizeof baz);
}

/* { dg-final { scan-assembler-not "rep movsl" } } */
/* { dg-final { scan-assembler-not "rep movsb" } } */