Backport from mainline
2014-03-28 Jakub Jelinek <jakub@redhat.com>
PR target/60693
* config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
also if addr has VOIDmode.
* gcc.target/i386/pr60693.c: New test.
From-SVN: r209268
2014-04-10 Jakub Jelinek <jakub@redhat.com>
Backport from mainline
+ 2014-03-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/60693
+ * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
+ also if addr has VOIDmode.
+
2014-03-17 Jakub Jelinek <jakub@redhat.com>
PR target/60516
static rtx
ix86_copy_addr_to_reg (rtx addr)
{
- if (GET_MODE (addr) == Pmode)
+ if (GET_MODE (addr) == Pmode || GET_MODE (addr) == VOIDmode)
return copy_addr_to_reg (addr);
else
{
Backport from mainline
2014-03-28 Jakub Jelinek <jakub@redhat.com>
+ PR target/60693
+ * gcc.target/i386/pr60693.c: New test.
+
PR c++/60689
* c-c++-common/pr60689.c: New test.
--- /dev/null
+/* PR target/60693 */
+/* { dg-do compile } */
+/* { dg-options "-O0" } */
+
+void bar (char *);
+
+void
+foo (void)
+{
+ char buf[4096];
+ __builtin_memcpy (buf, (void *) 0x8000, 4096);
+ bar (buf);
+}