This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/55829] [4.8 Regression] ICE: in curr_insn_transform, at lra-constraints.c:3069 with -msse3
- From: "vmakarov at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 09 Jan 2013 18:15:52 +0000
- Subject: [Bug rtl-optimization/55829] [4.8 Regression] ICE: in curr_insn_transform, at lra-constraints.c:3069 with -msse3
- Auto-submitted: auto-generated
- References: <bug-55829-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55829
--- Comment #10 from Vladimir Makarov <vmakarov at gcc dot gnu.org> 2013-01-09 18:15:52 UTC ---
(In reply to comment #9)
> gcc now generates:
>
> movq p1(%rip), %r12 # 56 *movdi_internal_rex64/2 [length = 7]
> movq %r12, (%rsp) # 57 *movdi_internal_rex64/4 [length = 4]
> movddup (%rsp), %xmm1 # 23 *vec_concatv2df/3 [length = 5]
>
> is there a reason not to load directly from p1, to avoid extra moves:
>
> movddup p1(%rip), %xmm1
I checked reload pass, it has the same problem (and generates even worse code:
+1 insn and using nonzero displacement). It is possible to fix it, but it will
be not easy. In any case, I don't think it will fixed soon as I have more
important LRA PRs.
I'll put it on my TODO list.