Add test for memcpy expansion with hint.
2018-08-27 Martin Liska <mliska@suse.cz> * config/i386/i386.c (ix86_expand_set_or_movmem): Dump selected expansion strategy. 2018-08-27 Martin Liska <mliska@suse.cz> * gcc.dg/tree-prof/val-prof-10.c: New test. From-SVN: r263881
This commit is contained in:
parent
3d78e00879
commit
6b60ee204f
@ -1,3 +1,8 @@
|
||||
2018-08-27 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* config/i386/i386.c (ix86_expand_set_or_movmem): Dump
|
||||
selected expansion strategy.
|
||||
|
||||
2018-08-27 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* builtins.h (is_builtin_fn): Remove and fndecl_built_in_p.
|
||||
|
@ -27530,6 +27530,11 @@ ix86_expand_set_or_movmem (rtx dst, rtx src, rtx count_exp, rtx val_exp,
|
||||
issetmem,
|
||||
issetmem && val_exp == const0_rtx, have_as,
|
||||
&dynamic_check, &noalign, false);
|
||||
|
||||
if (dump_file)
|
||||
fprintf (dump_file, "Selected stringop expansion strategy: %s\n",
|
||||
stringop_alg_names[alg]);
|
||||
|
||||
if (alg == libcall)
|
||||
return false;
|
||||
gcc_assert (alg != no_stringop);
|
||||
|
@ -1,3 +1,7 @@
|
||||
2018-08-27 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* gcc.dg/tree-prof/val-prof-10.c: New test.
|
||||
|
||||
2018-08-27 Martin Liska <mliska@suse.cz>
|
||||
|
||||
PR tree-optimization/86847
|
||||
|
31
gcc/testsuite/gcc.dg/tree-prof/val-prof-10.c
Normal file
31
gcc/testsuite/gcc.dg/tree-prof/val-prof-10.c
Normal file
@ -0,0 +1,31 @@
|
||||
/* { dg-options "-O2 -fdump-rtl-expand -mtune=core2" } */
|
||||
/* { dg-skip-if "" { ! { i?86-*-* x86_64-*-* } } } */
|
||||
|
||||
long buffer1[128], buffer2[128];
|
||||
char *x;
|
||||
|
||||
void foo(long *r)
|
||||
{
|
||||
x = (char *)r;
|
||||
asm volatile("" ::: "memory");
|
||||
}
|
||||
|
||||
void
|
||||
__attribute__((noinline))
|
||||
compute()
|
||||
{
|
||||
volatile int n = 24;
|
||||
__builtin_memcpy (buffer1, buffer2, n);
|
||||
foo (&buffer1[0]);
|
||||
}
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
for (unsigned i = 0; i < 10000; i++)
|
||||
compute ();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* { dg-final-use-not-autofdo { scan-rtl-dump "Selected stringop expansion strategy: rep_byte" "expand" } } */
|
Loading…
Reference in New Issue
Block a user