This little program: int main() { char buf[4096]; memcpy(buf, (void *)0xffffffffff600000, 4096); return 0; } does this: $ gcc ice.c ice.c: In function ‘main’: ice.c:4:3: warning: incompatible implicit declaration of built-in function ‘memcpy’ [enabled by default] memcpy(buf, (void *)0xffffffffff600000, 4096); ^ ice.c:4:9: internal compiler error: in ix86_copy_addr_to_reg, at config/i386/i386.c:21886 memcpy(buf, (void *)0xffffffffff600000, 4096); ^ Please submit a full bug report, with preprocessed source if appropriate. See <http://bugzilla.redhat.com/bugzilla> for instructions. Preprocessed source stored into /tmp/ccJqACry.out file, please attach this to your bugreport. This is gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7).
Started with r203486.
And with r204338 on the 4.8 branch.
Created attachment 32472 [details] gcc49-pr60693.patch Untested fix.
Author: jakub Date: Fri Mar 28 19:31:17 2014 New Revision: 208915 URL: http://gcc.gnu.org/viewcvs?rev=208915&root=gcc&view=rev Log: 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. Added: trunk/gcc/testsuite/gcc.target/i386/pr60693.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/testsuite/ChangeLog
Fixed on the trunk so far.
Author: jakub Date: Thu Apr 10 07:57:09 2014 New Revision: 209268 URL: http://gcc.gnu.org/viewcvs?rev=209268&root=gcc&view=rev Log: 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. Added: branches/gcc-4_8-branch/gcc/testsuite/gcc.target/i386/pr60693.c Modified: branches/gcc-4_8-branch/gcc/ChangeLog branches/gcc-4_8-branch/gcc/config/i386/i386.c branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
Fixed.
*** Bug 61988 has been marked as a duplicate of this bug. ***
*** Bug 63490 has been marked as a duplicate of this bug. ***