https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89208
--- Comment #3 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
The problem is that this pattern may be used in the implementation of memcpy.
But it reminds me much to what you did with
-ftree-loop-distribute-patterns last year,
and how it is enabled with -ffreestanding, and -fno-builtin,
thus, how about this:
Index: expr.c
===================================================================
--- expr.c (revision 268337)
+++ expr.c (working copy)
@@ -1625,6 +1625,7 @@
min_size, max_size, probable_max_size))
;
else if (may_use_call
+ && flag_tree_loop_distribute_patterns
&& ADDR_SPACE_GENERIC_P (MEM_ADDR_SPACE (x))
&& ADDR_SPACE_GENERIC_P (MEM_ADDR_SPACE (y)))
{