diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fe46e5a5d791cd76f915d31b89d51f80d61ff288..355cf1822acc952fca756b98d93ef9dacebb145b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,17 @@
+2003-05-21  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
+	TARGET_SERIALIZE_VOLATILE): Delete.
+	(MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
+	(TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
+	(TARGET_SWITCHES): Remove "-mserialize-volatile" and
+	"-mno-serialize-volatile".
+	* config/xtensa/xtensa.c (print_operand): Remove checks of
+	TARGET_SERIALIZE_VOLATILE.
+	* config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
+	* doc/invoke.texi (Option Summary, Xtensa Options): Remove
+	"-mserialize-volatile" and "-mno-serialize-volatile" options.
+
 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
 
 	* c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index 25bf6475b4608ba33ff1e780b47e66be231e138f..18ed9d37f925a015cbada9e4d2c12899f95dc049 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -1938,7 +1938,7 @@ print_operand (file, x, letter)
 	{
 	  /* For a volatile memory reference, emit a MEMW before the
 	     load or store.  */
-	  if (MEM_VOLATILE_P (x) && TARGET_SERIALIZE_VOLATILE)
+	  if (MEM_VOLATILE_P (x))
 	    fprintf (file, "memw\n\t");
 	}
       else
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index 89ae1fda79f06047f507d3c4e03d12e970c70999..9b7f261e0a46c67d6d0b8112fcfe689ca05562eb 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -60,10 +60,9 @@ extern unsigned xtensa_current_frame_size;
 #define MASK_HARD_FLOAT_SQRT	0x00002000	/* floating-point sqrt */
 #define MASK_HARD_FLOAT_RSQRT	0x00004000	/* floating-point recip sqrt */
 #define MASK_NO_FUSED_MADD	0x00008000	/* avoid f-p mul/add */
-#define MASK_SERIALIZE_VOLATILE 0x00010000	/* serialize volatile refs */
-#define MASK_CONST16		0x00020000	/* use CONST16 instruction */
-#define MASK_ABS		0x00040000	/* use ABS instruction */
-#define MASK_ADDX		0x00080000	/* use ADDX* and SUBX* */
+#define MASK_CONST16		0x00010000	/* use CONST16 instruction */
+#define MASK_ABS		0x00020000	/* use ABS instruction */
+#define MASK_ADDX		0x00040000	/* use ADDX* and SUBX* */
 
 /* Macros used in the machine description to test the flags.  */
 
@@ -83,7 +82,6 @@ extern unsigned xtensa_current_frame_size;
 #define TARGET_HARD_FLOAT_SQRT	(target_flags & MASK_HARD_FLOAT_SQRT)
 #define TARGET_HARD_FLOAT_RSQRT	(target_flags & MASK_HARD_FLOAT_RSQRT)
 #define TARGET_NO_FUSED_MADD	(target_flags & MASK_NO_FUSED_MADD)
-#define TARGET_SERIALIZE_VOLATILE (target_flags & MASK_SERIALIZE_VOLATILE)
 #define TARGET_CONST16		(target_flags & MASK_CONST16)
 #define TARGET_ABS		(target_flags & MASK_ABS)
 #define TARGET_ADDX		(target_flags & MASK_ADDX)
@@ -108,8 +106,7 @@ extern unsigned xtensa_current_frame_size;
   (XCHAL_HAVE_FP_DIV	? MASK_HARD_FLOAT_DIV : 0) |			\
   (XCHAL_HAVE_FP_RECIP	? MASK_HARD_FLOAT_RECIP : 0) |			\
   (XCHAL_HAVE_FP_SQRT	? MASK_HARD_FLOAT_SQRT : 0) |			\
-  (XCHAL_HAVE_FP_RSQRT	? MASK_HARD_FLOAT_RSQRT : 0) |			\
-  MASK_SERIALIZE_VOLATILE)
+  (XCHAL_HAVE_FP_RSQRT	? MASK_HARD_FLOAT_RSQRT : 0))
 
 /* Macro to define tables used to set the flags.  */
 
@@ -191,10 +188,6 @@ extern unsigned xtensa_current_frame_size;
     N_("Disable fused multiply/add and multiply/subtract FP instructions")}, \
   {"fused-madd",		-MASK_NO_FUSED_MADD,			\
     N_("Enable fused multiply/add and multiply/subtract FP instructions")}, \
-  {"serialize-volatile",	MASK_SERIALIZE_VOLATILE,		\
-    N_("Serialize volatile memory references with MEMW instructions")},	\
-  {"no-serialize-volatile",	-MASK_SERIALIZE_VOLATILE,		\
-    N_("Do not serialize volatile memory references with MEMW instructions")},\
   {"text-section-literals",	0,					\
     N_("Intersperse literal pools with code in the text section")},	\
   {"no-text-section-literals",	0,					\
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
index 626e4c722dafa554aefef3e1551228371216a88b..40bf5c036bff551153d49e694fcf000715b29bcd 100644
--- a/gcc/config/xtensa/xtensa.md
+++ b/gcc/config/xtensa/xtensa.md
@@ -1154,7 +1154,7 @@
   "TARGET_HARD_FLOAT"
   "*
 {
-  if (TARGET_SERIALIZE_VOLATILE && volatile_refs_p (PATTERN (insn)))
+  if (volatile_refs_p (PATTERN (insn)))
     output_asm_insn (\"memw\", operands);
   return \"lsiu\\t%0, %1, %2\";
 }"
@@ -1171,7 +1171,7 @@
   "TARGET_HARD_FLOAT"
   "*
 {
-  if (TARGET_SERIALIZE_VOLATILE && volatile_refs_p (PATTERN (insn)))
+  if (volatile_refs_p (PATTERN (insn)))
     output_asm_insn (\"memw\", operands);
   return \"ssiu\\t%2, %0, %1\";
 }"
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 95242fca13aca96bf92143a689e50f2e5b0ac50e..aa7e5dc4d6f011f55028488064cc3940f8e3c228 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -646,7 +646,6 @@ in the following sections.
 -mbooleans  -mno-booleans @gol
 -mhard-float  -msoft-float @gol
 -mfused-madd  -mno-fused-madd @gol
--mserialize-volatile  -mno-serialize-volatile @gol
 -mtext-section-literals  -mno-text-section-literals @gol
 -mtarget-align  -mno-target-align @gol
 -mlongcalls  -mno-longcalls}
@@ -10775,15 +10774,6 @@ add/subtract instructions also ensures that the program output is not
 sensitive to the compiler's ability to combine multiply and add/subtract
 operations.
 
-@item -mserialize-volatile
-@itemx -mno-serialize-volatile
-@opindex mserialize-volatile
-@opindex mno-serialize-volatile
-When this option is enabled, GCC inserts @code{MEMW} instructions before
-@code{volatile} memory references to guarantee sequential consistency.
-The default is @option{-mserialize-volatile}.  Use
-@option{-mno-serialize-volatile} to omit the @code{MEMW} instructions.
-
 @item -mtext-section-literals
 @itemx -mno-text-section-literals
 @opindex mtext-section-literals