PATCH: Properly generate X32 IE sequence
Paolo Bonzini
bonzini@gnu.org
Tue Mar 20 09:35:00 GMT 2012
Il 19/03/2012 20:13, Uros Bizjak ha scritto:
> 2012-03-19 Uros Bizjak <ubizjak@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 <ubizjak@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.lu@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
More information about the Gcc-patches
mailing list