Il 19/03/2012 20:13, Uros Bizjak ha scritto: > 2012-03-19 Uros Bizjak <ubiz...@gmail.com> > > * config/i386/i386.c (get_thread_pointer): Add tp_mode argument. > Generate ZERO_EXTEND in place if GET_MODE (tp) != tp_mode. > (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>: Always generate > DImode UNSPEC_GOTNTPOFF references on TARGET_64BIT. > (ix86_decompose_address): Allow zero extended UNSPEC_TP references. > > Revert: > 2012-03-13 Uros Bizjak <ubiz...@gmail.com> > > * config/i386/i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New. > * config/i386/i386.c (ix86_decompose_address): Use > TARGET_TLS_INDIRECT_SEG_REFS to prevent %fs:(%reg) addresses. > (legitimize_tls_address): Use TARGET_TLS_INDIRECT_SEG_REFS to load > thread pointer to a register. > > Revert: > 2012-03-10 H.J. Lu <hongjiu...@intel.com> > > * config/i386/i386.c (ix86_decompose_address): Disallow fs:(reg) > if Pmode != word_mode. > (legitimize_tls_address): Call gen_tls_initial_exec_x32 if > Pmode == SImode for TARGET_X32. > > * config/i386/i386.md (UNSPEC_TLS_IE_X32): New. > (tls_initial_exec_x32): Likewise. > > Tested on x86_64-pc-linux-gnu {,-m32}.
No testcases? Paolo