diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2012-05-30 16:52:38 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2012-05-30 16:52:38 +0200 |
commit | 974485d7ef86533388eb7c94d7b7a3f1080ba84a (patch) | |
tree | 9331d34b493450d1d54d82fe90afd871279e5401 | |
parent | 4bbbcbf6f5bd5a9ec85f8f574b283a8c7f97ea63 (diff) | |
download | gcc-974485d7ef86533388eb7c94d7b7a3f1080ba84a.zip gcc-974485d7ef86533388eb7c94d7b7a3f1080ba84a.tar.gz gcc-974485d7ef86533388eb7c94d7b7a3f1080ba84a.tar.bz2 |
i386.c (legitimize_tls_address): Generate tls_initial_exec_64_sun only when !TARGET_X32.
* config/i386/i386.c (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>:
Generate tls_initial_exec_64_sun only when !TARGET_X32.
From-SVN: r188022
-rw-r--r-- | gcc/ChangeLog | 23 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 4 |
2 files changed, 14 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index df7d3e8..fe9860f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-05-30 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.c (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>: + Generate tls_initial_exec_64_sun only when !TARGET_X32. + 2012-05-30 Richard Guenther <rguenther@suse.de> PR middle-end/53501 @@ -169,23 +174,21 @@ 2012-05-29 Georg-Johann Lay <avr@gjlay.de> - * config/avr/t-avr (s-avr-mmcu-texi): Call + * config/avr/t-avr (s-avr-mmcu-texi): Call gen-avr-mmcu-texi$(build_exeext) via ./ and don't assume . is in PATH. - + 2012-05-29 Michael Matz <matz@suse.de> * rtl.h (assign_stack_temp, assign_stack_temp_for_type, assign_temp): Remove 'keep' argument. (mark_temp_addr_taken): Remove prototype. * tree.h (expand_decl): Remove prototype. - * function.c (struct temp_slot): Remove addr_taken and keep - member. + * function.c (struct temp_slot): Remove addr_taken and keep member. (assign_stack_temp_for_type) Don't initialize above, remove keep argument. (assign_stack_temp, assign_temp): Remove keep argument. (mark_temp_addr_taken): Remove. - (preserve_temp_slots): Remove handling of addr_taken and keep - members. + (preserve_temp_slots): Remove handling of addr_taken and keep members. (free_temp_slots): Ditto. * expr.c (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Remove dead code. @@ -231,7 +234,7 @@ * expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocate a kept temp. (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Make unreachable. - * gimple-fold.c (canonicalize_constructor_val): Canonicalize + * gimple-fold.c (canonicalize_constructor_val): Canonicalize COMPOUND_LITERAL_EXPR. * function.c (expand_function_start): Don't call expand_decl, instead assert that we have RTL assigned. @@ -415,8 +418,7 @@ PR middle-end/53510 * input.c (read_line): Use XRESIZEVEC instead of XNEWVEC to avoid leaking memory. No need to handle memory allocation - failure. Double string_len on each reallocation instead of - adding 2. + failure. Double string_len on each reallocation instead of adding 2. * gcov.c (read_line): Likewise. 2012-05-29 Hans-Peter Nilsson <hp@axis.com> @@ -435,8 +437,7 @@ 2012-05-28 Hans-Peter Nilsson <hp@axis.com> - * doc/md.texi (stack_protect_test): Remove negation of branch to - label. + * doc/md.texi (stack_protect_test): Remove negation of branch to label. (Standard Names): Fix typos in documentation of atomic patterns. 2012-05-27 Nathan Sidwell <nathan@acm.org> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index c6eb962..4c68095 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -12810,13 +12810,13 @@ legitimize_tls_address (rtx x, enum tls_model model, bool for_mov) case TLS_MODEL_INITIAL_EXEC: if (TARGET_64BIT) { - if (TARGET_SUN_TLS) + if (TARGET_SUN_TLS && !TARGET_X32) { /* The Sun linker took the AMD64 TLS spec literally and can only handle %rax as destination of the initial executable code sequence. */ - dest = gen_reg_rtx (Pmode); + dest = gen_reg_rtx (DImode); emit_insn (gen_tls_initial_exec_64_sun (dest, x)); return dest; } |