diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f1037f6fea110aca3886b1ddd0b9b580008b852e..3cf1c74b7586f933f9ca31db1d371d05dd1f6e8a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2017-08-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.opt (flag_fentry): Do not init to -1.
+	* config/i386/i386.c (ix86_option_override_internal): Simplify
+	setting of opts->x_flag_entry.
+
 2017-08-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
 	    Jakub Jelinek  <jakub@redhat.com>
 	    Richard Biener  <rguenther@suse.de>
@@ -461,8 +467,7 @@
 
 2017-08-22  Richard Biener  <rguenther@suse.de>
 
-	* tree-cfg.c (gimple_split_edge): Avoid reallocating target
-	PHI nodes.
+	* tree-cfg.c (gimple_split_edge): Avoid reallocating target PHI nodes.
 
 2017-08-22  Richard Biener  <rguenther@suse.de>
 
@@ -500,8 +505,7 @@
 	(-mvsx-scalar-double): Likewise.
 	(-mallow-df-permute): Likewise.
 	(-mvectorize-builtins): Likewise.
-	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok):
-	Likewise.
+	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Likewise.
 	(rs6000_builtin_vectorized_function): Likewise.
 	(rs6000_builtin_md_vectorized_function): Likewise.
 	(rs6000_opt_vars): Likewise.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index b5c113d95aad1b7ffa6f6491a27148ba8910755f..509fd3a26d5b78022e8ae69f0985a3a2333fdee5 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -6545,27 +6545,18 @@ ix86_option_override_internal (bool main_args_p,
     opts->x_target_flags |= MASK_CLD & ~opts_set->x_target_flags;
 #endif
 
-  if (!TARGET_64BIT_P (opts->x_ix86_isa_flags) && opts->x_flag_pic)
+  /* Set the default value for -mfentry.  */
+  if (!opts_set->x_flag_fentry)
+    opts->x_flag_fentry = TARGET_SEH;
+  else
     {
-      if (opts->x_flag_fentry > 0)
-        sorry ("-mfentry isn%'t supported for 32-bit in combination "
+      if (!TARGET_64BIT_P (opts->x_ix86_isa_flags) && opts->x_flag_pic
+	  && opts->x_flag_fentry)
+	sorry ("-mfentry isn%'t supported for 32-bit in combination "
 	       "with -fpic");
-      opts->x_flag_fentry = 0;
-    }
-  else if (TARGET_SEH)
-    {
-      if (opts->x_flag_fentry == 0)
+      else if (TARGET_SEH && !opts->x_flag_fentry)
 	sorry ("-mno-fentry isn%'t compatible with SEH");
-      opts->x_flag_fentry = 1;
     }
-  else if (opts->x_flag_fentry < 0)
-   {
-#if defined(PROFILE_BEFORE_PROLOGUE)
-     opts->x_flag_fentry = 1;
-#else
-     opts->x_flag_fentry = 0;
-#endif
-   }
 
   if (TARGET_SEH && TARGET_CALL_MS2SYSV_XLOGUES)
     sorry ("-mcall-ms2sysv-xlogues isn%'t currently supported with SEH");
diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt
index 8bf6af21fd18261c781cc1a6cc2c34328d053a65..81bbc1e2170a1e37b4d79843c4b9aa0fc0843c8b 100644
--- a/gcc/config/i386/i386.opt
+++ b/gcc/config/i386/i386.opt
@@ -862,7 +862,7 @@ Target Report Mask(ISA_PREFETCHWT1) Var(ix86_isa_flags) Save
 Support PREFETCHWT1 built-in functions and code generation.
 
 mfentry
-Target Report Var(flag_fentry) Init(-1)
+Target Report Var(flag_fentry)
 Emit profiling counter call at function entry before prologue.
 
 mrecord-mcount