diff --git a/nsprpub/configure.in b/nsprpub/configure.in
--- a/nsprpub/configure.in
+++ b/nsprpub/configure.in
@@ -1985,17 +1985,17 @@ tools are selected during the Xcode/Deve
         fi
         
         CFLAGS="$CFLAGS -W3 -nologo -GF -Gy"
         DLLFLAGS="$DLLFLAGS -OUT:\"\$@\""
         _DEBUG_FLAGS=-Zi
         _OPTIMIZE_FLAGS=-O2
 
         PROFILE_GEN_CFLAGS="-GL"
-        PROFILE_GEN_LDFLAGS="-LTCG:PGINSTRUMENT"
+        PROFILE_GEN_LDFLAGS="-LTCG -GENPROFILE:MEMMAX=536870912 -PogoSafeMode"
         PROFILE_USE_CFLAGS="-GL -wd4624 -wd4952"
         PROFILE_USE_LDFLAGS="-LTCG:PGUPDATE"
 
         if test "$MSC_VER" -ge "1800"; then
             dnl Visual C++ 2013 requires -FS when parallel building with
             dnl make -jN. If not specified, compiler sometimes emits C1041
             dnl error.
             CFLAGS="$CFLAGS -FS"
@@ -2090,21 +2090,16 @@ tools are selected during the Xcode/Deve
     esac
 
     case "$target_cpu" in
     i*86)
 	if test -n "$USE_64"; then
 	    AC_DEFINE(_AMD64_)
 	else		
 	    AC_DEFINE(_X86_)
-            if test -z "$GNU_CC" -a "$MSC_VER" -ge "1700"; then
-                dnl Visual C++ 2012 defaults to -arch:SSE2. Use -arch:IA32
-                dnl to avoid requiring SSE2.
-                CFLAGS="$CFLAGS -arch:IA32"
-            fi
 	fi
         ;;
     x86_64)
 	    AC_DEFINE(_AMD64_)
 	    USE_64=1
 	    ;;
     ia64)
 	    AC_DEFINE(_IA64_)
