This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/49515] [4.7 Regression] gcc.dg/torture/tls/thr-init-2.c -O2 -fpic execution test failure
- From: "rth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 23 Jun 2011 15:39:23 +0000
- Subject: [Bug target/49515] [4.7 Regression] gcc.dg/torture/tls/thr-init-2.c -O2 -fpic execution test failure
- Auto-submitted: auto-generated
- References: <bug-49515-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49515
--- Comment #1 from Richard Henderson <rth at gcc dot gnu.org> 2011-06-23 15:39:19 UTC ---
(In reply to comment #0)
> Does !dtprello relocation need live $16 register? The relevant patterns in
> alpha.md do not model that dependancy.
No, DTPREL relocations are constants. They are the offset to be added
to a TLSLDM base value. You can see that happening both in the old and
new code sequences.
The code difference you show cannot be the real problem. The register
allocator has made a poorer choice in 4.7, leading to an extra move,
but the code that you show is exactly equivalent.
Is linker relaxation messing with this code sequence, perhaps?