From 974485d7ef86533388eb7c94d7b7a3f1080ba84a Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Wed, 30 May 2012 16:52:38 +0200 Subject: [PATCH] i386.c (legitimize_tls_address): Generate tls_initial_exec_64_sun only when !TARGET_X32. * config/i386/i386.c (legitimize_tls_address) : Generate tls_initial_exec_64_sun only when !TARGET_X32. From-SVN: r188022 --- gcc/ChangeLog | 23 ++++++++++++----------- 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 + + * config/i386/i386.c (legitimize_tls_address) : + Generate tls_initial_exec_64_sun only when !TARGET_X32. + 2012-05-30 Richard Guenther PR middle-end/53501 @@ -169,23 +174,21 @@ 2012-05-29 Georg-Johann Lay - * 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 * 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 ): Remove dead code. @@ -231,7 +234,7 @@ * expr.c (expand_expr_real_1 ): Don't allocate a kept temp. (expand_expr_real_1 ): 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 @@ -435,8 +437,7 @@ 2012-05-28 Hans-Peter Nilsson - * 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 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; } -- 2.7.4