aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ab5891b..c9d1a161 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,21 @@
+2016-06-23 Uros Bizjak <ubizjak@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/67400
+ * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): New.
+ * config/i386/i386.c (ix86_force_load_from_GOT_p): New function.
+ (ix86_legitimate_constant_p): Do not allow UNSPEC_GOTPCREL if
+ ix86_force_load_from_GOT_p returns true.
+ (ix86_legitimate_address_p): Allow UNSPEC_GOTPCREL if
+ ix86_force_load_from_GOT_p returns true.
+ (ix86_print_operand_address_as): Support UNSPEC_GOTPCREL if
+ ix86_force_load_from_GOT_p returns true.
+ (ix86_expand_move): Load the external function address via the
+ GOT slot if ix86_force_load_from_GOT_p returns true.
+ * config/i386/predicates.md (x86_64_immediate_operand): Return
+ false for SYMBOL_REFs where ix86_force_load_from_GOT_p returns true.
+ (x86_64_zext_immediate_operand): Ditto.
+
2016-06-22 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (ix86_expand_move): Simplify SYMBOL_REF handling.