http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58759
Jeffrey A. Law <law at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vmakarov at redhat dot com --- Comment #5 from Jeffrey A. Law <law at redhat dot com> --- Really looks like an LRA/IRA issue to me. The problem insn doesn't exist until reloading. It gets created here: #0 make_insn_raw (pattern=0x7ffff0308000) at /home/gcc/GIT/gcc/gcc/emit-rtl.c:3654 #1 0x0000000000789ead in emit_insn (x=0x7ffff0308000) at /home/gcc/GIT/gcc/gcc/emit-rtl.c:4737 #2 0x0000000000df5214 in ix86_expand_move (mode=SImode, operands=0x7fffffffdb60) at /home/gcc/GIT/gcc/gcc/config/i386/i386.c:16419 #3 0x0000000000eb7484 in gen_movsi (operand0=0x7ffff0300fe0, operand1=0x7ffff03072a0) at /home/gcc/GIT/gcc/gcc/config/i386/i386.md:1788 #4 0x00000000007d0609 in insn_gen_fn::operator() (this=0x1512cd0 <insn_data+99216>, a0=0x7ffff0300fe0, a1=0x7ffff03072a0) at /home/gcc/GIT/gcc/gcc/recog.h:284 #5 0x00000000007b4d94 in emit_move_insn_1 (x=0x7ffff0300fe0, y=0x7ffff03072a0) at /home/gcc/GIT/gcc/gcc/expr.c:3447 #6 0x00000000009dd1c3 in gen_move_insn (x=0x7ffff0300fe0, y=0x7ffff03072a0) at /home/gcc/GIT/gcc/gcc/optabs.c:4812 #7 0x000000000097534a in emit_spill_move (to_p=false, mem_pseudo=0x7ffff03072a0, val=0x7ffff0300fe0) at /home/gcc/GIT/gcc/gcc/lra-constraints.c:880 #8 0x000000000097eb18 in split_reg (before_p=false, original_regno=115, insn=0x7ffff02ea400, next_usage_insns=0x7ffff0304828) at /home/gcc/GIT/gcc/gcc/lra-constraints.c:4628 #9 0x0000000000980eee in inherit_in_ebb (head=0x7ffff02fa870, tail=0x7ffff0304828) at /home/gcc/GIT/gcc/gcc/lra-constraints.c:5244 #10 0x00000000009811e8 in lra_inheritance () at /home/gcc/GIT/gcc/gcc/lra-constraints.c:5311 #11 0x000000000096b92d in lra (f=0x0) at /home/gcc/GIT/gcc/gcc/lra.c:2338 #12 0x000000000091d079 in do_reload () at /home/gcc/GIT/gcc/gcc/ira.c:4686 We've had numerous problems with reload in the past trying to store into readonly memory due to reloading values with known equivalent memory locations (as is the case here). I wouldn't be surprised to see some of the same problems showing up in IRA. Vlad, can you take a look?