diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/memset-strategy-10.c')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/memset-strategy-10.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/memset-strategy-10.c b/gcc/testsuite/gcc.target/i386/memset-strategy-10.c new file mode 100644 index 0000000..b4a93a7 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/memset-strategy-10.c @@ -0,0 +1,24 @@ +/* { dg-do compile } */ +/* { dg-options "-Os -march=x86-64 -mstringop-strategy=vector_loop -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */ +/* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ +/* { dg-final { check-function-bodies "**" "" "" { target { ! ia32 } } {^\t?\.} } } */ + +/* +**foo: +**.LFB[0-9]+: +** .cfi_startproc +** xorps %xmm0, %xmm0 +** xorl %eax, %eax +** movq %rax, 48\(%(e|r)di\) +** movups %xmm0, \(%(e|r)di\) +** movups %xmm0, 16\(%(e|r)di\) +** movups %xmm0, 32\(%(e|r)di\) +** ret +**... +*/ + +void +foo (char *a) +{ + __builtin_memset (a, 0, 56); +} |