1 /* { dg-do compile } */
2 /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
3
4 #include <stddef.h>
5
6 void *
7 memmove8 (void *to, const void *from, size_t size)
8 {
9 unsigned char s8 = size;
10 return __builtin_memmove (to, from, s8);
11 }
12
13 /* Expect assembly like:
14
15 movl 4(%ap),%r6
16 movzbl 12(%ap),%r7
17 movl 8(%ap),%r8
18 movc3 %r7,(%r8),(%r6)
19 movl %r6,%r0
20
21 */
22
23 /* { dg-final { scan-assembler "\tmovc3 " } } */