Import changes for goma client

  - 1baebb40efa974c366bfa243c80f7182fb2a1b67 Remove noisy stderr temp directory log message
  - 58045a6c8ec4e1a87d0e3bddbf7a05272394dd3c Roll boringssl from 5fcd47d137f9 to 28c24092e39b (10 revi...
  - 6c88bbfbfb9dd6bcede70ff5169077d2bf532211 Roll clang from 66bc5a8b79d5 to 2c485d86b9fd (8 revisions)
  - 6112319f313ebbff091ccd398288b0077500cbcc Roll boringssl from 74a75b395967 to 5fcd47d137f9 (12 revi...
  - 2b106f49f7aab4175f0fe5a88846e7c071986233 Roll clang from c419c81c9276 to 66bc5a8b79d5 (14 revisions)
  - b2b4be89863dda554a5744bf0023b708859304eb Roll boringssl from e24491a09cba to 74a75b395967 (15 revi...
  - 5372835eb6c228ef6c2332147d663364fa6825a3 Roll clang from d4255de5daba to c419c81c9276 (8 revisions)
  - 8f89aaa2ed32b8bd35449d8c82b65ff3d544a716 use go 1.20.4
  - 9b56dfc880ad8f9ca982846f520d789434ccb04e goma_auth: helpful message when goma_auth info|config error
  - 4d127251f76c9fd9589b03311187c91637d14184 Roll boringssl from 5e988c40553f to e24491a09cba (12 revi...
  - 438d3401665be7ebbe62d23a4a29222bb80c1200 Roll clang from 448305bbeb6d to d4255de5daba (5 revisions)
  - 91bee65029aed753a1125d151620ce33b6bfd3a5 Roll boringssl from a02b7435ca52 to 5e988c40553f (15 revi...
  - 189cdcbb815f613b3b5a57964e9fcaa5e8baa061 Roll clang from 2f9ce8ce378c to 448305bbeb6d (3 revisions)

GitOrigin-RevId: 1baebb40efa974c366bfa243c80f7182fb2a1b67
Change-Id: Ic22dedb0ed9db0ff2a3540d05f0532a896683b0d
diff --git a/DEPS b/DEPS
index 3cb5234..c4d45e1 100644
--- a/DEPS
+++ b/DEPS
@@ -2,7 +2,7 @@
 
 vars = {
      "chromium_git": "https://chromium.googlesource.com",
-     "clang_revision": "2f9ce8ce378c30d23265a23de389165458da4df6",
+     "clang_revision": "2c485d86b9fd49b787671bf8e10d89d503a64fa6",
      "gn_version": "git_revision:dfcbc6fed0a8352696f92d67ccad54048ad182b3",
      "mingw_version": "version:2@11.2.0-6",
      "checkout_mingw": False,
@@ -43,7 +43,7 @@
 
      # chrome's deps/third_party/boringssl
      "client/third_party/boringssl/src":
-     "https://boringssl.googlesource.com/boringssl@a02b7435ca52b81c7cce656d577c8423b1cc4bb3",
+     "https://boringssl.googlesource.com/boringssl@28c24092e39bfd70852afa2923a3d12d2e9be2f5",
 
      # google-breakpad
      "client/third_party/breakpad/breakpad":
@@ -125,7 +125,7 @@
          'packages': [
              {
                  'package': 'infra/3pp/tools/go/${{platform}}',
-                 'version': 'version:2@1.20.2',
+                 'version': 'version:2@1.20.4',
              },
          ],
          'dep_type': 'cipd',
diff --git a/client/goma_auth.py b/client/goma_auth.py
index b87e9d4..5cc674d 100755
--- a/client/goma_auth.py
+++ b/client/goma_auth.py
@@ -336,11 +336,15 @@
       'refresh_token': config['refresh_token'],
       'grant_type': 'refresh_token'
   }
-  resp = json.loads(HttpPostRequest(config['token_uri'], post_data))
+  try:
+    resp = json.loads(HttpPostRequest(config['token_uri'], post_data))
+  except subprocess.CalledProcessError:
+    resp = {'error': 'goma_fetch error'}
   if 'error' in resp:
     return {'error_description': 'obtain access token: %s' % resp['error']}
-  token_info = json.loads(HttpGetRequest(
-    TOKEN_INFO_ENDPOINT + '?access_token=' + resp['access_token']))
+  token_info = json.loads(
+      HttpGetRequest(TOKEN_INFO_ENDPOINT + '?access_token=' +
+                     resp['access_token']))
   return token_info
 
 
@@ -458,6 +462,7 @@
   err = VerifyRefreshToken(config)
   if err:
     sys.stderr.write(err + '\n')
+    sys.stderr.write('Temporary error, or need to logout->login again\n')
     return 1
   flags = ConfigFlags(config)
   for k in flags:
@@ -527,7 +532,8 @@
   try:
     flags = ConfigFlags(config)
   except Error as e:
-    sys.stderr.write('%s' % e)
+    sys.stderr.write('%s\n' % e)
+    sys.stderr.write('Temporary error, or need to logout->login again\n')
     return 1
   print(flags.comment)
   for k in flags:
diff --git a/third_party/boringssl/BUILD.generated.gni b/third_party/boringssl/BUILD.generated.gni
index d5e075b..dd76c2d 100644
--- a/third_party/boringssl/BUILD.generated.gni
+++ b/third_party/boringssl/BUILD.generated.gni
@@ -87,11 +87,13 @@
   "src/crypto/cpu_aarch64_freebsd.c",
   "src/crypto/cpu_aarch64_fuchsia.c",
   "src/crypto/cpu_aarch64_linux.c",
+  "src/crypto/cpu_aarch64_openbsd.c",
   "src/crypto/cpu_aarch64_win.c",
   "src/crypto/cpu_arm.c",
   "src/crypto/cpu_arm_freebsd.c",
   "src/crypto/cpu_arm_linux.c",
   "src/crypto/cpu_arm_linux.h",
+  "src/crypto/cpu_arm_openbsd.c",
   "src/crypto/cpu_intel.c",
   "src/crypto/crypto.c",
   "src/crypto/curve25519/curve25519.c",
@@ -199,8 +201,7 @@
   "src/crypto/rand_extra/rand_extra.c",
   "src/crypto/rand_extra/windows.c",
   "src/crypto/rc4/rc4.c",
-  "src/crypto/refcount_c11.c",
-  "src/crypto/refcount_lock.c",
+  "src/crypto/refcount.c",
   "src/crypto/rsa_extra/internal.h",
   "src/crypto/rsa_extra/rsa_asn1.c",
   "src/crypto/rsa_extra/rsa_crypt.c",
diff --git a/third_party/boringssl/apple-aarch64/crypto/fipsmodule/aesv8-gcm-armv8-apple.S b/third_party/boringssl/apple-aarch64/crypto/fipsmodule/aesv8-gcm-armv8-apple.S
index 30ca50b..068b3a9 100644
--- a/third_party/boringssl/apple-aarch64/crypto/fipsmodule/aesv8-gcm-armv8-apple.S
+++ b/third_party/boringssl/apple-aarch64/crypto/fipsmodule/aesv8-gcm-armv8-apple.S
@@ -83,7 +83,7 @@
 	ldr	q23, [x8, #80]                                 // load rk5
 	aese	v1.16b, v19.16b
 	aesmc	v1.16b, v1.16b          // AES block 1 - round 1
-	ldr	q14, [x3, #80]                         // load h3l | h3h
+	ldr	q14, [x6, #48]                              // load h3l | h3h
 	ext	v14.16b, v14.16b, v14.16b, #8
 	aese	v3.16b, v18.16b
 	aesmc	v3.16b, v3.16b          // AES block 3 - round 0
@@ -92,14 +92,14 @@
 	ldr	q22, [x8, #64]                                 // load rk4
 	aese	v1.16b, v20.16b
 	aesmc	v1.16b, v1.16b          // AES block 1 - round 2
-	ldr	q13, [x3, #64]                         // load h2l | h2h
+	ldr	q13, [x6, #32]                              // load h2l | h2h
 	ext	v13.16b, v13.16b, v13.16b, #8
 	aese	v3.16b, v19.16b
 	aesmc	v3.16b, v3.16b          // AES block 3 - round 1
 	ldr	q30, [x8, #192]                               // load rk12
 	aese	v2.16b, v20.16b
 	aesmc	v2.16b, v2.16b          // AES block 2 - round 2
-	ldr	q15, [x3, #112]                        // load h4l | h4h
+	ldr	q15, [x6, #80]                              // load h4l | h4h
 	ext	v15.16b, v15.16b, v15.16b, #8
 	aese	v1.16b, v21.16b
 	aesmc	v1.16b, v1.16b          // AES block 1 - round 3
@@ -142,7 +142,7 @@
 	ldr	q27, [x8, #144]                                // load rk9
 	aese	v0.16b, v24.16b
 	aesmc	v0.16b, v0.16b          // AES block 0 - round 6
-	ldr	q12, [x3, #32]                         // load h1l | h1h
+	ldr	q12, [x6]                                   // load h1l | h1h
 	ext	v12.16b, v12.16b, v12.16b, #8
 	aese	v2.16b, v24.16b
 	aesmc	v2.16b, v2.16b          // AES block 2 - round 6
@@ -843,15 +843,15 @@
 	ldr	q19, [x8, #16]                                 // load rk1
 	aese	v0.16b, v18.16b
 	aesmc	v0.16b, v0.16b          // AES block 0 - round 0
-	ldr	q14, [x3, #80]                         // load h3l | h3h
+	ldr	q14, [x6, #48]                              // load h3l | h3h
 	ext	v14.16b, v14.16b, v14.16b, #8
 	aese	v3.16b, v18.16b
 	aesmc	v3.16b, v3.16b          // AES block 3 - round 0
-	ldr	q15, [x3, #112]                        // load h4l | h4h
+	ldr	q15, [x6, #80]                              // load h4l | h4h
 	ext	v15.16b, v15.16b, v15.16b, #8
 	aese	v1.16b, v18.16b
 	aesmc	v1.16b, v1.16b          // AES block 1 - round 0
-	ldr	q13, [x3, #64]                         // load h2l | h2h
+	ldr	q13, [x6, #32]                              // load h2l | h2h
 	ext	v13.16b, v13.16b, v13.16b, #8
 	aese	v2.16b, v18.16b
 	aesmc	v2.16b, v2.16b          // AES block 2 - round 0
@@ -871,7 +871,7 @@
 	ldr	q30, [x8, #192]                               // load rk12
 	aese	v0.16b, v20.16b
 	aesmc	v0.16b, v0.16b          // AES block 0 - round 2
-	ldr	q12, [x3, #32]                         // load h1l | h1h
+	ldr	q12, [x6]                                   // load h1l | h1h
 	ext	v12.16b, v12.16b, v12.16b, #8
 	aese	v2.16b, v20.16b
 	aesmc	v2.16b, v2.16b          // AES block 2 - round 2
diff --git a/third_party/boringssl/apple-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-apple.S b/third_party/boringssl/apple-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-apple.S
index d04102e..08e2830e 100644
--- a/third_party/boringssl/apple-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-apple.S
+++ b/third_party/boringssl/apple-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-apple.S
@@ -382,17 +382,18 @@
 
 	vzeroupper
 
+	movq	16(%rbp),%r12
 	vmovdqu	(%r8),%xmm1
 	addq	$-128,%rsp
 	movl	12(%r8),%ebx
 	leaq	L$bswap_mask(%rip),%r11
 	leaq	-128(%rcx),%r14
 	movq	$0xf80,%r15
-	vmovdqu	(%r9),%xmm8
+	vmovdqu	(%r12),%xmm8
 	andq	$-128,%rsp
 	vmovdqu	(%r11),%xmm0
 	leaq	128(%rcx),%rcx
-	leaq	32+32(%r9),%r9
+	leaq	32(%r9),%r9
 	movl	240-128(%rcx),%r10d
 	vpshufb	%xmm0,%xmm8,%xmm8
 
@@ -437,6 +438,7 @@
 
 	call	_aesni_ctr32_ghash_6x
 
+	movq	16(%rbp),%r12
 	vmovups	%xmm9,-96(%rsi)
 	vmovups	%xmm10,-80(%rsi)
 	vmovups	%xmm11,-64(%rsi)
@@ -445,7 +447,7 @@
 	vmovups	%xmm14,-16(%rsi)
 
 	vpshufb	(%r11),%xmm8,%xmm8
-	vmovdqu	%xmm8,-64(%r9)
+	vmovdqu	%xmm8,(%r12)
 
 	vzeroupper
 	leaq	-40(%rbp),%rsp
@@ -649,8 +651,9 @@
 
 	call	_aesni_ctr32_6x
 
-	vmovdqu	(%r9),%xmm8
-	leaq	32+32(%r9),%r9
+	movq	16(%rbp),%r12
+	leaq	32(%r9),%r9
+	vmovdqu	(%r12),%xmm8
 	subq	$12,%rdx
 	movq	$192,%rax
 	vpshufb	%xmm0,%xmm8,%xmm8
@@ -828,8 +831,9 @@
 	vpclmulqdq	$0x10,%xmm3,%xmm8,%xmm8
 	vpxor	%xmm7,%xmm2,%xmm2
 	vpxor	%xmm2,%xmm8,%xmm8
+	movq	16(%rbp),%r12
 	vpshufb	(%r11),%xmm8,%xmm8
-	vmovdqu	%xmm8,-64(%r9)
+	vmovdqu	%xmm8,(%r12)
 
 	vzeroupper
 	leaq	-40(%rbp),%rsp
diff --git a/third_party/boringssl/apple-x86_64/crypto/fipsmodule/aesni-x86_64-apple.S b/third_party/boringssl/apple-x86_64/crypto/fipsmodule/aesni-x86_64-apple.S
index 60fd58c..244ee21 100644
--- a/third_party/boringssl/apple-x86_64/crypto/fipsmodule/aesni-x86_64-apple.S
+++ b/third_party/boringssl/apple-x86_64/crypto/fipsmodule/aesni-x86_64-apple.S
@@ -1260,6 +1260,8 @@
 	pxor	%xmm0,%xmm13
 	movdqu	80(%rdi),%xmm15
 	pxor	%xmm0,%xmm14
+	prefetcht0	448(%rdi)
+	prefetcht0	512(%rdi)
 	pxor	%xmm0,%xmm15
 .byte	102,15,56,220,209
 .byte	102,15,56,220,217
diff --git a/third_party/boringssl/err_data.c b/third_party/boringssl/err_data.c
index 6a0e855..0243a7e 100644
--- a/third_party/boringssl/err_data.c
+++ b/third_party/boringssl/err_data.c
@@ -76,169 +76,169 @@
     0xc3b00f7,
     0xc3b8921,
     0x10320892,
-    0x10329620,
-    0x1033162c,
-    0x10339645,
-    0x10341658,
-    0x10348f72,
-    0x10350cab,
-    0x1035966b,
-    0x10361695,
-    0x103696a8,
-    0x103716c7,
-    0x103796e0,
-    0x103816f5,
-    0x10389713,
-    0x10391722,
-    0x1039973e,
-    0x103a1759,
-    0x103a9768,
-    0x103b1784,
-    0x103b979f,
-    0x103c17c5,
+    0x10329641,
+    0x1033164d,
+    0x10339666,
+    0x10341679,
+    0x10348f93,
+    0x10350ccc,
+    0x1035968c,
+    0x103616b6,
+    0x103696c9,
+    0x103716e8,
+    0x10379701,
+    0x10381716,
+    0x10389734,
+    0x10391743,
+    0x1039975f,
+    0x103a177a,
+    0x103a9789,
+    0x103b17a5,
+    0x103b97c0,
+    0x103c17e6,
     0x103c80f7,
-    0x103d17d6,
-    0x103d97ea,
-    0x103e1809,
-    0x103e9818,
-    0x103f182f,
-    0x103f9842,
-    0x10400c6f,
-    0x10409855,
-    0x10411873,
-    0x10419886,
-    0x104218a0,
-    0x104298b0,
-    0x104318c4,
-    0x104398da,
-    0x104418f2,
-    0x10449907,
-    0x1045191b,
-    0x1045992d,
+    0x103d17f7,
+    0x103d980b,
+    0x103e182a,
+    0x103e9839,
+    0x103f1850,
+    0x103f9863,
+    0x10400c90,
+    0x10409876,
+    0x10411894,
+    0x104198a7,
+    0x104218c1,
+    0x104298d1,
+    0x104318e5,
+    0x104398fb,
+    0x10441913,
+    0x10449928,
+    0x1045193c,
+    0x1045994e,
     0x10460635,
     0x1046899a,
-    0x10471942,
-    0x10479959,
-    0x1048196e,
-    0x1048997c,
-    0x10490ebe,
-    0x104997b6,
-    0x104a1680,
-    0x14320c52,
-    0x14328c60,
-    0x14330c6f,
-    0x14338c81,
+    0x10471963,
+    0x1047997a,
+    0x1048198f,
+    0x1048999d,
+    0x10490edf,
+    0x104997d7,
+    0x104a16a1,
+    0x14320c73,
+    0x14328c81,
+    0x14330c90,
+    0x14338ca2,
     0x143400b9,
     0x143480f7,
     0x18320090,
-    0x18328fc8,
+    0x18328fe9,
     0x183300b9,
-    0x18338fde,
-    0x18340ff2,
+    0x18338fff,
+    0x18341013,
     0x183480f7,
-    0x18351011,
-    0x18359029,
-    0x1836103e,
-    0x18369052,
-    0x1837108a,
-    0x183790a0,
-    0x183810b4,
-    0x183890c4,
+    0x18351032,
+    0x1835904a,
+    0x1836105f,
+    0x18369073,
+    0x183710ab,
+    0x183790c1,
+    0x183810d5,
+    0x183890e5,
     0x18390ac0,
-    0x183990d4,
-    0x183a10fa,
-    0x183a9120,
-    0x183b0cca,
-    0x183b916f,
-    0x183c1181,
-    0x183c918c,
-    0x183d119c,
-    0x183d91ad,
-    0x183e11be,
-    0x183e91d0,
-    0x183f11f9,
-    0x183f9212,
-    0x1840122a,
+    0x183990f5,
+    0x183a111b,
+    0x183a9141,
+    0x183b0ceb,
+    0x183b9190,
+    0x183c11a2,
+    0x183c91ad,
+    0x183d11bd,
+    0x183d91ce,
+    0x183e11df,
+    0x183e91f1,
+    0x183f121a,
+    0x183f9233,
+    0x1840124b,
     0x1840870d,
-    0x18411143,
-    0x1841910e,
-    0x1842112d,
-    0x18428cb7,
-    0x184310e9,
-    0x18439155,
-    0x18441007,
-    0x18449076,
-    0x20321264,
-    0x20329251,
-    0x24321270,
+    0x18411164,
+    0x1841912f,
+    0x1842114e,
+    0x18428cd8,
+    0x1843110a,
+    0x18439176,
+    0x18441028,
+    0x18449097,
+    0x20321285,
+    0x20329272,
+    0x24321291,
     0x243289e0,
-    0x24331282,
-    0x2433928f,
-    0x2434129c,
-    0x243492ae,
-    0x243512bd,
-    0x243592da,
-    0x243612e7,
-    0x243692f5,
-    0x24371303,
-    0x24379311,
-    0x2438131a,
-    0x24389327,
-    0x2439133a,
-    0x28320c9f,
-    0x28328cca,
-    0x28330c6f,
-    0x28338cdd,
-    0x28340cab,
+    0x243312a3,
+    0x243392b0,
+    0x243412bd,
+    0x243492cf,
+    0x243512de,
+    0x243592fb,
+    0x24361308,
+    0x24369316,
+    0x24371324,
+    0x24379332,
+    0x2438133b,
+    0x24389348,
+    0x2439135b,
+    0x28320cc0,
+    0x28328ceb,
+    0x28330c90,
+    0x28338cfe,
+    0x28340ccc,
     0x283480b9,
     0x283500f7,
-    0x28358cb7,
+    0x28358cd8,
     0x2836099a,
-    0x2c3232bf,
-    0x2c329351,
-    0x2c3332cd,
-    0x2c33b2df,
-    0x2c3432f3,
-    0x2c34b305,
-    0x2c353320,
-    0x2c35b332,
-    0x2c363362,
+    0x2c3232e0,
+    0x2c329372,
+    0x2c3332ee,
+    0x2c33b300,
+    0x2c343314,
+    0x2c34b326,
+    0x2c353341,
+    0x2c35b353,
+    0x2c363383,
     0x2c36833a,
-    0x2c37336f,
-    0x2c37b39b,
-    0x2c3833d9,
-    0x2c38b3f0,
-    0x2c39340e,
-    0x2c39b41e,
-    0x2c3a3430,
-    0x2c3ab444,
-    0x2c3b3455,
-    0x2c3bb474,
-    0x2c3c1363,
-    0x2c3c9379,
-    0x2c3d34b9,
-    0x2c3d9392,
-    0x2c3e34e3,
-    0x2c3eb4f1,
-    0x2c3f3509,
-    0x2c3fb521,
-    0x2c40354b,
-    0x2c409264,
-    0x2c41355c,
-    0x2c41b56f,
-    0x2c42122a,
-    0x2c42b580,
+    0x2c373390,
+    0x2c37b3bc,
+    0x2c3833fa,
+    0x2c38b411,
+    0x2c39342f,
+    0x2c39b43f,
+    0x2c3a3451,
+    0x2c3ab465,
+    0x2c3b3476,
+    0x2c3bb495,
+    0x2c3c1384,
+    0x2c3c939a,
+    0x2c3d34da,
+    0x2c3d93b3,
+    0x2c3e3504,
+    0x2c3eb512,
+    0x2c3f352a,
+    0x2c3fb542,
+    0x2c40356c,
+    0x2c409285,
+    0x2c41357d,
+    0x2c41b590,
+    0x2c42124b,
+    0x2c42b5a1,
     0x2c43076d,
-    0x2c43b466,
-    0x2c4433ae,
-    0x2c44b52e,
-    0x2c453345,
-    0x2c45b381,
-    0x2c4633fe,
-    0x2c46b488,
-    0x2c47349d,
-    0x2c47b4d6,
-    0x2c4833c0,
+    0x2c43b487,
+    0x2c4433cf,
+    0x2c44b54f,
+    0x2c453366,
+    0x2c45b3a2,
+    0x2c46341f,
+    0x2c46b4a9,
+    0x2c4734be,
+    0x2c47b4f7,
+    0x2c4833e1,
     0x30320000,
     0x30328015,
     0x3033001f,
@@ -341,297 +341,298 @@
     0x34330be1,
     0x34338bf4,
     0x34340c03,
-    0x34348c3c,
-    0x34350c20,
+    0x34348c5d,
+    0x34350c41,
+    0x34358c20,
     0x3c320090,
-    0x3c328d07,
-    0x3c330d20,
-    0x3c338d3b,
-    0x3c340d58,
-    0x3c348d82,
-    0x3c350d9d,
-    0x3c358dc3,
-    0x3c360ddc,
-    0x3c368df4,
-    0x3c370e05,
-    0x3c378e13,
-    0x3c380e20,
-    0x3c388e34,
-    0x3c390cca,
-    0x3c398e57,
-    0x3c3a0e6b,
+    0x3c328d28,
+    0x3c330d41,
+    0x3c338d5c,
+    0x3c340d79,
+    0x3c348da3,
+    0x3c350dbe,
+    0x3c358de4,
+    0x3c360dfd,
+    0x3c368e15,
+    0x3c370e26,
+    0x3c378e34,
+    0x3c380e41,
+    0x3c388e55,
+    0x3c390ceb,
+    0x3c398e78,
+    0x3c3a0e8c,
     0x3c3a895a,
-    0x3c3b0e7b,
-    0x3c3b8e96,
-    0x3c3c0ea8,
-    0x3c3c8edb,
-    0x3c3d0ee5,
-    0x3c3d8ef9,
-    0x3c3e0f07,
-    0x3c3e8f2c,
-    0x3c3f0cf3,
-    0x3c3f8f15,
+    0x3c3b0e9c,
+    0x3c3b8eb7,
+    0x3c3c0ec9,
+    0x3c3c8efc,
+    0x3c3d0f06,
+    0x3c3d8f1a,
+    0x3c3e0f28,
+    0x3c3e8f4d,
+    0x3c3f0d14,
+    0x3c3f8f36,
     0x3c4000b9,
     0x3c4080f7,
-    0x3c410d73,
-    0x3c418db2,
-    0x3c420ebe,
-    0x3c428e48,
-    0x40321a0e,
-    0x40329a24,
-    0x40331a52,
-    0x40339a5c,
-    0x40341a73,
-    0x40349a91,
-    0x40351aa1,
-    0x40359ab3,
-    0x40361ac0,
-    0x40369acc,
-    0x40371ae1,
-    0x40379af3,
-    0x40381afe,
-    0x40389b10,
-    0x40390f72,
-    0x40399b20,
-    0x403a1b33,
-    0x403a9b54,
-    0x403b1b65,
-    0x403b9b75,
+    0x3c410d94,
+    0x3c418dd3,
+    0x3c420edf,
+    0x3c428e69,
+    0x40321a2f,
+    0x40329a45,
+    0x40331a73,
+    0x40339a7d,
+    0x40341a94,
+    0x40349ab2,
+    0x40351ac2,
+    0x40359ad4,
+    0x40361ae1,
+    0x40369aed,
+    0x40371b02,
+    0x40379b14,
+    0x40381b1f,
+    0x40389b31,
+    0x40390f93,
+    0x40399b41,
+    0x403a1b54,
+    0x403a9b75,
+    0x403b1b86,
+    0x403b9b96,
     0x403c0071,
     0x403c8090,
-    0x403d1bd6,
-    0x403d9bec,
-    0x403e1bfb,
-    0x403e9c33,
-    0x403f1c4d,
-    0x403f9c75,
-    0x40401c8a,
-    0x40409c9e,
-    0x40411cd9,
-    0x40419cf4,
-    0x40421d0d,
-    0x40429d20,
-    0x40431d34,
-    0x40439d62,
-    0x40441d79,
+    0x403d1bf7,
+    0x403d9c0d,
+    0x403e1c1c,
+    0x403e9c54,
+    0x403f1c6e,
+    0x403f9c96,
+    0x40401cab,
+    0x40409cbf,
+    0x40411cfa,
+    0x40419d15,
+    0x40421d2e,
+    0x40429d41,
+    0x40431d55,
+    0x40439d83,
+    0x40441d9a,
     0x404480b9,
-    0x40451d8e,
-    0x40459da0,
-    0x40461dc4,
-    0x40469de4,
-    0x40471df2,
-    0x40479e19,
-    0x40481e8a,
-    0x40489f44,
-    0x40491f5b,
-    0x40499f75,
-    0x404a1f8c,
-    0x404a9faa,
-    0x404b1fc2,
-    0x404b9fef,
-    0x404c2005,
-    0x404ca017,
-    0x404d2038,
-    0x404da071,
-    0x404e2085,
-    0x404ea092,
-    0x404f212c,
-    0x404fa1a2,
-    0x40502211,
-    0x4050a225,
-    0x40512258,
-    0x40522268,
-    0x4052a28c,
-    0x405322a4,
-    0x4053a2b7,
-    0x405422cc,
-    0x4054a2ef,
-    0x4055231a,
-    0x4055a357,
-    0x4056237c,
-    0x4056a395,
-    0x405723ad,
-    0x4057a3c0,
-    0x405823d5,
-    0x4058a3fc,
-    0x4059242b,
-    0x4059a458,
-    0x405a246c,
-    0x405aa47c,
-    0x405b2494,
-    0x405ba4a5,
-    0x405c24b8,
-    0x405ca4f7,
-    0x405d2504,
-    0x405da529,
-    0x405e2567,
+    0x40451daf,
+    0x40459dc1,
+    0x40461de5,
+    0x40469e05,
+    0x40471e13,
+    0x40479e3a,
+    0x40481eab,
+    0x40489f65,
+    0x40491f7c,
+    0x40499f96,
+    0x404a1fad,
+    0x404a9fcb,
+    0x404b1fe3,
+    0x404ba010,
+    0x404c2026,
+    0x404ca038,
+    0x404d2059,
+    0x404da092,
+    0x404e20a6,
+    0x404ea0b3,
+    0x404f214d,
+    0x404fa1c3,
+    0x40502232,
+    0x4050a246,
+    0x40512279,
+    0x40522289,
+    0x4052a2ad,
+    0x405322c5,
+    0x4053a2d8,
+    0x405422ed,
+    0x4054a310,
+    0x4055233b,
+    0x4055a378,
+    0x4056239d,
+    0x4056a3b6,
+    0x405723ce,
+    0x4057a3e1,
+    0x405823f6,
+    0x4058a41d,
+    0x4059244c,
+    0x4059a479,
+    0x405a248d,
+    0x405aa49d,
+    0x405b24b5,
+    0x405ba4c6,
+    0x405c24d9,
+    0x405ca518,
+    0x405d2525,
+    0x405da54a,
+    0x405e2588,
     0x405e8afe,
-    0x405f2588,
-    0x405fa595,
-    0x406025a3,
-    0x4060a5c5,
-    0x40612626,
-    0x4061a65e,
-    0x40622675,
-    0x4062a686,
-    0x406326d3,
-    0x4063a6e8,
-    0x406426ff,
-    0x4064a72b,
-    0x40652746,
-    0x4065a75d,
-    0x40662775,
-    0x4066a79f,
-    0x406727ca,
-    0x4067a80f,
-    0x40682857,
-    0x4068a878,
-    0x406928aa,
-    0x4069a8d8,
-    0x406a28f9,
-    0x406aa919,
-    0x406b2aa1,
-    0x406baac4,
-    0x406c2ada,
-    0x406cade4,
-    0x406d2e13,
-    0x406dae3b,
-    0x406e2e69,
-    0x406eaeb6,
-    0x406f2f0f,
-    0x406faf47,
-    0x40702f5a,
-    0x4070af77,
+    0x405f25a9,
+    0x405fa5b6,
+    0x406025c4,
+    0x4060a5e6,
+    0x40612647,
+    0x4061a67f,
+    0x40622696,
+    0x4062a6a7,
+    0x406326f4,
+    0x4063a709,
+    0x40642720,
+    0x4064a74c,
+    0x40652767,
+    0x4065a77e,
+    0x40662796,
+    0x4066a7c0,
+    0x406727eb,
+    0x4067a830,
+    0x40682878,
+    0x4068a899,
+    0x406928cb,
+    0x4069a8f9,
+    0x406a291a,
+    0x406aa93a,
+    0x406b2ac2,
+    0x406baae5,
+    0x406c2afb,
+    0x406cae05,
+    0x406d2e34,
+    0x406dae5c,
+    0x406e2e8a,
+    0x406eaed7,
+    0x406f2f30,
+    0x406faf68,
+    0x40702f7b,
+    0x4070af98,
     0x4071084d,
-    0x4071af89,
-    0x40722f9c,
-    0x4072afd2,
-    0x40732fea,
-    0x4073957b,
-    0x40742ffe,
-    0x4074b018,
-    0x40753029,
-    0x4075b03d,
-    0x4076304b,
-    0x40769327,
-    0x40773070,
-    0x4077b0b0,
-    0x407830cb,
-    0x4078b104,
-    0x4079311b,
-    0x4079b131,
-    0x407a315d,
-    0x407ab170,
-    0x407b3185,
-    0x407bb197,
-    0x407c31c8,
-    0x407cb1d1,
-    0x407d2893,
-    0x407da1ca,
-    0x407e30e0,
-    0x407ea40c,
-    0x407f1e06,
-    0x407f9fd9,
-    0x4080213c,
-    0x40809e2e,
-    0x4081227a,
-    0x4081a0e0,
-    0x40822e54,
-    0x40829b81,
-    0x408323e7,
-    0x4083a710,
-    0x40841e42,
-    0x4084a444,
-    0x408524c9,
-    0x4085a5ed,
-    0x40862549,
-    0x4086a1e4,
-    0x40872e9a,
-    0x4087a63b,
-    0x40881bbf,
-    0x4088a822,
-    0x40891c0e,
-    0x40899b9b,
-    0x408a2b12,
-    0x408a9993,
-    0x408b31ac,
-    0x408baf24,
-    0x408c24d9,
-    0x408c99cb,
-    0x408d1f2a,
-    0x408d9e74,
-    0x408e205a,
-    0x408ea337,
-    0x408f2836,
-    0x408fa609,
-    0x409027eb,
-    0x4090a51b,
-    0x40912afa,
-    0x409199f1,
-    0x40921c5b,
-    0x4092aed5,
-    0x40932fb5,
-    0x4093a1f5,
-    0x40941e56,
-    0x4094ab2b,
-    0x40952697,
-    0x4095b13d,
-    0x40962e81,
-    0x4096a155,
-    0x40972240,
-    0x4097a0a9,
-    0x40981cbb,
-    0x4098a6ab,
-    0x40992ef1,
-    0x4099a364,
-    0x409a22fd,
-    0x409a99af,
-    0x409b1eb0,
-    0x409b9edb,
-    0x409c3092,
-    0x409c9f03,
-    0x409d2111,
-    0x409da0f6,
-    0x409e1d4c,
-    0x409ea18a,
-    0x409f2172,
-    0x409f9ea3,
-    0x40a021b2,
-    0x40a0a0c3,
-    0x41f429cc,
-    0x41f92a5e,
-    0x41fe2951,
-    0x41feac07,
-    0x41ff2d35,
-    0x420329e5,
-    0x42082a07,
-    0x4208aa43,
-    0x42092935,
-    0x4209aa7d,
-    0x420a298c,
-    0x420aa96c,
-    0x420b29ac,
-    0x420baa25,
-    0x420c2d51,
-    0x420cab3b,
-    0x420d2bee,
-    0x420dac25,
-    0x42122c58,
-    0x42172d18,
-    0x4217ac9a,
-    0x421c2cbc,
-    0x421f2c77,
-    0x42212dc9,
-    0x42262cfb,
-    0x422b2da7,
-    0x422babc9,
-    0x422c2d89,
-    0x422cab7c,
-    0x422d2b55,
-    0x422dad68,
-    0x422e2ba8,
-    0x42302cd7,
-    0x4230ac3f,
+    0x4071afaa,
+    0x40722fbd,
+    0x4072aff3,
+    0x4073300b,
+    0x4073959c,
+    0x4074301f,
+    0x4074b039,
+    0x4075304a,
+    0x4075b05e,
+    0x4076306c,
+    0x40769348,
+    0x40773091,
+    0x4077b0d1,
+    0x407830ec,
+    0x4078b125,
+    0x4079313c,
+    0x4079b152,
+    0x407a317e,
+    0x407ab191,
+    0x407b31a6,
+    0x407bb1b8,
+    0x407c31e9,
+    0x407cb1f2,
+    0x407d28b4,
+    0x407da1eb,
+    0x407e3101,
+    0x407ea42d,
+    0x407f1e27,
+    0x407f9ffa,
+    0x4080215d,
+    0x40809e4f,
+    0x4081229b,
+    0x4081a101,
+    0x40822e75,
+    0x40829ba2,
+    0x40832408,
+    0x4083a731,
+    0x40841e63,
+    0x4084a465,
+    0x408524ea,
+    0x4085a60e,
+    0x4086256a,
+    0x4086a205,
+    0x40872ebb,
+    0x4087a65c,
+    0x40881be0,
+    0x4088a843,
+    0x40891c2f,
+    0x40899bbc,
+    0x408a2b33,
+    0x408a99b4,
+    0x408b31cd,
+    0x408baf45,
+    0x408c24fa,
+    0x408c99ec,
+    0x408d1f4b,
+    0x408d9e95,
+    0x408e207b,
+    0x408ea358,
+    0x408f2857,
+    0x408fa62a,
+    0x4090280c,
+    0x4090a53c,
+    0x40912b1b,
+    0x40919a12,
+    0x40921c7c,
+    0x4092aef6,
+    0x40932fd6,
+    0x4093a216,
+    0x40941e77,
+    0x4094ab4c,
+    0x409526b8,
+    0x4095b15e,
+    0x40962ea2,
+    0x4096a176,
+    0x40972261,
+    0x4097a0ca,
+    0x40981cdc,
+    0x4098a6cc,
+    0x40992f12,
+    0x4099a385,
+    0x409a231e,
+    0x409a99d0,
+    0x409b1ed1,
+    0x409b9efc,
+    0x409c30b3,
+    0x409c9f24,
+    0x409d2132,
+    0x409da117,
+    0x409e1d6d,
+    0x409ea1ab,
+    0x409f2193,
+    0x409f9ec4,
+    0x40a021d3,
+    0x40a0a0e4,
+    0x41f429ed,
+    0x41f92a7f,
+    0x41fe2972,
+    0x41feac28,
+    0x41ff2d56,
+    0x42032a06,
+    0x42082a28,
+    0x4208aa64,
+    0x42092956,
+    0x4209aa9e,
+    0x420a29ad,
+    0x420aa98d,
+    0x420b29cd,
+    0x420baa46,
+    0x420c2d72,
+    0x420cab5c,
+    0x420d2c0f,
+    0x420dac46,
+    0x42122c79,
+    0x42172d39,
+    0x4217acbb,
+    0x421c2cdd,
+    0x421f2c98,
+    0x42212dea,
+    0x42262d1c,
+    0x422b2dc8,
+    0x422babea,
+    0x422c2daa,
+    0x422cab9d,
+    0x422d2b76,
+    0x422dad89,
+    0x422e2bc9,
+    0x42302cf8,
+    0x4230ac60,
     0x44320778,
     0x44328787,
     0x44330793,
@@ -649,124 +650,124 @@
     0x4439084d,
     0x4439885b,
     0x443a086e,
-    0x48321351,
-    0x48329363,
-    0x48331379,
-    0x48339392,
-    0x4c3213cf,
-    0x4c3293df,
-    0x4c3313f2,
-    0x4c339412,
+    0x48321372,
+    0x48329384,
+    0x4833139a,
+    0x483393b3,
+    0x4c3213f0,
+    0x4c329400,
+    0x4c331413,
+    0x4c339433,
     0x4c3400b9,
     0x4c3480f7,
-    0x4c35141e,
-    0x4c35942c,
-    0x4c361448,
-    0x4c36946e,
-    0x4c37147d,
-    0x4c37948b,
-    0x4c3814a0,
-    0x4c3894ac,
-    0x4c3914cc,
-    0x4c3994f6,
-    0x4c3a150f,
-    0x4c3a9528,
+    0x4c35143f,
+    0x4c35944d,
+    0x4c361469,
+    0x4c36948f,
+    0x4c37149e,
+    0x4c3794ac,
+    0x4c3814c1,
+    0x4c3894cd,
+    0x4c3914ed,
+    0x4c399517,
+    0x4c3a1530,
+    0x4c3a9549,
     0x4c3b0635,
-    0x4c3b9541,
-    0x4c3c1553,
-    0x4c3c9562,
-    0x4c3d157b,
-    0x4c3d8c92,
-    0x4c3e15e8,
-    0x4c3e958a,
-    0x4c3f160a,
-    0x4c3f9327,
-    0x4c4015a0,
-    0x4c4093bb,
-    0x4c4115d8,
-    0x4c41945b,
-    0x4c4215c4,
-    0x4c4293a3,
-    0x50323592,
-    0x5032b5a1,
-    0x503335ac,
-    0x5033b5bc,
-    0x503435d5,
-    0x5034b5ef,
-    0x503535fd,
-    0x5035b613,
-    0x50363625,
-    0x5036b63b,
-    0x50373654,
-    0x5037b667,
-    0x5038367f,
-    0x5038b690,
-    0x503936a5,
-    0x5039b6b9,
-    0x503a36d9,
-    0x503ab6ef,
-    0x503b3707,
-    0x503bb719,
-    0x503c3735,
-    0x503cb74c,
-    0x503d3765,
-    0x503db77b,
-    0x503e3788,
-    0x503eb79e,
-    0x503f37b0,
+    0x4c3b9562,
+    0x4c3c1574,
+    0x4c3c9583,
+    0x4c3d159c,
+    0x4c3d8cb3,
+    0x4c3e1609,
+    0x4c3e95ab,
+    0x4c3f162b,
+    0x4c3f9348,
+    0x4c4015c1,
+    0x4c4093dc,
+    0x4c4115f9,
+    0x4c41947c,
+    0x4c4215e5,
+    0x4c4293c4,
+    0x503235b3,
+    0x5032b5c2,
+    0x503335cd,
+    0x5033b5dd,
+    0x503435f6,
+    0x5034b610,
+    0x5035361e,
+    0x5035b634,
+    0x50363646,
+    0x5036b65c,
+    0x50373675,
+    0x5037b688,
+    0x503836a0,
+    0x5038b6b1,
+    0x503936c6,
+    0x5039b6da,
+    0x503a36fa,
+    0x503ab710,
+    0x503b3728,
+    0x503bb73a,
+    0x503c3756,
+    0x503cb76d,
+    0x503d3786,
+    0x503db79c,
+    0x503e37a9,
+    0x503eb7bf,
+    0x503f37d1,
     0x503f83b3,
-    0x504037c3,
-    0x5040b7d3,
-    0x504137ed,
-    0x5041b7fc,
-    0x50423816,
-    0x5042b833,
-    0x50433843,
-    0x5043b853,
-    0x50443870,
+    0x504037e4,
+    0x5040b7f4,
+    0x5041380e,
+    0x5041b81d,
+    0x50423837,
+    0x5042b854,
+    0x50433864,
+    0x5043b874,
+    0x50443891,
     0x50448469,
-    0x50453884,
-    0x5045b8a2,
-    0x504638b5,
-    0x5046b8cb,
-    0x504738dd,
-    0x5047b8f2,
-    0x50483918,
-    0x5048b926,
-    0x50493939,
-    0x5049b94e,
-    0x504a3964,
-    0x504ab974,
-    0x504b3994,
-    0x504bb9a7,
-    0x504c39ca,
-    0x504cb9f8,
-    0x504d3a25,
-    0x504dba42,
-    0x504e3a5d,
-    0x504eba79,
-    0x504f3a8b,
-    0x504fbaa2,
-    0x50503ab1,
+    0x504538a5,
+    0x5045b8c3,
+    0x504638d6,
+    0x5046b8ec,
+    0x504738fe,
+    0x5047b913,
+    0x50483939,
+    0x5048b947,
+    0x5049395a,
+    0x5049b96f,
+    0x504a3985,
+    0x504ab995,
+    0x504b39b5,
+    0x504bb9c8,
+    0x504c39eb,
+    0x504cba19,
+    0x504d3a46,
+    0x504dba63,
+    0x504e3a7e,
+    0x504eba9a,
+    0x504f3aac,
+    0x504fbac3,
+    0x50503ad2,
     0x50508729,
-    0x50513ac4,
-    0x5051b862,
-    0x50523a0a,
-    0x58320fb0,
-    0x68320f72,
-    0x68328cca,
-    0x68330cdd,
-    0x68338f80,
-    0x68340f90,
+    0x50513ae5,
+    0x5051b883,
+    0x50523a2b,
+    0x58320fd1,
+    0x68320f93,
+    0x68328ceb,
+    0x68330cfe,
+    0x68338fa1,
+    0x68340fb1,
     0x683480f7,
     0x6835099a,
-    0x6c320f38,
-    0x6c328c81,
-    0x6c330f43,
-    0x6c338f5c,
+    0x6c320f59,
+    0x6c328ca2,
+    0x6c330f64,
+    0x6c338f7d,
     0x74320a66,
     0x743280b9,
-    0x74330c92,
+    0x74330cb3,
     0x783209cb,
     0x783289e0,
     0x783309ec,
@@ -793,22 +794,22 @@
     0x783d8b97,
     0x783e0aed,
     0x783e8a9f,
-    0x7c321240,
-    0x8032146e,
+    0x7c321261,
+    0x8032148f,
     0x80328090,
-    0x8033328e,
+    0x803332af,
     0x803380b9,
-    0x8034329d,
-    0x8034b205,
-    0x80353223,
-    0x8035b2b1,
-    0x80363265,
-    0x8036b214,
-    0x80373257,
-    0x8037b1f2,
-    0x80383278,
-    0x8038b234,
-    0x80393249,
+    0x803432be,
+    0x8034b226,
+    0x80353244,
+    0x8035b2d2,
+    0x80363286,
+    0x8036b235,
+    0x80373278,
+    0x8037b213,
+    0x80383299,
+    0x8038b255,
+    0x8039326a,
 };
 
 const size_t kOpenSSLReasonValuesLen = sizeof(kOpenSSLReasonValues) / sizeof(kOpenSSLReasonValues[0]);
@@ -977,6 +978,7 @@
     "MISSING_EQUAL_SIGN\0"
     "NO_CLOSE_BRACE\0"
     "UNABLE_TO_CREATE_NEW_SECTION\0"
+    "VARIABLE_EXPANSION_NOT_SUPPORTED\0"
     "VARIABLE_EXPANSION_TOO_LONG\0"
     "VARIABLE_HAS_NO_VALUE\0"
     "BAD_GENERATOR\0"
diff --git a/third_party/boringssl/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-linux.S b/third_party/boringssl/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-linux.S
index 734249b..340cc9e 100644
--- a/third_party/boringssl/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-linux.S
+++ b/third_party/boringssl/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-linux.S
@@ -383,17 +383,18 @@
 
 	vzeroupper
 
+	movq	16(%rbp),%r12
 	vmovdqu	(%r8),%xmm1
 	addq	$-128,%rsp
 	movl	12(%r8),%ebx
 	leaq	.Lbswap_mask(%rip),%r11
 	leaq	-128(%rcx),%r14
 	movq	$0xf80,%r15
-	vmovdqu	(%r9),%xmm8
+	vmovdqu	(%r12),%xmm8
 	andq	$-128,%rsp
 	vmovdqu	(%r11),%xmm0
 	leaq	128(%rcx),%rcx
-	leaq	32+32(%r9),%r9
+	leaq	32(%r9),%r9
 	movl	240-128(%rcx),%r10d
 	vpshufb	%xmm0,%xmm8,%xmm8
 
@@ -438,6 +439,7 @@
 
 	call	_aesni_ctr32_ghash_6x
 
+	movq	16(%rbp),%r12
 	vmovups	%xmm9,-96(%rsi)
 	vmovups	%xmm10,-80(%rsi)
 	vmovups	%xmm11,-64(%rsi)
@@ -446,7 +448,7 @@
 	vmovups	%xmm14,-16(%rsi)
 
 	vpshufb	(%r11),%xmm8,%xmm8
-	vmovdqu	%xmm8,-64(%r9)
+	vmovdqu	%xmm8,(%r12)
 
 	vzeroupper
 	leaq	-40(%rbp),%rsp
@@ -658,8 +660,9 @@
 
 	call	_aesni_ctr32_6x
 
-	vmovdqu	(%r9),%xmm8
-	leaq	32+32(%r9),%r9
+	movq	16(%rbp),%r12
+	leaq	32(%r9),%r9
+	vmovdqu	(%r12),%xmm8
 	subq	$12,%rdx
 	movq	$192,%rax
 	vpshufb	%xmm0,%xmm8,%xmm8
@@ -837,8 +840,9 @@
 	vpclmulqdq	$0x10,%xmm3,%xmm8,%xmm8
 	vpxor	%xmm7,%xmm2,%xmm2
 	vpxor	%xmm2,%xmm8,%xmm8
+	movq	16(%rbp),%r12
 	vpshufb	(%r11),%xmm8,%xmm8
-	vmovdqu	%xmm8,-64(%r9)
+	vmovdqu	%xmm8,(%r12)
 
 	vzeroupper
 	leaq	-40(%rbp),%rsp
diff --git a/third_party/boringssl/linux-x86_64/crypto/fipsmodule/aesni-x86_64-linux.S b/third_party/boringssl/linux-x86_64/crypto/fipsmodule/aesni-x86_64-linux.S
index a450c78..fd962c8 100644
--- a/third_party/boringssl/linux-x86_64/crypto/fipsmodule/aesni-x86_64-linux.S
+++ b/third_party/boringssl/linux-x86_64/crypto/fipsmodule/aesni-x86_64-linux.S
@@ -1262,6 +1262,8 @@
 	pxor	%xmm0,%xmm13
 	movdqu	80(%rdi),%xmm15
 	pxor	%xmm0,%xmm14
+	prefetcht0	448(%rdi)
+	prefetcht0	512(%rdi)
 	pxor	%xmm0,%xmm15
 .byte	102,15,56,220,209
 .byte	102,15,56,220,217
diff --git a/third_party/boringssl/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-win.asm b/third_party/boringssl/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-win.asm
index e44dad6..52e2bab 100644
--- a/third_party/boringssl/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-win.asm
+++ b/third_party/boringssl/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64-win.asm
@@ -414,17 +414,18 @@
 $L$SEH_prolog_aesni_gcm_decrypt_21:
 	vzeroupper
 
+	mov	r12,QWORD[64+rbp]
 	vmovdqu	xmm1,XMMWORD[rdi]
 	add	rsp,-128
 	mov	ebx,DWORD[12+rdi]
 	lea	r11,[$L$bswap_mask]
 	lea	r14,[((-128))+r9]
 	mov	r15,0xf80
-	vmovdqu	xmm8,XMMWORD[rsi]
+	vmovdqu	xmm8,XMMWORD[r12]
 	and	rsp,-128
 	vmovdqu	xmm0,XMMWORD[r11]
 	lea	r9,[128+r9]
-	lea	rsi,[((32+32))+rsi]
+	lea	rsi,[32+rsi]
 	mov	r10d,DWORD[((240-128))+r9]
 	vpshufb	xmm8,xmm8,xmm0
 
@@ -469,6 +470,7 @@
 
 	call	_aesni_ctr32_ghash_6x
 
+	mov	r12,QWORD[64+rbp]
 	vmovups	XMMWORD[(-96)+rdx],xmm9
 	vmovups	XMMWORD[(-80)+rdx],xmm10
 	vmovups	XMMWORD[(-64)+rdx],xmm11
@@ -477,7 +479,7 @@
 	vmovups	XMMWORD[(-16)+rdx],xmm14
 
 	vpshufb	xmm8,xmm8,XMMWORD[r11]
-	vmovdqu	XMMWORD[(-64)+rsi],xmm8
+	vmovdqu	XMMWORD[r12],xmm8
 
 	vzeroupper
 	movaps	xmm6,XMMWORD[((-208))+rbp]
@@ -725,8 +727,9 @@
 
 	call	_aesni_ctr32_6x
 
-	vmovdqu	xmm8,XMMWORD[rsi]
-	lea	rsi,[((32+32))+rsi]
+	mov	r12,QWORD[64+rbp]
+	lea	rsi,[32+rsi]
+	vmovdqu	xmm8,XMMWORD[r12]
 	sub	r8,12
 	mov	rax,0x60*2
 	vpshufb	xmm8,xmm8,xmm0
@@ -904,8 +907,9 @@
 	vpclmulqdq	xmm8,xmm8,xmm3,0x10
 	vpxor	xmm2,xmm2,xmm7
 	vpxor	xmm8,xmm8,xmm2
+	mov	r12,QWORD[64+rbp]
 	vpshufb	xmm8,xmm8,XMMWORD[r11]
-	vmovdqu	XMMWORD[(-64)+rsi],xmm8
+	vmovdqu	XMMWORD[r12],xmm8
 
 	vzeroupper
 	movaps	xmm6,XMMWORD[((-208))+rbp]
diff --git a/third_party/boringssl/win-x86_64/crypto/fipsmodule/aesni-x86_64-win.asm b/third_party/boringssl/win-x86_64/crypto/fipsmodule/aesni-x86_64-win.asm
index 2a6d237..09cad73 100644
--- a/third_party/boringssl/win-x86_64/crypto/fipsmodule/aesni-x86_64-win.asm
+++ b/third_party/boringssl/win-x86_64/crypto/fipsmodule/aesni-x86_64-win.asm
@@ -1307,6 +1307,8 @@
 	pxor	xmm13,xmm0
 	movdqu	xmm15,XMMWORD[80+rdi]
 	pxor	xmm14,xmm0
+	prefetcht0	[448+rdi]
+	prefetcht0	[512+rdi]
 	pxor	xmm15,xmm0
 	DB	102,15,56,220,209
 	DB	102,15,56,220,217