aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2012-05-30 16:52:38 +0200
committerUros Bizjak <uros@gcc.gnu.org>2012-05-30 16:52:38 +0200
commit974485d7ef86533388eb7c94d7b7a3f1080ba84a (patch)
tree9331d34b493450d1d54d82fe90afd871279e5401
parent4bbbcbf6f5bd5a9ec85f8f574b283a8c7f97ea63 (diff)
downloadgcc-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/ChangeLog23
-rw-r--r--gcc/config/i386/i386.c4
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;
}