public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Than Ngo <than@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/chromium] epel9-next: refresh patches
Date: Fri, 07 Aug 2026 16:06:26 GMT	[thread overview]
Message-ID: <178611878607.1.16545417496402023915.rpms-chromium-3f72327dd34e@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/chromium
Branch : epel9-next
Commit : 3f72327dd34ee1b507c3f4da2f12513d0b2f9267
Author : Than Ngo <than@redhat.com>
Date   : 2024-05-15T13:43:52+02:00
Stats  : +9075/-6020 in 6 file(s)
URL    : https://src.fedoraproject.org/rpms/chromium/c/3f72327dd34ee1b507c3f4da2f12513d0b2f9267?branch=epel9-next

Log:
refresh patches

---
diff --git a/0001-Add-PPC64-support-for-boringssl.patch b/0001-Add-PPC64-support-for-boringssl.patch
index f636451..6364b69 100644
--- a/0001-Add-PPC64-support-for-boringssl.patch
+++ b/0001-Add-PPC64-support-for-boringssl.patch
@@ -1,7 +1,7 @@
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/abi_self_test.cc
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/abi_self_test.cc
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/abi_self_test.cc
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/abi_self_test.cc
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/abi_self_test.cc
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/abi_self_test.cc
 @@ -521,3 +521,289 @@ TEST(ABITest, AArch64) {
    CHECK_ABI_NO_UNWIND(abi_test_clobber_v15_upper);
  }
@@ -292,10 +292,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/abi_self_test.cc
 +  CHECK_ABI_NO_UNWIND(abi_test_clobber_lr);
 +}
 +#endif   // OPENSSL_PPC64LE && SUPPORTS_ABI_TEST
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/cpu_ppc64le.c
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/cpu_ppc64le.c
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/cpu_ppc64le.c
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/cpu_ppc64le.c
 @@ -0,0 +1,38 @@
 +/* Copyright (c) 2016, Google Inc.
 + *
@@ -335,10 +335,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/cpu_ppc64le.c
 +}
 +
 +#endif  // OPENSSL_PPC64LE
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/crypto.c
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/crypto.c
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/crypto.c
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/crypto.c
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/crypto.c
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/crypto.c
 @@ -25,10 +25,12 @@ static_assert(sizeof(ossl_ssize_t) == si
                "ossl_ssize_t should be the same size as size_t");
  
@@ -377,10 +377,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/crypto.c
  #elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
  
  #include <openssl/arm_arch.h>
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
 @@ -0,0 +1,3809 @@
 +#! /usr/bin/env perl
 +# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved.
@@ -4191,10 +4191,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/as
 +}
 +
 +close STDOUT or die "error closing STDOUT: $!";
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
 @@ -59,6 +59,12 @@ OPENSSL_INLINE int vpaes_capable(void) {
  OPENSSL_INLINE int vpaes_capable(void) { return CRYPTO_is_NEON_capable(); }
  #endif
@@ -4208,10 +4208,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/in
  #endif
  
  #endif  // !NO_ASM
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bcm.c
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/bcm.c
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.c
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bcm.c
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.c
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/bcm.c
 @@ -102,6 +102,7 @@
  #include "self_check/fips.c"
  #include "self_check/self_check.c"
@@ -4220,10 +4220,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bcm.c
  #include "sha/sha1.c"
  #include "sha/sha256.c"
  #include "sha/sha512.c"
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
 @@ -384,6 +384,23 @@ int bn_expand(BIGNUM *bn, size_t bits) {
  }
  
@@ -4248,10 +4248,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bn/bn.
    if ((size_t)bn->width <= words) {
      if (!bn_wexpand(bn, words)) {
        return 0;
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
 @@ -1455,6 +1455,8 @@ int EVP_has_aes_hardware(void) {
    return hwaes_capable() && crypto_gcm_clmul_enabled();
  #elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
@@ -4261,10 +4261,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/cipher
  #else
    return 0;
  #endif
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
 @@ -0,0 +1,671 @@
 +#! /usr/bin/env perl
 +# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
@@ -4937,10 +4937,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/
 +}
 +
 +close STDOUT or die "error closing STDOUT: $!"; # enforce flush
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
 @@ -228,6 +228,13 @@ void CRYPTO_ghash_init(gmult_func *out_m
      *out_hash = gcm_ghash_neon;
      return;
@@ -4955,10 +4955,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/
  #endif
  
    gcm_init_nohw(out_table, H);
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
 @@ -215,5 +215,15 @@ TEST(GCMTest, ABI) {
      }
    }
@@ -4975,10 +4975,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/
 +#endif  // GHASH_ASM_PPC64LE
  }
  #endif  // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
 @@ -325,6 +325,13 @@ void aes_gcm_dec_kernel(const uint8_t *i
                          const u128 Htable[16]);
  #endif
@@ -4993,10 +4993,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/
  #endif
  #endif  // OPENSSL_NO_ASM
  
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
 @@ -30,6 +30,8 @@
  #define EXPECTED_NR_getrandom 278
  #elif defined(OPENSSL_ARM)
@@ -5006,10 +5006,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand/g
  #elif defined(OPENSSL_RISCV64)
  #define EXPECTED_NR_getrandom 278
  #endif
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
 @@ -431,6 +431,11 @@ void RAND_bytes_with_additional_data(uin
      // Take a read lock around accesses to |state->drbg|. This is needed to
      // avoid returning bad entropy if we race with
@@ -5022,16 +5022,15 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand/r
      CRYPTO_MUTEX_lock_read(&state->clear_drbg_lock);
  #endif
      if (!CTR_DRBG_reseed(&state->drbg, seed, reseed_additional_data,
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
-@@ -23,6 +23,17 @@
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+@@ -23,6 +23,16 @@
  extern "C" {
  #endif
  
-+#if defined(OPENSSL_PPC64LE) ||                                                   \
-+    (!defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86))
++#if defined(OPENSSL_PPC64LE)
 +// POWER has an intrinsics-based implementation of SHA-1 and thus the functions
 +// normally defined in assembly are available even with |OPENSSL_NO_ASM| in
 +// this case.
@@ -5044,10 +5043,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/in
  // Define SHA{n}[_{variant}]_ASM if sha{n}_block_data_order[_{variant}] is
  // defined in assembly.
  
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c
 @@ -0,0 +1,361 @@
 +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
 + * All rights reserved.
@@ -5410,10 +5409,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/sh
 +#undef BODY_20_39
 +#undef BODY_40_59
 +#undef BODY_60_79
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/internal.h
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/internal.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/internal.h
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/internal.h
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/internal.h
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/internal.h
 @@ -181,7 +181,7 @@ extern "C" {
  
  
@@ -5423,7 +5422,7 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/internal.h
  // OPENSSL_cpuid_setup initializes the platform-specific feature cache.
  void OPENSSL_cpuid_setup(void);
  #endif
-@@ -1632,6 +1632,16 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA51
+@@ -1638,6 +1638,16 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA51
  
  #endif  // OPENSSL_ARM || OPENSSL_AARCH64
  
@@ -5440,10 +5439,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/internal.h
  #if defined(BORINGSSL_DISPATCH_TEST)
  // Runtime CPU dispatch testing support
  
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
 @@ -0,0 +1,320 @@
 +#! /usr/bin/env perl
 +# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.
@@ -5765,10 +5764,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/perlasm/ppc-xlate
 +___
 +
 +close STDOUT or die "error closing STDOUT: $!";
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/abi_test.h
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/test/abi_test.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/test/abi_test.h
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/abi_test.h
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/test/abi_test.h
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/test/abi_test.h
 @@ -179,7 +179,78 @@ struct alignas(16) Reg128 {
    CALLER_STATE_REGISTER(uint64_t, x28)                               \
    CALLER_STATE_REGISTER(uint64_t, x29)
@@ -5875,10 +5874,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/abi_test.h
    static_assert(sizeof...(args) <= 8,
                  "too many arguments for abi_test_trampoline");
  
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
 @@ -0,0 +1,262 @@
 +#!/usr/bin/env perl
 +# Copyright (c) 2019, Google Inc.
@@ -6142,10 +6141,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/asm/trampoli
 +
 +print $code;
 +close STDOUT or die "error closing STDOUT: $!";
-Index: chromium-124.0.6367.60/third_party/boringssl/src/include/openssl/target.h
+Index: chromium-125.0.6422.41/third_party/boringssl/src/include/openssl/target.h
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/include/openssl/target.h
-+++ chromium-124.0.6367.60/third_party/boringssl/src/include/openssl/target.h
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/include/openssl/target.h
++++ chromium-125.0.6422.41/third_party/boringssl/src/include/openssl/target.h
 @@ -34,6 +34,9 @@
  #elif defined(__ARMEL__) || defined(_M_ARM)
  #define OPENSSL_32_BIT
@@ -6156,10 +6155,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/include/openssl/target.h
  #elif defined(__MIPSEL__) && !defined(__LP64__)
  #define OPENSSL_32_BIT
  #define OPENSSL_MIPS
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
 @@ -37,6 +37,8 @@ int main(int argc, char **argv) {
      puts("ARM (32-bit)");
  #elif defined(OPENSSL_AARCH64)
@@ -6169,10 +6168,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/acvp/modu
  #else
  #error "FIPS build not supported on this architecture"
  #endif
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/delocate.go
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/delocate.go
 @@ -54,7 +54,8 @@ type stringWriter interface {
  type processorType int
  
@@ -6772,10 +6771,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/
  		case "str", "bl", "ldr", "st1":
  			return aarch64
  		}
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
 @@ -12,7 +12,7 @@
  # OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
@@ -6785,10 +6784,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/
  # https://github.com/pointlander/peg. delocate.go has a go:generate line for
  # rebuilding delocate.peg.go from this file.
  
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
 @@ -39,6 +39,11 @@ func (test *delocateTest) Path(file stri
  
  var delocateTests = []delocateTest{
@@ -6801,10 +6800,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/
  	{"x86_64-Basic", []string{"in.s"}, "out.s"},
  	{"x86_64-BSS", []string{"in.s"}, "out.s"},
  	{"x86_64-GOTRewrite", []string{"in.s"}, "out.s"},
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
 @@ -0,0 +1,9 @@
 +	.text
 +foo:
@@ -6815,10 +6814,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/
 +	.localentry foo,.-foo
 +.LVL0:
 +	bl
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
 @@ -0,0 +1,62 @@
 +.text
 +.file 1 "inserted_by_delocate.c"
@@ -6882,19 +6881,19 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/
 +.byte 0xff
 +.byte 0x31
 +.byte 0x80
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
 @@ -0,0 +1,4 @@
 +	.text
 +foo:
 +	addis 22,2,bar@toc@ha
 +	ld 0,bar@toc@l(22)
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
 @@ -0,0 +1,72 @@
 +.text
 +.file 1 "inserted_by_delocate.c"
@@ -6968,10 +6967,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/
 +.byte 0xff
 +.byte 0x31
 +.byte 0x80
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
 @@ -0,0 +1,161 @@
 +	.file	"foo.c"
 +	.abiversion 2
@@ -7134,10 +7133,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/
 +	.size	exported_function,.-exported_function
 +	.ident	"GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2"
 +	.section	.note.GNU-stack,"",@progbits
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
 @@ -0,0 +1,552 @@
 +.text
 +.file 1 "inserted_by_delocate.c"
@@ -7691,10 +7690,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/
 +.byte 0xff
 +.byte 0x31
 +.byte 0x80
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
 @@ -0,0 +1,226 @@
 +	.file	"foo.c"
 +	.abiversion 2
@@ -7922,10 +7921,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/
 +	.zero	20
 +	.ident	"GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2"
 +	.section	.note.GNU-stack,"",@progbits
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
 @@ -0,0 +1,677 @@
 +.text
 +.file 1 "inserted_by_delocate.c"
@@ -8604,10 +8603,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/
 +.byte 0xff
 +.byte 0x31
 +.byte 0x80
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
 @@ -0,0 +1,23 @@
 +	.text
 +foo:
@@ -8632,10 +8631,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/
 +
 +	addis 4, 2, 1+foo-2@toc@ha+3
 +	addi 4, 4, 1+foo-2@toc@l+3
-Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
 ===================================================================
 --- /dev/null
-+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
 @@ -0,0 +1,178 @@
 +.text
 +.file 1 "inserted_by_delocate.c"
@@ -8815,10 +8814,10 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/
 +.byte 0xff
 +.byte 0x31
 +.byte 0x80
-Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c
+Index: chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c
 ===================================================================
---- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c
-+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c
++++ chromium-125.0.6422.41/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c
 @@ -416,6 +416,10 @@ static void sha1_block_data_order(uint32
      return;
    }
@@ -8830,3 +8829,99 @@ Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/sh
    sha1_block_data_order_nohw(state, data, num);
  }
  
+Index: chromium-125.0.6422.41/third_party/boringssl/src/build.json
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/build.json
++++ chromium-125.0.6422.41/third_party/boringssl/src/build.json
+@@ -118,6 +118,10 @@
+             {"src": "crypto/fipsmodule/sha/asm/sha512-armv4.pl"},
+             {"src": "crypto/fipsmodule/aes/asm/vpaes-armv7.pl"}
+         ],
++        "perlasm_ppc64le": [
++            {"src": "crypto/fipsmodule/aes/asm/aesp8-ppc.pl"},
++            {"src": "crypto/fipsmodule/modes/asm/ghashp8-ppc.pl"}
++        ],
+         "perlasm_x86": [
+             {"src": "crypto/fipsmodule/aes/asm/aesni-x86.pl"},
+             {"src": "crypto/fipsmodule/bn/asm/bn-586.pl"},
+@@ -221,6 +225,7 @@
+             "crypto/cpu_arm_freebsd.c",
+             "crypto/cpu_arm_linux.c",
+             "crypto/cpu_intel.c",
++            "crypto/cpu_ppc64le.c",
+             "crypto/crypto.c",
+             "crypto/curve25519/curve25519.c",
+             "crypto/curve25519/curve25519_64_adx.c",
+@@ -765,6 +770,9 @@
+         "perlasm_arm": [
+             {"src": "crypto/test/asm/trampoline-armv4.pl"}
+         ],
++        "perlasm_ppc64le": [
++            {"src": "crypto/test/asm/trampoline-ppc.pl"}
++        ],
+         "perlasm_x86": [
+             {"src": "crypto/test/asm/trampoline-x86.pl"}
+         ],
+Index: chromium-125.0.6422.41/third_party/boringssl/src/util/pregenerate/build.go
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/boringssl/src/util/pregenerate/build.go
++++ chromium-125.0.6422.41/third_party/boringssl/src/util/pregenerate/build.go
+@@ -38,6 +38,7 @@ type InputTarget struct {
+ 	// architecture.
+ 	PerlasmAarch64 []PerlasmSource `json:"perlasm_aarch64,omitempty"`
+ 	PerlasmArm     []PerlasmSource `json:"perlasm_arm,omitempty"`
++	PerlasmPPC64LE []PerlasmSource `json:"perlasm_ppc64le,omitempty"`
+ 	PerlasmX86     []PerlasmSource `json:"perlasm_x86,omitempty"`
+ 	PerlasmX86_64  []PerlasmSource `json:"perlasm_x86_64,omitempty"`
+ }
+@@ -116,6 +117,9 @@ func (in *InputTarget) Pregenerate(name
+ 	for _, p := range in.PerlasmArm {
+ 		addPerlasmTask(&out.Asm, &p, "-linux.S", []string{"linux32"})
+ 	}
++	for _, p := range in.PerlasmPPC64LE {
++		addPerlasmTask(&out.Asm, &p, "-linux.S", []string{"linux64le"})
++	}
+ 	for _, p := range in.PerlasmX86 {
+ 		addPerlasmTask(&out.Asm, &p, "-apple.S", []string{"macosx", "-fPIC", "-DOPENSSL_IA32_SSE2"})
+ 		addPerlasmTask(&out.Asm, &p, "-linux.S", []string{"elf", "-fPIC", "-DOPENSSL_IA32_SSE2"})
+Index: chromium-125.0.6422.41/third_party/boringssl/BUILD.generated.gni
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/boringssl/BUILD.generated.gni
++++ chromium-125.0.6422.41/third_party/boringssl/BUILD.generated.gni
+@@ -93,6 +93,7 @@ crypto_sources = [
+   "src/crypto/cpu_arm_linux.c",
+   "src/crypto/cpu_arm_linux.h",
+   "src/crypto/cpu_intel.c",
++  "src/crypto/cpu_ppc64le.c",
+   "src/crypto/crypto.c",
+   "src/crypto/curve25519/curve25519.c",
+   "src/crypto/curve25519/curve25519_64_adx.c",
+@@ -334,6 +335,7 @@ crypto_sources_asm = [
+   "src/gen/bcm/aesv8-gcm-armv8-apple.S",
+   "src/gen/bcm/aesv8-gcm-armv8-linux.S",
+   "src/gen/bcm/aesv8-gcm-armv8-win.S",
++  "src/gen/bcm/aesp8-ppc-linux.S",
+   "src/gen/bcm/armv4-mont-linux.S",
+   "src/gen/bcm/armv8-mont-apple.S",
+   "src/gen/bcm/armv8-mont-linux.S",
+@@ -350,6 +352,7 @@ crypto_sources_asm = [
+   "src/gen/bcm/ghash-neon-armv8-apple.S",
+   "src/gen/bcm/ghash-neon-armv8-linux.S",
+   "src/gen/bcm/ghash-neon-armv8-win.S",
++  "src/gen/bcm/ghashp8-ppc-linux.S",
+   "src/gen/bcm/ghash-ssse3-x86-apple.S",
+   "src/gen/bcm/ghash-ssse3-x86-linux.S",
+   "src/gen/bcm/ghash-ssse3-x86_64-apple.S",
+Index: chromium-125.0.6422.41/third_party/boringssl/README.ppc64le
+===================================================================
+--- /dev/null
++++ chromium-125.0.6422.41/third_party/boringssl/README.ppc64le
+@@ -0,0 +1,8 @@
++==============================================================
++To recreate boringssl pregenerated files patch for ppc64le:
++
++cd third_party/boringssl/src
++cp -Rp gen gen.orig
++go run ./util/pregenerate
++cd ../../../../
++diff -urN chromium-*/third_party/boringssl/src/gen.orig chromium-*/third_party/boringssl/src/gen

diff --git a/0002-Add-PPC64-generated-files-for-boringssl.patch b/0002-Add-PPC64-generated-files-for-boringssl.patch
new file mode 100644
index 0000000..5ab5f16
--- /dev/null
+++ b/0002-Add-PPC64-generated-files-for-boringssl.patch
@@ -0,0 +1,8638 @@
+diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/bcm/aesp8-ppc-linux.S chromium-125.0.6422.41/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
+--- chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/bcm/aesp8-ppc-linux.S	1970-01-01 00:00:00.000000000 +0000
++++ chromium-125.0.6422.41/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S	2024-05-14 17:55:16.198250869 +0000
+@@ -0,0 +1,3673 @@
++// This file is generated from a similarly-named Perl script in the BoringSSL
++// source tree. Do not edit by hand.
++
++#if defined(__has_feature)
++#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
++#define OPENSSL_NO_ASM
++#endif
++#endif
++
++#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) && defined(__ELF__)
++.machine	"any"
++
++.abiversion	2
++.text
++
++.align	7
++.Lrcon:
++.byte	0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01
++.byte	0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b
++.byte	0x0c,0x0f,0x0e,0x0d,0x0c,0x0f,0x0e,0x0d,0x0c,0x0f,0x0e,0x0d,0x0c,0x0f,0x0e,0x0d
++.byte	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
++.Lconsts:
++	mflr	0
++	bcl	20,31,$+4
++	mflr	6
++	addi	6,6,-0x48
++	mtlr	0
++	blr	
++.long	0
++.byte	0,12,0x14,0,0,0,0,0
++.byte	65,69,83,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
++.align	2
++
++.globl	aes_hw_set_encrypt_key
++.type	aes_hw_set_encrypt_key,@function
++.align	5
++aes_hw_set_encrypt_key:
++.localentry	aes_hw_set_encrypt_key,0
++
++.Lset_encrypt_key:
++	mflr	11
++	std	11,16(1)
++
++	li	6,-1
++	cmpldi	3,0
++	beq-	.Lenc_key_abort
++	cmpldi	5,0
++	beq-	.Lenc_key_abort
++	li	6,-2
++	cmpwi	4,128
++	blt-	.Lenc_key_abort
++	cmpwi	4,256
++	bgt-	.Lenc_key_abort
++	andi.	0,4,0x3f
++	bne-	.Lenc_key_abort
++
++	lis	0,0xfff0
++	li	12,-1
++	or	0,0,0
++
++	bl	.Lconsts
++	mtlr	11
++
++	neg	9,3
++	lvx	1,0,3
++	addi	3,3,15
++	lvsr	3,0,9
++	li	8,0x20
++	cmpwi	4,192
++	lvx	2,0,3
++	vspltisb	5,0x0f
++	lvx	4,0,6
++	vxor	3,3,5
++	lvx	5,8,6
++	addi	6,6,0x10
++	vperm	1,1,2,3
++	li	7,8
++	vxor	0,0,0
++	mtctr	7
++
++	lvsl	8,0,5
++	vspltisb	9,-1
++	lvx	10,0,5
++	vperm	9,9,0,8
++
++	blt	.Loop128
++	addi	3,3,8
++	beq	.L192
++	addi	3,3,8
++	b	.L256
++
++.align	4
++.Loop128:
++	vperm	3,1,1,5
++	vsldoi	6,0,1,12
++	vperm	11,1,1,8
++	vsel	7,10,11,9
++	vor	10,11,11
++	.long	0x10632509
++	stvx	7,0,5
++	addi	5,5,16
++
++	vxor	1,1,6
++	vsldoi	6,0,6,12
++	vxor	1,1,6
++	vsldoi	6,0,6,12
++	vxor	1,1,6
++	vadduwm	4,4,4
++	vxor	1,1,3
++	bdnz	.Loop128
++
++	lvx	4,0,6
++
++	vperm	3,1,1,5
++	vsldoi	6,0,1,12
++	vperm	11,1,1,8
++	vsel	7,10,11,9
++	vor	10,11,11
++	.long	0x10632509
++	stvx	7,0,5
++	addi	5,5,16
++
++	vxor	1,1,6
++	vsldoi	6,0,6,12
++	vxor	1,1,6
++	vsldoi	6,0,6,12
++	vxor	1,1,6
++	vadduwm	4,4,4
++	vxor	1,1,3
++
++	vperm	3,1,1,5
++	vsldoi	6,0,1,12
++	vperm	11,1,1,8
++	vsel	7,10,11,9
++	vor	10,11,11
++	.long	0x10632509
++	stvx	7,0,5
++	addi	5,5,16
++
++	vxor	1,1,6
++	vsldoi	6,0,6,12
++	vxor	1,1,6
++	vsldoi	6,0,6,12
++	vxor	1,1,6
++	vxor	1,1,3
++	vperm	11,1,1,8
++	vsel	7,10,11,9
++	vor	10,11,11
++	stvx	7,0,5
++
++	addi	3,5,15
++	addi	5,5,0x50
++
++	li	8,10
++	b	.Ldone
++
++.align	4
++.L192:
++	lvx	6,0,3
++	li	7,4
++	vperm	11,1,1,8
++	vsel	7,10,11,9
++	vor	10,11,11
++	stvx	7,0,5
++	addi	5,5,16
++	vperm	2,2,6,3
++	vspltisb	3,8
++	mtctr	7
++	vsububm	5,5,3
++
++.Loop192:
++	vperm	3,2,2,5
++	vsldoi	6,0,1,12
++	.long	0x10632509
++
++	vxor	1,1,6
++	vsldoi	6,0,6,12
++	vxor	1,1,6
++	vsldoi	6,0,6,12
++	vxor	1,1,6
++
++	vsldoi	7,0,2,8
++	vspltw	6,1,3
++	vxor	6,6,2
++	vsldoi	2,0,2,12
++	vadduwm	4,4,4
++	vxor	2,2,6
++	vxor	1,1,3
++	vxor	2,2,3
++	vsldoi	7,7,1,8
++
++	vperm	3,2,2,5
++	vsldoi	6,0,1,12
++	vperm	11,7,7,8
++	vsel	7,10,11,9
++	vor	10,11,11
++	.long	0x10632509
++	stvx	7,0,5
++	addi	5,5,16
++
++	vsldoi	7,1,2,8
++	vxor	1,1,6
++	vsldoi	6,0,6,12
++	vperm	11,7,7,8
++	vsel	7,10,11,9
++	vor	10,11,11
++	vxor	1,1,6
++	vsldoi	6,0,6,12
++	vxor	1,1,6
++	stvx	7,0,5
++	addi	5,5,16
++
++	vspltw	6,1,3
++	vxor	6,6,2
++	vsldoi	2,0,2,12
++	vadduwm	4,4,4
++	vxor	2,2,6
++	vxor	1,1,3
++	vxor	2,2,3
++	vperm	11,1,1,8
++	vsel	7,10,11,9
++	vor	10,11,11
++	stvx	7,0,5
++	addi	3,5,15
++	addi	5,5,16
++	bdnz	.Loop192
++
++	li	8,12
++	addi	5,5,0x20
++	b	.Ldone
++
++.align	4
++.L256:
++	lvx	6,0,3
++	li	7,7
++	li	8,14
++	vperm	11,1,1,8
++	vsel	7,10,11,9
++	vor	10,11,11
++	stvx	7,0,5
++	addi	5,5,16
++	vperm	2,2,6,3
++	mtctr	7
++
++.Loop256:
++	vperm	3,2,2,5
++	vsldoi	6,0,1,12
++	vperm	11,2,2,8
++	vsel	7,10,11,9
++	vor	10,11,11
++	.long	0x10632509
++	stvx	7,0,5
++	addi	5,5,16
++
++	vxor	1,1,6
++	vsldoi	6,0,6,12
++	vxor	1,1,6
++	vsldoi	6,0,6,12
++	vxor	1,1,6
++	vadduwm	4,4,4
++	vxor	1,1,3
++	vperm	11,1,1,8
++	vsel	7,10,11,9
++	vor	10,11,11
++	stvx	7,0,5
++	addi	3,5,15
++	addi	5,5,16
++	bdz	.Ldone
++
++	vspltw	3,1,3
++	vsldoi	6,0,2,12
++	.long	0x106305C8
++
++	vxor	2,2,6
++	vsldoi	6,0,6,12
++	vxor	2,2,6
++	vsldoi	6,0,6,12
++	vxor	2,2,6
++
++	vxor	2,2,3
++	b	.Loop256
++
++.align	4
++.Ldone:
++	lvx	2,0,3
++	vsel	2,10,2,9
++	stvx	2,0,3
++	li	6,0
++	or	12,12,12
++	stw	8,0(5)
++
++.Lenc_key_abort:
++	mr	3,6
++	blr	
++.long	0
++.byte	0,12,0x14,1,0,0,3,0
++.long	0
++.size	aes_hw_set_encrypt_key,.-aes_hw_set_encrypt_key
++
++.globl	aes_hw_set_decrypt_key
++.type	aes_hw_set_decrypt_key,@function
++.align	5
++aes_hw_set_decrypt_key:
++.localentry	aes_hw_set_decrypt_key,0
++
++	stdu	1,-64(1)
++	mflr	10
++	std	10,80(1)
++	bl	.Lset_encrypt_key
++	mtlr	10
++
++	cmpwi	3,0
++	bne-	.Ldec_key_abort
++
++	slwi	7,8,4
++	subi	3,5,240
++	srwi	8,8,1
++	add	5,3,7
++	mtctr	8
++
++.Ldeckey:
++	lwz	0, 0(3)
++	lwz	6, 4(3)
++	lwz	7, 8(3)
++	lwz	8, 12(3)
++	addi	3,3,16
++	lwz	9, 0(5)
++	lwz	10,4(5)
++	lwz	11,8(5)
++	lwz	12,12(5)
++	stw	0, 0(5)
++	stw	6, 4(5)
++	stw	7, 8(5)
++	stw	8, 12(5)
++	subi	5,5,16
++	stw	9, -16(3)
++	stw	10,-12(3)
++	stw	11,-8(3)
++	stw	12,-4(3)
++	bdnz	.Ldeckey
++
++	xor	3,3,3
++.Ldec_key_abort:
++	addi	1,1,64
++	blr	
++.long	0
++.byte	0,12,4,1,0x80,0,3,0
++.long	0
++.size	aes_hw_set_decrypt_key,.-aes_hw_set_decrypt_key
++.globl	aes_hw_encrypt
++.type	aes_hw_encrypt,@function
++.align	5
++aes_hw_encrypt:
++.localentry	aes_hw_encrypt,0
++
++	lwz	6,240(5)
++	lis	0,0xfc00
++	li	12,-1
++	li	7,15
++	or	0,0,0
++
++	lvx	0,0,3
++	neg	11,4
++	lvx	1,7,3
++	lvsl	2,0,3
++	vspltisb	4,0x0f
++	lvsr	3,0,11
++	vxor	2,2,4
++	li	7,16
++	vperm	0,0,1,2
++	lvx	1,0,5
++	lvsr	5,0,5
++	srwi	6,6,1
++	lvx	2,7,5
++	addi	7,7,16
++	subi	6,6,1
++	vperm	1,2,1,5
++
++	vxor	0,0,1
++	lvx	1,7,5
++	addi	7,7,16
++	mtctr	6
++
++.Loop_enc:
++	vperm	2,1,2,5
++	.long	0x10001508
++	lvx	2,7,5
++	addi	7,7,16
++	vperm	1,2,1,5
++	.long	0x10000D08
++	lvx	1,7,5
++	addi	7,7,16
++	bdnz	.Loop_enc
++
++	vperm	2,1,2,5
++	.long	0x10001508
++	lvx	2,7,5
++	vperm	1,2,1,5
++	.long	0x10000D09
++
++	vspltisb	2,-1
++	vxor	1,1,1
++	li	7,15
++	vperm	2,2,1,3
++	vxor	3,3,4
++	lvx	1,0,4
++	vperm	0,0,0,3
++	vsel	1,1,0,2
++	lvx	4,7,4
++	stvx	1,0,4
++	vsel	0,0,4,2
++	stvx	0,7,4
++
++	or	12,12,12
++	blr	
++.long	0
++.byte	0,12,0x14,0,0,0,3,0
++.long	0
++.size	aes_hw_encrypt,.-aes_hw_encrypt
++.globl	aes_hw_decrypt
++.type	aes_hw_decrypt,@function
++.align	5
++aes_hw_decrypt:
++.localentry	aes_hw_decrypt,0
++
++	lwz	6,240(5)
++	lis	0,0xfc00
++	li	12,-1
++	li	7,15
++	or	0,0,0
++
++	lvx	0,0,3
++	neg	11,4
++	lvx	1,7,3
++	lvsl	2,0,3
++	vspltisb	4,0x0f
++	lvsr	3,0,11
++	vxor	2,2,4
++	li	7,16
++	vperm	0,0,1,2
++	lvx	1,0,5
++	lvsr	5,0,5
++	srwi	6,6,1
++	lvx	2,7,5
++	addi	7,7,16
++	subi	6,6,1
++	vperm	1,2,1,5
++
++	vxor	0,0,1
++	lvx	1,7,5
++	addi	7,7,16
++	mtctr	6
++
++.Loop_dec:
++	vperm	2,1,2,5
++	.long	0x10001548
++	lvx	2,7,5
++	addi	7,7,16
++	vperm	1,2,1,5
++	.long	0x10000D48
++	lvx	1,7,5
++	addi	7,7,16
++	bdnz	.Loop_dec
++
++	vperm	2,1,2,5
++	.long	0x10001548
++	lvx	2,7,5
++	vperm	1,2,1,5
++	.long	0x10000D49
++
++	vspltisb	2,-1
++	vxor	1,1,1
++	li	7,15
++	vperm	2,2,1,3
++	vxor	3,3,4
++	lvx	1,0,4
++	vperm	0,0,0,3
++	vsel	1,1,0,2
++	lvx	4,7,4
++	stvx	1,0,4
++	vsel	0,0,4,2
++	stvx	0,7,4
++
++	or	12,12,12
++	blr	
++.long	0
++.byte	0,12,0x14,0,0,0,3,0
++.long	0
++.size	aes_hw_decrypt,.-aes_hw_decrypt
++.globl	aes_hw_cbc_encrypt
++.type	aes_hw_cbc_encrypt,@function
++.align	5
++aes_hw_cbc_encrypt:
++.localentry	aes_hw_cbc_encrypt,0
++
++	cmpldi	5,16
++	.long	0x4dc00020
++
++	cmpwi	8,0
++	lis	0,0xffe0
++	li	12,-1
++	or	0,0,0
++
++	li	10,15
++	vxor	0,0,0
++	vspltisb	3,0x0f
++
++	lvx	4,0,7
++	lvsl	6,0,7
++	lvx	5,10,7
++	vxor	6,6,3
++	vperm	4,4,5,6
++
++	neg	11,3
++	lvsr	10,0,6
++	lwz	9,240(6)
++
++	lvsr	6,0,11
++	lvx	5,0,3
++	addi	3,3,15
++	vxor	6,6,3
++
++	lvsl	8,0,4
++	vspltisb	9,-1
++	lvx	7,0,4
++	vperm	9,9,0,8
++	vxor	8,8,3
++
++	srwi	9,9,1
++	li	10,16
++	subi	9,9,1
++	beq	.Lcbc_dec
++
++.Lcbc_enc:
++	vor	2,5,5
++	lvx	5,0,3
++	addi	3,3,16
++	mtctr	9
++	subi	5,5,16
++
++	lvx	0,0,6
++	vperm	2,2,5,6
++	lvx	1,10,6
++	addi	10,10,16
++	vperm	0,1,0,10
++	vxor	2,2,0
++	lvx	0,10,6
++	addi	10,10,16
++	vxor	2,2,4
++
++.Loop_cbc_enc:
++	vperm	1,0,1,10
++	.long	0x10420D08
++	lvx	1,10,6
++	addi	10,10,16
++	vperm	0,1,0,10
++	.long	0x10420508
++	lvx	0,10,6
++	addi	10,10,16
++	bdnz	.Loop_cbc_enc
++
++	vperm	1,0,1,10
++	.long	0x10420D08
++	lvx	1,10,6
++	li	10,16
++	vperm	0,1,0,10
++	.long	0x10820509
++	cmpldi	5,16
++
++	vperm	3,4,4,8
++	vsel	2,7,3,9
++	vor	7,3,3
++	stvx	2,0,4
++	addi	4,4,16
++	bge	.Lcbc_enc
++
++	b	.Lcbc_done
++
++.align	4
++.Lcbc_dec:
++	cmpldi	5,128
++	bge	_aesp8_cbc_decrypt8x
++	vor	3,5,5
++	lvx	5,0,3
++	addi	3,3,16
++	mtctr	9
++	subi	5,5,16
++
++	lvx	0,0,6
++	vperm	3,3,5,6
++	lvx	1,10,6
++	addi	10,10,16
++	vperm	0,1,0,10
++	vxor	2,3,0
++	lvx	0,10,6
++	addi	10,10,16
++
++.Loop_cbc_dec:
++	vperm	1,0,1,10
++	.long	0x10420D48
++	lvx	1,10,6
++	addi	10,10,16
++	vperm	0,1,0,10
++	.long	0x10420548
++	lvx	0,10,6
++	addi	10,10,16
++	bdnz	.Loop_cbc_dec
++
++	vperm	1,0,1,10
++	.long	0x10420D48
++	lvx	1,10,6
++	li	10,16
++	vperm	0,1,0,10
++	.long	0x10420549
++	cmpldi	5,16
++
++	vxor	2,2,4
++	vor	4,3,3
++	vperm	3,2,2,8
++	vsel	2,7,3,9
++	vor	7,3,3
++	stvx	2,0,4
++	addi	4,4,16
++	bge	.Lcbc_dec
++
++.Lcbc_done:
++	addi	4,4,-1
++	lvx	2,0,4
++	vsel	2,7,2,9
++	stvx	2,0,4
++
++	neg	8,7
++	li	10,15
++	vxor	0,0,0
++	vspltisb	9,-1
++	vspltisb	3,0x0f
++	lvsr	8,0,8
++	vperm	9,9,0,8
++	vxor	8,8,3
++	lvx	7,0,7
++	vperm	4,4,4,8
++	vsel	2,7,4,9
++	lvx	5,10,7
++	stvx	2,0,7
++	vsel	2,4,5,9
++	stvx	2,10,7
++
++	or	12,12,12
++	blr	
++.long	0
++.byte	0,12,0x14,0,0,0,6,0
++.long	0
++.align	5
++_aesp8_cbc_decrypt8x:
++	stdu	1,-448(1)
++	li	10,207
++	li	11,223
++	stvx	20,10,1
++	addi	10,10,32
++	stvx	21,11,1
++	addi	11,11,32
++	stvx	22,10,1
++	addi	10,10,32
++	stvx	23,11,1
++	addi	11,11,32
++	stvx	24,10,1
++	addi	10,10,32
++	stvx	25,11,1
++	addi	11,11,32
++	stvx	26,10,1
++	addi	10,10,32
++	stvx	27,11,1
++	addi	11,11,32
++	stvx	28,10,1
++	addi	10,10,32
++	stvx	29,11,1
++	addi	11,11,32
++	stvx	30,10,1
++	stvx	31,11,1
++	li	0,-1
++	stw	12,396(1)
++	li	8,0x10
++	std	26,400(1)
++	li	26,0x20
++	std	27,408(1)
++	li	27,0x30
++	std	28,416(1)
++	li	28,0x40
++	std	29,424(1)
++	li	29,0x50
++	std	30,432(1)
++	li	30,0x60
++	std	31,440(1)
++	li	31,0x70
++	or	0,0,0
++
++	subi	9,9,3
++	subi	5,5,128
++
++	lvx	23,0,6
++	lvx	30,8,6
++	addi	6,6,0x20
++	lvx	31,0,6
++	vperm	23,30,23,10
++	addi	11,1,79
++	mtctr	9
++
++.Load_cbc_dec_key:
++	vperm	24,31,30,10
++	lvx	30,8,6
++	addi	6,6,0x20
++	stvx	24,0,11
++	vperm	25,30,31,10
++	lvx	31,0,6
++	stvx	25,8,11
++	addi	11,11,0x20
++	bdnz	.Load_cbc_dec_key
++
++	lvx	26,8,6
++	vperm	24,31,30,10
++	lvx	27,26,6
++	stvx	24,0,11
++	vperm	25,26,31,10
++	lvx	28,27,6
++	stvx	25,8,11
++	addi	11,1,79
++	vperm	26,27,26,10
++	lvx	29,28,6
++	vperm	27,28,27,10
++	lvx	30,29,6
++	vperm	28,29,28,10
++	lvx	31,30,6
++	vperm	29,30,29,10
++	lvx	14,31,6
++	vperm	30,31,30,10
++	lvx	24,0,11
++	vperm	31,14,31,10
++	lvx	25,8,11
++
++
++
++	subi	3,3,15
++
++	li	10,8
++	.long	0x7C001E99
++	lvsl	6,0,10
++	vspltisb	3,0x0f
++	.long	0x7C281E99
++	vxor	6,6,3
++	.long	0x7C5A1E99
++	vperm	0,0,0,6
++	.long	0x7C7B1E99
++	vperm	1,1,1,6
++	.long	0x7D5C1E99
++	vperm	2,2,2,6
++	vxor	14,0,23
++	.long	0x7D7D1E99
++	vperm	3,3,3,6
++	vxor	15,1,23
++	.long	0x7D9E1E99
++	vperm	10,10,10,6
++	vxor	16,2,23
++	.long	0x7DBF1E99
++	addi	3,3,0x80
++	vperm	11,11,11,6
++	vxor	17,3,23
++	vperm	12,12,12,6
++	vxor	18,10,23
++	vperm	13,13,13,6
++	vxor	19,11,23
++	vxor	20,12,23
++	vxor	21,13,23
++
++	mtctr	9
++	b	.Loop_cbc_dec8x
++.align	5
++.Loop_cbc_dec8x:
++	.long	0x11CEC548
++	.long	0x11EFC548
++	.long	0x1210C548
++	.long	0x1231C548
++	.long	0x1252C548
++	.long	0x1273C548
++	.long	0x1294C548
++	.long	0x12B5C548
++	lvx	24,26,11
++	addi	11,11,0x20
++
++	.long	0x11CECD48
++	.long	0x11EFCD48
++	.long	0x1210CD48
++	.long	0x1231CD48
++	.long	0x1252CD48
++	.long	0x1273CD48
++	.long	0x1294CD48
++	.long	0x12B5CD48
++	lvx	25,8,11
++	bdnz	.Loop_cbc_dec8x
++
++	subic	5,5,128
++	.long	0x11CEC548
++	.long	0x11EFC548
++	.long	0x1210C548
++	.long	0x1231C548
++	.long	0x1252C548
++	.long	0x1273C548
++	.long	0x1294C548
++	.long	0x12B5C548
++
++	subfe.	0,0,0
++	.long	0x11CECD48
++	.long	0x11EFCD48
++	.long	0x1210CD48
++	.long	0x1231CD48
++	.long	0x1252CD48
++	.long	0x1273CD48
++	.long	0x1294CD48
++	.long	0x12B5CD48
++
++	and	0,0,5
++	.long	0x11CED548
++	.long	0x11EFD548
++	.long	0x1210D548
++	.long	0x1231D548
++	.long	0x1252D548
++	.long	0x1273D548
++	.long	0x1294D548
++	.long	0x12B5D548
++
++	add	3,3,0
++
++
++
++	.long	0x11CEDD48
++	.long	0x11EFDD48
++	.long	0x1210DD48
++	.long	0x1231DD48
++	.long	0x1252DD48
++	.long	0x1273DD48
++	.long	0x1294DD48
++	.long	0x12B5DD48
++
++	addi	11,1,79
++	.long	0x11CEE548
++	.long	0x11EFE548
++	.long	0x1210E548
++	.long	0x1231E548
++	.long	0x1252E548
++	.long	0x1273E548
++	.long	0x1294E548
++	.long	0x12B5E548
++	lvx	24,0,11
++
++	.long	0x11CEED48
++	.long	0x11EFED48
++	.long	0x1210ED48
++	.long	0x1231ED48
++	.long	0x1252ED48
++	.long	0x1273ED48
++	.long	0x1294ED48
++	.long	0x12B5ED48
++	lvx	25,8,11
++
++	.long	0x11CEF548
++	vxor	4,4,31
++	.long	0x11EFF548
++	vxor	0,0,31
++	.long	0x1210F548
++	vxor	1,1,31
++	.long	0x1231F548
++	vxor	2,2,31
++	.long	0x1252F548
++	vxor	3,3,31
++	.long	0x1273F548
++	vxor	10,10,31
++	.long	0x1294F548
++	vxor	11,11,31
++	.long	0x12B5F548
++	vxor	12,12,31
++
++	.long	0x11CE2549
++	.long	0x11EF0549
++	.long	0x7C001E99
++	.long	0x12100D49
++	.long	0x7C281E99
++	.long	0x12311549
++	vperm	0,0,0,6
++	.long	0x7C5A1E99
++	.long	0x12521D49
++	vperm	1,1,1,6
++	.long	0x7C7B1E99
++	.long	0x12735549
++	vperm	2,2,2,6
++	.long	0x7D5C1E99
++	.long	0x12945D49
++	vperm	3,3,3,6
++	.long	0x7D7D1E99
++	.long	0x12B56549
++	vperm	10,10,10,6
++	.long	0x7D9E1E99
++	vor	4,13,13
++	vperm	11,11,11,6
++	.long	0x7DBF1E99
++	addi	3,3,0x80
++
++	vperm	14,14,14,6
++	vperm	15,15,15,6
++	.long	0x7DC02799
++	vperm	12,12,12,6
++	vxor	14,0,23
++	vperm	16,16,16,6
++	.long	0x7DE82799
++	vperm	13,13,13,6
++	vxor	15,1,23
++	vperm	17,17,17,6
++	.long	0x7E1A2799
++	vxor	16,2,23
++	vperm	18,18,18,6
++	.long	0x7E3B2799
++	vxor	17,3,23
++	vperm	19,19,19,6
++	.long	0x7E5C2799
++	vxor	18,10,23
++	vperm	20,20,20,6
++	.long	0x7E7D2799
++	vxor	19,11,23
++	vperm	21,21,21,6
++	.long	0x7E9E2799
++	vxor	20,12,23
++	.long	0x7EBF2799
++	addi	4,4,0x80
++	vxor	21,13,23
++
++	mtctr	9
++	beq	.Loop_cbc_dec8x
++
++	addic.	5,5,128
++	beq	.Lcbc_dec8x_done
++	nop	
++	nop	
++
++.Loop_cbc_dec8x_tail:
++	.long	0x11EFC548
++	.long	0x1210C548
++	.long	0x1231C548
++	.long	0x1252C548
++	.long	0x1273C548
++	.long	0x1294C548
++	.long	0x12B5C548
++	lvx	24,26,11
++	addi	11,11,0x20
++
++	.long	0x11EFCD48
++	.long	0x1210CD48
++	.long	0x1231CD48
++	.long	0x1252CD48
++	.long	0x1273CD48
++	.long	0x1294CD48
++	.long	0x12B5CD48
++	lvx	25,8,11
++	bdnz	.Loop_cbc_dec8x_tail
++
++	.long	0x11EFC548
++	.long	0x1210C548
++	.long	0x1231C548
++	.long	0x1252C548
++	.long	0x1273C548
++	.long	0x1294C548
++	.long	0x12B5C548
++
++	.long	0x11EFCD48
++	.long	0x1210CD48
++	.long	0x1231CD48
++	.long	0x1252CD48
++	.long	0x1273CD48
++	.long	0x1294CD48
++	.long	0x12B5CD48
++
++	.long	0x11EFD548
++	.long	0x1210D548
++	.long	0x1231D548
++	.long	0x1252D548
++	.long	0x1273D548
++	.long	0x1294D548
++	.long	0x12B5D548
++
++	.long	0x11EFDD48
++	.long	0x1210DD48
++	.long	0x1231DD48
++	.long	0x1252DD48
++	.long	0x1273DD48
++	.long	0x1294DD48
++	.long	0x12B5DD48
++
++	.long	0x11EFE548
++	.long	0x1210E548
++	.long	0x1231E548
++	.long	0x1252E548
++	.long	0x1273E548
++	.long	0x1294E548
++	.long	0x12B5E548
++
++	.long	0x11EFED48
++	.long	0x1210ED48
++	.long	0x1231ED48
++	.long	0x1252ED48
++	.long	0x1273ED48
++	.long	0x1294ED48
++	.long	0x12B5ED48
++
++	.long	0x11EFF548
++	vxor	4,4,31
++	.long	0x1210F548
++	vxor	1,1,31
++	.long	0x1231F548
++	vxor	2,2,31
++	.long	0x1252F548
++	vxor	3,3,31
++	.long	0x1273F548
++	vxor	10,10,31
++	.long	0x1294F548
++	vxor	11,11,31
++	.long	0x12B5F548
++	vxor	12,12,31
++
++	cmplwi	5,32
++	blt	.Lcbc_dec8x_one
++	nop	
++	beq	.Lcbc_dec8x_two
++	cmplwi	5,64
++	blt	.Lcbc_dec8x_three
++	nop	
++	beq	.Lcbc_dec8x_four
++	cmplwi	5,96
++	blt	.Lcbc_dec8x_five
++	nop	
++	beq	.Lcbc_dec8x_six
++
++.Lcbc_dec8x_seven:
++	.long	0x11EF2549
++	.long	0x12100D49
++	.long	0x12311549
++	.long	0x12521D49
++	.long	0x12735549
++	.long	0x12945D49
++	.long	0x12B56549
++	vor	4,13,13
++
++	vperm	15,15,15,6
++	vperm	16,16,16,6
++	.long	0x7DE02799
++	vperm	17,17,17,6
++	.long	0x7E082799
++	vperm	18,18,18,6
++	.long	0x7E3A2799
++	vperm	19,19,19,6
++	.long	0x7E5B2799
++	vperm	20,20,20,6
++	.long	0x7E7C2799
++	vperm	21,21,21,6
++	.long	0x7E9D2799
++	.long	0x7EBE2799
++	addi	4,4,0x70
++	b	.Lcbc_dec8x_done
++
++.align	5
++.Lcbc_dec8x_six:
++	.long	0x12102549
++	.long	0x12311549
++	.long	0x12521D49
++	.long	0x12735549
++	.long	0x12945D49
++	.long	0x12B56549
++	vor	4,13,13
++
++	vperm	16,16,16,6
++	vperm	17,17,17,6
++	.long	0x7E002799
++	vperm	18,18,18,6
++	.long	0x7E282799
++	vperm	19,19,19,6
++	.long	0x7E5A2799
++	vperm	20,20,20,6
++	.long	0x7E7B2799
++	vperm	21,21,21,6
++	.long	0x7E9C2799
++	.long	0x7EBD2799
++	addi	4,4,0x60
++	b	.Lcbc_dec8x_done
++
++.align	5
++.Lcbc_dec8x_five:
++	.long	0x12312549
++	.long	0x12521D49
++	.long	0x12735549
++	.long	0x12945D49
++	.long	0x12B56549
++	vor	4,13,13
++
++	vperm	17,17,17,6
++	vperm	18,18,18,6
++	.long	0x7E202799
++	vperm	19,19,19,6
++	.long	0x7E482799
++	vperm	20,20,20,6
++	.long	0x7E7A2799
++	vperm	21,21,21,6
++	.long	0x7E9B2799
++	.long	0x7EBC2799
++	addi	4,4,0x50
++	b	.Lcbc_dec8x_done
++
++.align	5
++.Lcbc_dec8x_four:
++	.long	0x12522549
++	.long	0x12735549
++	.long	0x12945D49
++	.long	0x12B56549
++	vor	4,13,13
++
++	vperm	18,18,18,6
++	vperm	19,19,19,6
++	.long	0x7E402799
++	vperm	20,20,20,6
++	.long	0x7E682799
++	vperm	21,21,21,6
++	.long	0x7E9A2799
++	.long	0x7EBB2799
++	addi	4,4,0x40
++	b	.Lcbc_dec8x_done
++
++.align	5
++.Lcbc_dec8x_three:
++	.long	0x12732549
++	.long	0x12945D49
++	.long	0x12B56549
++	vor	4,13,13
++
++	vperm	19,19,19,6
++	vperm	20,20,20,6
++	.long	0x7E602799
++	vperm	21,21,21,6
++	.long	0x7E882799
++	.long	0x7EBA2799
++	addi	4,4,0x30
++	b	.Lcbc_dec8x_done
++
++.align	5
++.Lcbc_dec8x_two:
++	.long	0x12942549
++	.long	0x12B56549
++	vor	4,13,13
++
++	vperm	20,20,20,6
++	vperm	21,21,21,6
++	.long	0x7E802799
++	.long	0x7EA82799
++	addi	4,4,0x20
++	b	.Lcbc_dec8x_done
++
++.align	5
++.Lcbc_dec8x_one:
++	.long	0x12B52549
++	vor	4,13,13
++
++	vperm	21,21,21,6
++	.long	0x7EA02799
++	addi	4,4,0x10
++
++.Lcbc_dec8x_done:
++	vperm	4,4,4,6
++	.long	0x7C803F99
++
++	li	10,79
++	li	11,95
++	stvx	6,10,1
++	addi	10,10,32
++	stvx	6,11,1
++	addi	11,11,32
++	stvx	6,10,1
++	addi	10,10,32
++	stvx	6,11,1
++	addi	11,11,32
++	stvx	6,10,1
++	addi	10,10,32
++	stvx	6,11,1
++	addi	11,11,32
++	stvx	6,10,1
++	addi	10,10,32
++	stvx	6,11,1
++	addi	11,11,32
++
++	or	12,12,12
++	lvx	20,10,1
++	addi	10,10,32
++	lvx	21,11,1
++	addi	11,11,32
++	lvx	22,10,1
++	addi	10,10,32
++	lvx	23,11,1
++	addi	11,11,32
++	lvx	24,10,1
++	addi	10,10,32
++	lvx	25,11,1
++	addi	11,11,32
++	lvx	26,10,1
++	addi	10,10,32
++	lvx	27,11,1
++	addi	11,11,32
++	lvx	28,10,1
++	addi	10,10,32
++	lvx	29,11,1
++	addi	11,11,32
++	lvx	30,10,1
++	lvx	31,11,1
++	ld	26,400(1)
++	ld	27,408(1)
++	ld	28,416(1)
++	ld	29,424(1)
++	ld	30,432(1)
++	ld	31,440(1)
++	addi	1,1,448
++	blr	
++.long	0
++.byte	0,12,0x04,0,0x80,6,6,0
++.long	0
++.size	aes_hw_cbc_encrypt,.-aes_hw_cbc_encrypt
++.globl	aes_hw_ctr32_encrypt_blocks
++.type	aes_hw_ctr32_encrypt_blocks,@function
++.align	5
++aes_hw_ctr32_encrypt_blocks:
++.localentry	aes_hw_ctr32_encrypt_blocks,0
++
++	cmpldi	5,1
++	.long	0x4dc00020
++
++	lis	0,0xfff0
++	li	12,-1
++	or	0,0,0
++
++	li	10,15
++	vxor	0,0,0
++	vspltisb	3,0x0f
++
++	lvx	4,0,7
++	lvsl	6,0,7
++	lvx	5,10,7
++	vspltisb	11,1
++	vxor	6,6,3
++	vperm	4,4,5,6
++	vsldoi	11,0,11,1
++
++	neg	11,3
++	lvsr	10,0,6
++	lwz	9,240(6)
++
++	lvsr	6,0,11
++	lvx	5,0,3
++	addi	3,3,15
++	vxor	6,6,3
++
++	srwi	9,9,1
++	li	10,16
++	subi	9,9,1
++
++	cmpldi	5,8
++	bge	_aesp8_ctr32_encrypt8x
++
++	lvsl	8,0,4
++	vspltisb	9,-1
++	lvx	7,0,4
++	vperm	9,9,0,8
++	vxor	8,8,3
++
++	lvx	0,0,6
++	mtctr	9
++	lvx	1,10,6
++	addi	10,10,16
++	vperm	0,1,0,10
++	vxor	2,4,0
++	lvx	0,10,6
++	addi	10,10,16
++	b	.Loop_ctr32_enc
++
++.align	5
++.Loop_ctr32_enc:
++	vperm	1,0,1,10
++	.long	0x10420D08
++	lvx	1,10,6
++	addi	10,10,16
++	vperm	0,1,0,10
++	.long	0x10420508
++	lvx	0,10,6
++	addi	10,10,16
++	bdnz	.Loop_ctr32_enc
++
++	vadduwm	4,4,11
++	vor	3,5,5
++	lvx	5,0,3
++	addi	3,3,16
++	subic.	5,5,1
++
++	vperm	1,0,1,10
++	.long	0x10420D08
++	lvx	1,10,6
++	vperm	3,3,5,6
++	li	10,16
++	vperm	1,1,0,10
++	lvx	0,0,6
++	vxor	3,3,1
++	.long	0x10421D09
++
++	lvx	1,10,6
++	addi	10,10,16
++	vperm	2,2,2,8
++	vsel	3,7,2,9
++	mtctr	9
++	vperm	0,1,0,10
++	vor	7,2,2
++	vxor	2,4,0
++	lvx	0,10,6
++	addi	10,10,16
++	stvx	3,0,4
++	addi	4,4,16
++	bne	.Loop_ctr32_enc
++
++	addi	4,4,-1
++	lvx	2,0,4
++	vsel	2,7,2,9
++	stvx	2,0,4
++
++	or	12,12,12
++	blr	
++.long	0
++.byte	0,12,0x14,0,0,0,6,0
++.long	0
++.align	5
++_aesp8_ctr32_encrypt8x:
++	stdu	1,-448(1)
++	li	10,207
++	li	11,223
++	stvx	20,10,1
++	addi	10,10,32
++	stvx	21,11,1
++	addi	11,11,32
++	stvx	22,10,1
++	addi	10,10,32
++	stvx	23,11,1
++	addi	11,11,32
++	stvx	24,10,1
++	addi	10,10,32
++	stvx	25,11,1
++	addi	11,11,32
++	stvx	26,10,1
++	addi	10,10,32
++	stvx	27,11,1
++	addi	11,11,32
++	stvx	28,10,1
++	addi	10,10,32
++	stvx	29,11,1
++	addi	11,11,32
++	stvx	30,10,1
++	stvx	31,11,1
++	li	0,-1
++	stw	12,396(1)
++	li	8,0x10
++	std	26,400(1)
++	li	26,0x20
++	std	27,408(1)
++	li	27,0x30
++	std	28,416(1)
++	li	28,0x40
++	std	29,424(1)
++	li	29,0x50
++	std	30,432(1)
++	li	30,0x60
++	std	31,440(1)
++	li	31,0x70
++	or	0,0,0
++
++	subi	9,9,3
++
++	lvx	23,0,6
++	lvx	30,8,6
++	addi	6,6,0x20
++	lvx	31,0,6
++	vperm	23,30,23,10
++	addi	11,1,79
++	mtctr	9
++
++.Load_ctr32_enc_key:
++	vperm	24,31,30,10
++	lvx	30,8,6
++	addi	6,6,0x20
++	stvx	24,0,11
++	vperm	25,30,31,10
++	lvx	31,0,6
++	stvx	25,8,11
++	addi	11,11,0x20
++	bdnz	.Load_ctr32_enc_key
++
++	lvx	26,8,6
++	vperm	24,31,30,10
++	lvx	27,26,6
++	stvx	24,0,11
++	vperm	25,26,31,10
++	lvx	28,27,6
++	stvx	25,8,11
++	addi	11,1,79
++	vperm	26,27,26,10
++	lvx	29,28,6
++	vperm	27,28,27,10
++	lvx	30,29,6
++	vperm	28,29,28,10
++	lvx	31,30,6
++	vperm	29,30,29,10
++	lvx	15,31,6
++	vperm	30,31,30,10
++	lvx	24,0,11
++	vperm	31,15,31,10
++	lvx	25,8,11
++
++	vadduwm	7,11,11
++	subi	3,3,15
++	sldi	5,5,4
++
++	vadduwm	16,4,11
++	vadduwm	17,4,7
++	vxor	15,4,23
++	li	10,8
++	vadduwm	18,16,7
++	vxor	16,16,23
++	lvsl	6,0,10
++	vadduwm	19,17,7
++	vxor	17,17,23
++	vspltisb	3,0x0f
++	vadduwm	20,18,7
++	vxor	18,18,23
++	vxor	6,6,3
++	vadduwm	21,19,7
++	vxor	19,19,23
++	vadduwm	22,20,7
++	vxor	20,20,23
++	vadduwm	4,21,7
++	vxor	21,21,23
++	vxor	22,22,23
++
++	mtctr	9
++	b	.Loop_ctr32_enc8x
++.align	5
++.Loop_ctr32_enc8x:
++	.long	0x11EFC508
++	.long	0x1210C508
++	.long	0x1231C508
++	.long	0x1252C508
++	.long	0x1273C508
++	.long	0x1294C508
++	.long	0x12B5C508
++	.long	0x12D6C508
++.Loop_ctr32_enc8x_middle:
++	lvx	24,26,11
++	addi	11,11,0x20
++
++	.long	0x11EFCD08
++	.long	0x1210CD08
++	.long	0x1231CD08
++	.long	0x1252CD08
++	.long	0x1273CD08
++	.long	0x1294CD08
++	.long	0x12B5CD08
++	.long	0x12D6CD08
++	lvx	25,8,11
++	bdnz	.Loop_ctr32_enc8x
++
++	subic	11,5,256
++	.long	0x11EFC508
++	.long	0x1210C508
++	.long	0x1231C508
++	.long	0x1252C508
++	.long	0x1273C508
++	.long	0x1294C508
++	.long	0x12B5C508
++	.long	0x12D6C508
++
++	subfe	0,0,0
++	.long	0x11EFCD08
++	.long	0x1210CD08
++	.long	0x1231CD08
++	.long	0x1252CD08
++	.long	0x1273CD08
++	.long	0x1294CD08
++	.long	0x12B5CD08
++	.long	0x12D6CD08
++
++	and	0,0,11
++	addi	11,1,79
++	.long	0x11EFD508
++	.long	0x1210D508
++	.long	0x1231D508
++	.long	0x1252D508
++	.long	0x1273D508
++	.long	0x1294D508
++	.long	0x12B5D508
++	.long	0x12D6D508
++	lvx	24,0,11
++
++	subic	5,5,129
++	.long	0x11EFDD08
++	addi	5,5,1
++	.long	0x1210DD08
++	.long	0x1231DD08
++	.long	0x1252DD08
++	.long	0x1273DD08
++	.long	0x1294DD08
++	.long	0x12B5DD08
++	.long	0x12D6DD08
++	lvx	25,8,11
++
++	.long	0x11EFE508
++	.long	0x7C001E99
++	.long	0x1210E508
++	.long	0x7C281E99
++	.long	0x1231E508
++	.long	0x7C5A1E99
++	.long	0x1252E508
++	.long	0x7C7B1E99
++	.long	0x1273E508
++	.long	0x7D5C1E99
++	.long	0x1294E508
++	.long	0x7D9D1E99
++	.long	0x12B5E508
++	.long	0x7DBE1E99
++	.long	0x12D6E508
++	.long	0x7DDF1E99
++	addi	3,3,0x80
++
++	.long	0x11EFED08
++	vperm	0,0,0,6
++	.long	0x1210ED08
++	vperm	1,1,1,6
++	.long	0x1231ED08
++	vperm	2,2,2,6
++	.long	0x1252ED08
++	vperm	3,3,3,6
++	.long	0x1273ED08
++	vperm	10,10,10,6
++	.long	0x1294ED08
++	vperm	12,12,12,6
++	.long	0x12B5ED08
++	vperm	13,13,13,6
++	.long	0x12D6ED08
++	vperm	14,14,14,6
++
++	add	3,3,0
++
++
++
++	subfe.	0,0,0
++	.long	0x11EFF508
++	vxor	0,0,31
++	.long	0x1210F508
++	vxor	1,1,31
++	.long	0x1231F508
++	vxor	2,2,31
++	.long	0x1252F508
++	vxor	3,3,31
++	.long	0x1273F508
++	vxor	10,10,31
++	.long	0x1294F508
++	vxor	12,12,31
++	.long	0x12B5F508
++	vxor	13,13,31
++	.long	0x12D6F508
++	vxor	14,14,31
++
++	bne	.Lctr32_enc8x_break
++
++	.long	0x100F0509
++	.long	0x10300D09
++	vadduwm	16,4,11
++	.long	0x10511509
++	vadduwm	17,4,7
++	vxor	15,4,23
++	.long	0x10721D09
++	vadduwm	18,16,7
++	vxor	16,16,23
++	.long	0x11535509
++	vadduwm	19,17,7
++	vxor	17,17,23
++	.long	0x11946509
++	vadduwm	20,18,7
++	vxor	18,18,23
++	.long	0x11B56D09
++	vadduwm	21,19,7
++	vxor	19,19,23
++	.long	0x11D67509
++	vadduwm	22,20,7
++	vxor	20,20,23
++	vperm	0,0,0,6
++	vadduwm	4,21,7
++	vxor	21,21,23
++	vperm	1,1,1,6
++	vxor	22,22,23
++	mtctr	9
++
++	.long	0x11EFC508
++	.long	0x7C002799
++	vperm	2,2,2,6
++	.long	0x1210C508
++	.long	0x7C282799
++	vperm	3,3,3,6
++	.long	0x1231C508
++	.long	0x7C5A2799
++	vperm	10,10,10,6
++	.long	0x1252C508
++	.long	0x7C7B2799
++	vperm	12,12,12,6
++	.long	0x1273C508
++	.long	0x7D5C2799
++	vperm	13,13,13,6
++	.long	0x1294C508
++	.long	0x7D9D2799
++	vperm	14,14,14,6
++	.long	0x12B5C508
++	.long	0x7DBE2799
++	.long	0x12D6C508
++	.long	0x7DDF2799
++	addi	4,4,0x80
++
++	b	.Loop_ctr32_enc8x_middle
++
++.align	5
++.Lctr32_enc8x_break:
++	cmpwi	5,-0x60
++	blt	.Lctr32_enc8x_one
++	nop	
++	beq	.Lctr32_enc8x_two
++	cmpwi	5,-0x40
++	blt	.Lctr32_enc8x_three
++	nop	
++	beq	.Lctr32_enc8x_four
++	cmpwi	5,-0x20
++	blt	.Lctr32_enc8x_five
++	nop	
++	beq	.Lctr32_enc8x_six
++	cmpwi	5,0x00
++	blt	.Lctr32_enc8x_seven
++
++.Lctr32_enc8x_eight:
++	.long	0x11EF0509
++	.long	0x12100D09
++	.long	0x12311509
++	.long	0x12521D09
++	.long	0x12735509
++	.long	0x12946509
++	.long	0x12B56D09
++	.long	0x12D67509
++
++	vperm	15,15,15,6
++	vperm	16,16,16,6
++	.long	0x7DE02799
++	vperm	17,17,17,6
++	.long	0x7E082799
++	vperm	18,18,18,6
++	.long	0x7E3A2799
++	vperm	19,19,19,6
++	.long	0x7E5B2799
++	vperm	20,20,20,6
++	.long	0x7E7C2799
++	vperm	21,21,21,6
++	.long	0x7E9D2799
++	vperm	22,22,22,6
++	.long	0x7EBE2799
++	.long	0x7EDF2799
++	addi	4,4,0x80
++	b	.Lctr32_enc8x_done
++
++.align	5
++.Lctr32_enc8x_seven:
++	.long	0x11EF0D09
++	.long	0x12101509
++	.long	0x12311D09
++	.long	0x12525509
++	.long	0x12736509
++	.long	0x12946D09
++	.long	0x12B57509
++
++	vperm	15,15,15,6
++	vperm	16,16,16,6
++	.long	0x7DE02799
++	vperm	17,17,17,6
++	.long	0x7E082799
++	vperm	18,18,18,6
++	.long	0x7E3A2799
++	vperm	19,19,19,6
++	.long	0x7E5B2799
++	vperm	20,20,20,6
++	.long	0x7E7C2799
++	vperm	21,21,21,6
++	.long	0x7E9D2799
++	.long	0x7EBE2799
++	addi	4,4,0x70
++	b	.Lctr32_enc8x_done
++
++.align	5
++.Lctr32_enc8x_six:
++	.long	0x11EF1509
++	.long	0x12101D09
++	.long	0x12315509
++	.long	0x12526509
++	.long	0x12736D09
++	.long	0x12947509
++
++	vperm	15,15,15,6
++	vperm	16,16,16,6
++	.long	0x7DE02799
++	vperm	17,17,17,6
++	.long	0x7E082799
++	vperm	18,18,18,6
++	.long	0x7E3A2799
++	vperm	19,19,19,6
++	.long	0x7E5B2799
++	vperm	20,20,20,6
++	.long	0x7E7C2799
++	.long	0x7E9D2799
++	addi	4,4,0x60
++	b	.Lctr32_enc8x_done
++
++.align	5
++.Lctr32_enc8x_five:
++	.long	0x11EF1D09
++	.long	0x12105509
++	.long	0x12316509
++	.long	0x12526D09
++	.long	0x12737509
++
++	vperm	15,15,15,6
++	vperm	16,16,16,6
++	.long	0x7DE02799
++	vperm	17,17,17,6
++	.long	0x7E082799
++	vperm	18,18,18,6
++	.long	0x7E3A2799
++	vperm	19,19,19,6
++	.long	0x7E5B2799
++	.long	0x7E7C2799
++	addi	4,4,0x50
++	b	.Lctr32_enc8x_done
++
++.align	5
++.Lctr32_enc8x_four:
++	.long	0x11EF5509
++	.long	0x12106509
++	.long	0x12316D09
++	.long	0x12527509
++
++	vperm	15,15,15,6
++	vperm	16,16,16,6
++	.long	0x7DE02799
++	vperm	17,17,17,6
++	.long	0x7E082799
++	vperm	18,18,18,6
++	.long	0x7E3A2799
++	.long	0x7E5B2799
++	addi	4,4,0x40
++	b	.Lctr32_enc8x_done
++
++.align	5
++.Lctr32_enc8x_three:
++	.long	0x11EF6509
++	.long	0x12106D09
++	.long	0x12317509
++
++	vperm	15,15,15,6
++	vperm	16,16,16,6
++	.long	0x7DE02799
++	vperm	17,17,17,6
++	.long	0x7E082799
++	.long	0x7E3A2799
++	addi	4,4,0x30
++	b	.Lctr32_enc8x_done
++
++.align	5
++.Lctr32_enc8x_two:
++	.long	0x11EF6D09
++	.long	0x12107509
++
++	vperm	15,15,15,6
++	vperm	16,16,16,6
++	.long	0x7DE02799
++	.long	0x7E082799
++	addi	4,4,0x20
++	b	.Lctr32_enc8x_done
++
++.align	5
++.Lctr32_enc8x_one:
++	.long	0x11EF7509
++
++	vperm	15,15,15,6
++	.long	0x7DE02799
++	addi	4,4,0x10
++
++.Lctr32_enc8x_done:
++	li	10,79
++	li	11,95
++	stvx	6,10,1
++	addi	10,10,32
++	stvx	6,11,1
++	addi	11,11,32
++	stvx	6,10,1
++	addi	10,10,32
++	stvx	6,11,1
++	addi	11,11,32
++	stvx	6,10,1
++	addi	10,10,32
++	stvx	6,11,1
++	addi	11,11,32
++	stvx	6,10,1
++	addi	10,10,32
++	stvx	6,11,1
++	addi	11,11,32
++
++	or	12,12,12
++	lvx	20,10,1
++	addi	10,10,32
++	lvx	21,11,1
++	addi	11,11,32
++	lvx	22,10,1
++	addi	10,10,32
++	lvx	23,11,1
++	addi	11,11,32
++	lvx	24,10,1
++	addi	10,10,32
++	lvx	25,11,1
++	addi	11,11,32
++	lvx	26,10,1
++	addi	10,10,32
++	lvx	27,11,1
++	addi	11,11,32
++	lvx	28,10,1
++	addi	10,10,32
++	lvx	29,11,1
++	addi	11,11,32
++	lvx	30,10,1
++	lvx	31,11,1
++	ld	26,400(1)
++	ld	27,408(1)
++	ld	28,416(1)
++	ld	29,424(1)
++	ld	30,432(1)
++	ld	31,440(1)
++	addi	1,1,448
++	blr	
++.long	0
++.byte	0,12,0x04,0,0x80,6,6,0
++.long	0
++.size	aes_hw_ctr32_encrypt_blocks,.-aes_hw_ctr32_encrypt_blocks
++.globl	aes_hw_xts_encrypt
++.type	aes_hw_xts_encrypt,@function
++.align	5
++aes_hw_xts_encrypt:
++.localentry	aes_hw_xts_encrypt,0
++
++	mr	10,3
++	li	3,-1
++	cmpldi	5,16
++	.long	0x4dc00020
++
++	lis	0,0xfff0
++	li	12,-1
++	li	11,0
++	or	0,0,0
++
++	vspltisb	9,0x07
++	lvsl	6,11,11
++	vspltisb	11,0x0f
++	vxor	6,6,9
++
++	li	3,15
++	lvx	8,0,8
++	lvsl	5,0,8
++	lvx	4,3,8
++	vxor	5,5,11
++	vperm	8,8,4,5
++
++	neg	11,10
++	lvsr	5,0,11
++	lvx	2,0,10
++	addi	10,10,15
++	vxor	5,5,11
++
++	cmpldi	7,0
++	beq	.Lxts_enc_no_key2
++
++	lvsr	7,0,7
++	lwz	9,240(7)
++	srwi	9,9,1
++	subi	9,9,1
++	li	3,16
++
++	lvx	0,0,7
++	lvx	1,3,7
++	addi	3,3,16
++	vperm	0,1,0,7
++	vxor	8,8,0
++	lvx	0,3,7
++	addi	3,3,16
++	mtctr	9
++
++.Ltweak_xts_enc:
++	vperm	1,0,1,7
++	.long	0x11080D08
++	lvx	1,3,7
++	addi	3,3,16
++	vperm	0,1,0,7
++	.long	0x11080508
++	lvx	0,3,7
++	addi	3,3,16
++	bdnz	.Ltweak_xts_enc
++
++	vperm	1,0,1,7
++	.long	0x11080D08
++	lvx	1,3,7
++	vperm	0,1,0,7
++	.long	0x11080509
++
++	li	8,0
++	b	.Lxts_enc
++
++.Lxts_enc_no_key2:
++	li	3,-16
++	and	5,5,3
++
++
++.Lxts_enc:
++	lvx	4,0,10
++	addi	10,10,16
++
++	lvsr	7,0,6
++	lwz	9,240(6)
++	srwi	9,9,1
++	subi	9,9,1
++	li	3,16
++
++	vslb	10,9,9
++	vor	10,10,9
++	vspltisb	11,1
++	vsldoi	10,10,11,15
++
++	cmpldi	5,96
++	bge	_aesp8_xts_encrypt6x
++
++	andi.	7,5,15
++	subic	0,5,32
++	subi	7,7,16
++	subfe	0,0,0
++	and	0,0,7
++	add	10,10,0
++
++	lvx	0,0,6
++	lvx	1,3,6
++	addi	3,3,16
++	vperm	2,2,4,5
++	vperm	0,1,0,7
++	vxor	2,2,8
++	vxor	2,2,0
++	lvx	0,3,6
++	addi	3,3,16
++	mtctr	9
++	b	.Loop_xts_enc
++
++.align	5
++.Loop_xts_enc:
++	vperm	1,0,1,7
++	.long	0x10420D08
++	lvx	1,3,6
++	addi	3,3,16
++	vperm	0,1,0,7
++	.long	0x10420508
++	lvx	0,3,6
++	addi	3,3,16
++	bdnz	.Loop_xts_enc
++
++	vperm	1,0,1,7
++	.long	0x10420D08
++	lvx	1,3,6
++	li	3,16
++	vperm	0,1,0,7
++	vxor	0,0,8
++	.long	0x10620509
++
++	vperm	11,3,3,6
++
++	.long	0x7D602799
++
++	addi	4,4,16
++
++	subic.	5,5,16
++	beq	.Lxts_enc_done
++
++	vor	2,4,4
++	lvx	4,0,10
++	addi	10,10,16
++	lvx	0,0,6
++	lvx	1,3,6
++	addi	3,3,16
++
++	subic	0,5,32
++	subfe	0,0,0
++	and	0,0,7
++	add	10,10,0
++
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vand	11,11,10
++	vxor	8,8,11
++
++	vperm	2,2,4,5
++	vperm	0,1,0,7
++	vxor	2,2,8
++	vxor	3,3,0
++	vxor	2,2,0
++	lvx	0,3,6
++	addi	3,3,16
++
++	mtctr	9
++	cmpldi	5,16
++	bge	.Loop_xts_enc
++
++	vxor	3,3,8
++	lvsr	5,0,5
++	vxor	4,4,4
++	vspltisb	11,-1
++	vperm	4,4,11,5
++	vsel	2,2,3,4
++
++	subi	11,4,17
++	subi	4,4,16
++	mtctr	5
++	li	5,16
++.Loop_xts_enc_steal:
++	lbzu	0,1(11)
++	stb	0,16(11)
++	bdnz	.Loop_xts_enc_steal
++
++	mtctr	9
++	b	.Loop_xts_enc
++
++.Lxts_enc_done:
++	cmpldi	8,0
++	beq	.Lxts_enc_ret
++
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vand	11,11,10
++	vxor	8,8,11
++
++	vperm	8,8,8,6
++	.long	0x7D004799
++
++.Lxts_enc_ret:
++	or	12,12,12
++	li	3,0
++	blr	
++.long	0
++.byte	0,12,0x04,0,0x80,6,6,0
++.long	0
++.size	aes_hw_xts_encrypt,.-aes_hw_xts_encrypt
++
++.globl	aes_hw_xts_decrypt
++.type	aes_hw_xts_decrypt,@function
++.align	5
++aes_hw_xts_decrypt:
++.localentry	aes_hw_xts_decrypt,0
++
++	mr	10,3
++	li	3,-1
++	cmpldi	5,16
++	.long	0x4dc00020
++
++	lis	0,0xfff8
++	li	12,-1
++	li	11,0
++	or	0,0,0
++
++	andi.	0,5,15
++	neg	0,0
++	andi.	0,0,16
++	sub	5,5,0
++
++	vspltisb	9,0x07
++	lvsl	6,11,11
++	vspltisb	11,0x0f
++	vxor	6,6,9
++
++	li	3,15
++	lvx	8,0,8
++	lvsl	5,0,8
++	lvx	4,3,8
++	vxor	5,5,11
++	vperm	8,8,4,5
++
++	neg	11,10
++	lvsr	5,0,11
++	lvx	2,0,10
++	addi	10,10,15
++	vxor	5,5,11
++
++	cmpldi	7,0
++	beq	.Lxts_dec_no_key2
++
++	lvsr	7,0,7
++	lwz	9,240(7)
++	srwi	9,9,1
++	subi	9,9,1
++	li	3,16
++
++	lvx	0,0,7
++	lvx	1,3,7
++	addi	3,3,16
++	vperm	0,1,0,7
++	vxor	8,8,0
++	lvx	0,3,7
++	addi	3,3,16
++	mtctr	9
++
++.Ltweak_xts_dec:
++	vperm	1,0,1,7
++	.long	0x11080D08
++	lvx	1,3,7
++	addi	3,3,16
++	vperm	0,1,0,7
++	.long	0x11080508
++	lvx	0,3,7
++	addi	3,3,16
++	bdnz	.Ltweak_xts_dec
++
++	vperm	1,0,1,7
++	.long	0x11080D08
++	lvx	1,3,7
++	vperm	0,1,0,7
++	.long	0x11080509
++
++	li	8,0
++	b	.Lxts_dec
++
++.Lxts_dec_no_key2:
++	neg	3,5
++	andi.	3,3,15
++	add	5,5,3
++
++
++.Lxts_dec:
++	lvx	4,0,10
++	addi	10,10,16
++
++	lvsr	7,0,6
++	lwz	9,240(6)
++	srwi	9,9,1
++	subi	9,9,1
++	li	3,16
++
++	vslb	10,9,9
++	vor	10,10,9
++	vspltisb	11,1
++	vsldoi	10,10,11,15
++
++	cmpldi	5,96
++	bge	_aesp8_xts_decrypt6x
++
++	lvx	0,0,6
++	lvx	1,3,6
++	addi	3,3,16
++	vperm	2,2,4,5
++	vperm	0,1,0,7
++	vxor	2,2,8
++	vxor	2,2,0
++	lvx	0,3,6
++	addi	3,3,16
++	mtctr	9
++
++	cmpldi	5,16
++	blt	.Ltail_xts_dec
++
++
++.align	5
++.Loop_xts_dec:
++	vperm	1,0,1,7
++	.long	0x10420D48
++	lvx	1,3,6
++	addi	3,3,16
++	vperm	0,1,0,7
++	.long	0x10420548
++	lvx	0,3,6
++	addi	3,3,16
++	bdnz	.Loop_xts_dec
++
++	vperm	1,0,1,7
++	.long	0x10420D48
++	lvx	1,3,6
++	li	3,16
++	vperm	0,1,0,7
++	vxor	0,0,8
++	.long	0x10620549
++
++	vperm	11,3,3,6
++
++	.long	0x7D602799
++
++	addi	4,4,16
++
++	subic.	5,5,16
++	beq	.Lxts_dec_done
++
++	vor	2,4,4
++	lvx	4,0,10
++	addi	10,10,16
++	lvx	0,0,6
++	lvx	1,3,6
++	addi	3,3,16
++
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vand	11,11,10
++	vxor	8,8,11
++
++	vperm	2,2,4,5
++	vperm	0,1,0,7
++	vxor	2,2,8
++	vxor	2,2,0
++	lvx	0,3,6
++	addi	3,3,16
++
++	mtctr	9
++	cmpldi	5,16
++	bge	.Loop_xts_dec
++
++.Ltail_xts_dec:
++	vsrab	11,8,9
++	vaddubm	12,8,8
++	vsldoi	11,11,11,15
++	vand	11,11,10
++	vxor	12,12,11
++
++	subi	10,10,16
++	add	10,10,5
++
++	vxor	2,2,8
++	vxor	2,2,12
++
++.Loop_xts_dec_short:
++	vperm	1,0,1,7
++	.long	0x10420D48
++	lvx	1,3,6
++	addi	3,3,16
++	vperm	0,1,0,7
++	.long	0x10420548
++	lvx	0,3,6
++	addi	3,3,16
++	bdnz	.Loop_xts_dec_short
++
++	vperm	1,0,1,7
++	.long	0x10420D48
++	lvx	1,3,6
++	li	3,16
++	vperm	0,1,0,7
++	vxor	0,0,12
++	.long	0x10620549
++
++	vperm	11,3,3,6
++
++	.long	0x7D602799
++
++
++	vor	2,4,4
++	lvx	4,0,10
++
++	lvx	0,0,6
++	lvx	1,3,6
++	addi	3,3,16
++	vperm	2,2,4,5
++	vperm	0,1,0,7
++
++	lvsr	5,0,5
++	vxor	4,4,4
++	vspltisb	11,-1
++	vperm	4,4,11,5
++	vsel	2,2,3,4
++
++	vxor	0,0,8
++	vxor	2,2,0
++	lvx	0,3,6
++	addi	3,3,16
++
++	subi	11,4,1
++	mtctr	5
++	li	5,16
++.Loop_xts_dec_steal:
++	lbzu	0,1(11)
++	stb	0,16(11)
++	bdnz	.Loop_xts_dec_steal
++
++	mtctr	9
++	b	.Loop_xts_dec
++
++.Lxts_dec_done:
++	cmpldi	8,0
++	beq	.Lxts_dec_ret
++
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vand	11,11,10
++	vxor	8,8,11
++
++	vperm	8,8,8,6
++	.long	0x7D004799
++
++.Lxts_dec_ret:
++	or	12,12,12
++	li	3,0
++	blr	
++.long	0
++.byte	0,12,0x04,0,0x80,6,6,0
++.long	0
++.size	aes_hw_xts_decrypt,.-aes_hw_xts_decrypt
++.align	5
++_aesp8_xts_encrypt6x:
++	stdu	1,-448(1)
++	mflr	11
++	li	7,207
++	li	3,223
++	std	11,464(1)
++	stvx	20,7,1
++	addi	7,7,32
++	stvx	21,3,1
++	addi	3,3,32
++	stvx	22,7,1
++	addi	7,7,32
++	stvx	23,3,1
++	addi	3,3,32
++	stvx	24,7,1
++	addi	7,7,32
++	stvx	25,3,1
++	addi	3,3,32
++	stvx	26,7,1
++	addi	7,7,32
++	stvx	27,3,1
++	addi	3,3,32
++	stvx	28,7,1
++	addi	7,7,32
++	stvx	29,3,1
++	addi	3,3,32
++	stvx	30,7,1
++	stvx	31,3,1
++	li	0,-1
++	stw	12,396(1)
++	li	3,0x10
++	std	26,400(1)
++	li	26,0x20
++	std	27,408(1)
++	li	27,0x30
++	std	28,416(1)
++	li	28,0x40
++	std	29,424(1)
++	li	29,0x50
++	std	30,432(1)
++	li	30,0x60
++	std	31,440(1)
++	li	31,0x70
++	or	0,0,0
++
++	subi	9,9,3
++
++	lvx	23,0,6
++	lvx	30,3,6
++	addi	6,6,0x20
++	lvx	31,0,6
++	vperm	23,30,23,7
++	addi	7,1,79
++	mtctr	9
++
++.Load_xts_enc_key:
++	vperm	24,31,30,7
++	lvx	30,3,6
++	addi	6,6,0x20
++	stvx	24,0,7
++	vperm	25,30,31,7
++	lvx	31,0,6
++	stvx	25,3,7
++	addi	7,7,0x20
++	bdnz	.Load_xts_enc_key
++
++	lvx	26,3,6
++	vperm	24,31,30,7
++	lvx	27,26,6
++	stvx	24,0,7
++	vperm	25,26,31,7
++	lvx	28,27,6
++	stvx	25,3,7
++	addi	7,1,79
++	vperm	26,27,26,7
++	lvx	29,28,6
++	vperm	27,28,27,7
++	lvx	30,29,6
++	vperm	28,29,28,7
++	lvx	31,30,6
++	vperm	29,30,29,7
++	lvx	22,31,6
++	vperm	30,31,30,7
++	lvx	24,0,7
++	vperm	31,22,31,7
++	lvx	25,3,7
++
++	vperm	0,2,4,5
++	subi	10,10,31
++	vxor	17,8,23
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vand	11,11,10
++	vxor	7,0,17
++	vxor	8,8,11
++
++	.long	0x7C235699
++	vxor	18,8,23
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vperm	1,1,1,6
++	vand	11,11,10
++	vxor	12,1,18
++	vxor	8,8,11
++
++	.long	0x7C5A5699
++	andi.	31,5,15
++	vxor	19,8,23
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vperm	2,2,2,6
++	vand	11,11,10
++	vxor	13,2,19
++	vxor	8,8,11
++
++	.long	0x7C7B5699
++	sub	5,5,31
++	vxor	20,8,23
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vperm	3,3,3,6
++	vand	11,11,10
++	vxor	14,3,20
++	vxor	8,8,11
++
++	.long	0x7C9C5699
++	subi	5,5,0x60
++	vxor	21,8,23
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vperm	4,4,4,6
++	vand	11,11,10
++	vxor	15,4,21
++	vxor	8,8,11
++
++	.long	0x7CBD5699
++	addi	10,10,0x60
++	vxor	22,8,23
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vperm	5,5,5,6
++	vand	11,11,10
++	vxor	16,5,22
++	vxor	8,8,11
++
++	vxor	31,31,23
++	mtctr	9
++	b	.Loop_xts_enc6x
++
++.align	5
++.Loop_xts_enc6x:
++	.long	0x10E7C508
++	.long	0x118CC508
++	.long	0x11ADC508
++	.long	0x11CEC508
++	.long	0x11EFC508
++	.long	0x1210C508
++	lvx	24,26,7
++	addi	7,7,0x20
++
++	.long	0x10E7CD08
++	.long	0x118CCD08
++	.long	0x11ADCD08
++	.long	0x11CECD08
++	.long	0x11EFCD08
++	.long	0x1210CD08
++	lvx	25,3,7
++	bdnz	.Loop_xts_enc6x
++
++	subic	5,5,96
++	vxor	0,17,31
++	.long	0x10E7C508
++	.long	0x118CC508
++	vsrab	11,8,9
++	vxor	17,8,23
++	vaddubm	8,8,8
++	.long	0x11ADC508
++	.long	0x11CEC508
++	vsldoi	11,11,11,15
++	.long	0x11EFC508
++	.long	0x1210C508
++
++	subfe.	0,0,0
++	vand	11,11,10
++	.long	0x10E7CD08
++	.long	0x118CCD08
++	vxor	8,8,11
++	.long	0x11ADCD08
++	.long	0x11CECD08
++	vxor	1,18,31
++	vsrab	11,8,9
++	vxor	18,8,23
++	.long	0x11EFCD08
++	.long	0x1210CD08
++
++	and	0,0,5
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	.long	0x10E7D508
++	.long	0x118CD508
++	vand	11,11,10
++	.long	0x11ADD508
++	.long	0x11CED508
++	vxor	8,8,11
++	.long	0x11EFD508
++	.long	0x1210D508
++
++	add	10,10,0
++
++
++
++	vxor	2,19,31
++	vsrab	11,8,9
++	vxor	19,8,23
++	vaddubm	8,8,8
++	.long	0x10E7DD08
++	.long	0x118CDD08
++	vsldoi	11,11,11,15
++	.long	0x11ADDD08
++	.long	0x11CEDD08
++	vand	11,11,10
++	.long	0x11EFDD08
++	.long	0x1210DD08
++
++	addi	7,1,79
++	vxor	8,8,11
++	.long	0x10E7E508
++	.long	0x118CE508
++	vxor	3,20,31
++	vsrab	11,8,9
++	vxor	20,8,23
++	.long	0x11ADE508
++	.long	0x11CEE508
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	.long	0x11EFE508
++	.long	0x1210E508
++	lvx	24,0,7
++	vand	11,11,10
++
++	.long	0x10E7ED08
++	.long	0x118CED08
++	vxor	8,8,11
++	.long	0x11ADED08
++	.long	0x11CEED08
++	vxor	4,21,31
++	vsrab	11,8,9
++	vxor	21,8,23
++	.long	0x11EFED08
++	.long	0x1210ED08
++	lvx	25,3,7
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++
++	.long	0x10E7F508
++	.long	0x118CF508
++	vand	11,11,10
++	.long	0x11ADF508
++	.long	0x11CEF508
++	vxor	8,8,11
++	.long	0x11EFF508
++	.long	0x1210F508
++	vxor	5,22,31
++	vsrab	11,8,9
++	vxor	22,8,23
++
++	.long	0x10E70509
++	.long	0x7C005699
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	.long	0x118C0D09
++	.long	0x7C235699
++	.long	0x11AD1509
++	vperm	0,0,0,6
++	.long	0x7C5A5699
++	vand	11,11,10
++	.long	0x11CE1D09
++	vperm	1,1,1,6
++	.long	0x7C7B5699
++	.long	0x11EF2509
++	vperm	2,2,2,6
++	.long	0x7C9C5699
++	vxor	8,8,11
++	.long	0x11702D09
++
++	vperm	3,3,3,6
++	.long	0x7CBD5699
++	addi	10,10,0x60
++	vperm	4,4,4,6
++	vperm	5,5,5,6
++
++	vperm	7,7,7,6
++	vperm	12,12,12,6
++	.long	0x7CE02799
++	vxor	7,0,17
++	vperm	13,13,13,6
++	.long	0x7D832799
++	vxor	12,1,18
++	vperm	14,14,14,6
++	.long	0x7DBA2799
++	vxor	13,2,19
++	vperm	15,15,15,6
++	.long	0x7DDB2799
++	vxor	14,3,20
++	vperm	16,11,11,6
++	.long	0x7DFC2799
++	vxor	15,4,21
++	.long	0x7E1D2799
++
++	vxor	16,5,22
++	addi	4,4,0x60
++
++	mtctr	9
++	beq	.Loop_xts_enc6x
++
++	addic.	5,5,0x60
++	beq	.Lxts_enc6x_zero
++	cmpwi	5,0x20
++	blt	.Lxts_enc6x_one
++	nop	
++	beq	.Lxts_enc6x_two
++	cmpwi	5,0x40
++	blt	.Lxts_enc6x_three
++	nop	
++	beq	.Lxts_enc6x_four
++
++.Lxts_enc6x_five:
++	vxor	7,1,17
++	vxor	12,2,18
++	vxor	13,3,19
++	vxor	14,4,20
++	vxor	15,5,21
++
++	bl	_aesp8_xts_enc5x
++
++	vperm	7,7,7,6
++	vor	17,22,22
++	vperm	12,12,12,6
++	.long	0x7CE02799
++	vperm	13,13,13,6
++	.long	0x7D832799
++	vperm	14,14,14,6
++	.long	0x7DBA2799
++	vxor	11,15,22
++	vperm	15,15,15,6
++	.long	0x7DDB2799
++	.long	0x7DFC2799
++	addi	4,4,0x50
++	bne	.Lxts_enc6x_steal
++	b	.Lxts_enc6x_done
++
++.align	4
++.Lxts_enc6x_four:
++	vxor	7,2,17
++	vxor	12,3,18
++	vxor	13,4,19
++	vxor	14,5,20
++	vxor	15,15,15
++
++	bl	_aesp8_xts_enc5x
++
++	vperm	7,7,7,6
++	vor	17,21,21
++	vperm	12,12,12,6
++	.long	0x7CE02799
++	vperm	13,13,13,6
++	.long	0x7D832799
++	vxor	11,14,21
++	vperm	14,14,14,6
++	.long	0x7DBA2799
++	.long	0x7DDB2799
++	addi	4,4,0x40
++	bne	.Lxts_enc6x_steal
++	b	.Lxts_enc6x_done
++
++.align	4
++.Lxts_enc6x_three:
++	vxor	7,3,17
++	vxor	12,4,18
++	vxor	13,5,19
++	vxor	14,14,14
++	vxor	15,15,15
++
++	bl	_aesp8_xts_enc5x
++
++	vperm	7,7,7,6
++	vor	17,20,20
++	vperm	12,12,12,6
++	.long	0x7CE02799
++	vxor	11,13,20
++	vperm	13,13,13,6
++	.long	0x7D832799
++	.long	0x7DBA2799
++	addi	4,4,0x30
++	bne	.Lxts_enc6x_steal
++	b	.Lxts_enc6x_done
++
++.align	4
++.Lxts_enc6x_two:
++	vxor	7,4,17
++	vxor	12,5,18
++	vxor	13,13,13
++	vxor	14,14,14
++	vxor	15,15,15
++
++	bl	_aesp8_xts_enc5x
++
++	vperm	7,7,7,6
++	vor	17,19,19
++	vxor	11,12,19
++	vperm	12,12,12,6
++	.long	0x7CE02799
++	.long	0x7D832799
++	addi	4,4,0x20
++	bne	.Lxts_enc6x_steal
++	b	.Lxts_enc6x_done
++
++.align	4
++.Lxts_enc6x_one:
++	vxor	7,5,17
++	nop	
++.Loop_xts_enc1x:
++	.long	0x10E7C508
++	lvx	24,26,7
++	addi	7,7,0x20
++
++	.long	0x10E7CD08
++	lvx	25,3,7
++	bdnz	.Loop_xts_enc1x
++
++	add	10,10,31
++	cmpwi	31,0
++	.long	0x10E7C508
++
++	subi	10,10,16
++	.long	0x10E7CD08
++
++	lvsr	5,0,31
++	.long	0x10E7D508
++
++	.long	0x7C005699
++	.long	0x10E7DD08
++
++	addi	7,1,79
++	.long	0x10E7E508
++	lvx	24,0,7
++
++	.long	0x10E7ED08
++	lvx	25,3,7
++	vxor	17,17,31
++
++	vperm	0,0,0,6
++	.long	0x10E7F508
++
++	vperm	0,0,0,5
++	.long	0x10E78D09
++
++	vor	17,18,18
++	vxor	11,7,18
++	vperm	7,7,7,6
++	.long	0x7CE02799
++	addi	4,4,0x10
++	bne	.Lxts_enc6x_steal
++	b	.Lxts_enc6x_done
++
++.align	4
++.Lxts_enc6x_zero:
++	cmpwi	31,0
++	beq	.Lxts_enc6x_done
++
++	add	10,10,31
++	subi	10,10,16
++	.long	0x7C005699
++	lvsr	5,0,31
++	vperm	0,0,0,6
++	vperm	0,0,0,5
++	vxor	11,11,17
++.Lxts_enc6x_steal:
++	vxor	0,0,17
++	vxor	7,7,7
++	vspltisb	12,-1
++	vperm	7,7,12,5
++	vsel	7,0,11,7
++
++	subi	30,4,17
++	subi	4,4,16
++	mtctr	31
++.Loop_xts_enc6x_steal:
++	lbzu	0,1(30)
++	stb	0,16(30)
++	bdnz	.Loop_xts_enc6x_steal
++
++	li	31,0
++	mtctr	9
++	b	.Loop_xts_enc1x
++
++.align	4
++.Lxts_enc6x_done:
++	cmpldi	8,0
++	beq	.Lxts_enc6x_ret
++
++	vxor	8,17,23
++	vperm	8,8,8,6
++	.long	0x7D004799
++
++.Lxts_enc6x_ret:
++	mtlr	11
++	li	10,79
++	li	11,95
++	stvx	9,10,1
++	addi	10,10,32
++	stvx	9,11,1
++	addi	11,11,32
++	stvx	9,10,1
++	addi	10,10,32
++	stvx	9,11,1
++	addi	11,11,32
++	stvx	9,10,1
++	addi	10,10,32
++	stvx	9,11,1
++	addi	11,11,32
++	stvx	9,10,1
++	addi	10,10,32
++	stvx	9,11,1
++	addi	11,11,32
++
++	or	12,12,12
++	lvx	20,10,1
++	addi	10,10,32
++	lvx	21,11,1
++	addi	11,11,32
++	lvx	22,10,1
++	addi	10,10,32
++	lvx	23,11,1
++	addi	11,11,32
++	lvx	24,10,1
++	addi	10,10,32
++	lvx	25,11,1
++	addi	11,11,32
++	lvx	26,10,1
++	addi	10,10,32
++	lvx	27,11,1
++	addi	11,11,32
++	lvx	28,10,1
++	addi	10,10,32
++	lvx	29,11,1
++	addi	11,11,32
++	lvx	30,10,1
++	lvx	31,11,1
++	ld	26,400(1)
++	ld	27,408(1)
++	ld	28,416(1)
++	ld	29,424(1)
++	ld	30,432(1)
++	ld	31,440(1)
++	addi	1,1,448
++	blr	
++.long	0
++.byte	0,12,0x04,1,0x80,6,6,0
++.long	0
++
++.align	5
++_aesp8_xts_enc5x:
++	.long	0x10E7C508
++	.long	0x118CC508
++	.long	0x11ADC508
++	.long	0x11CEC508
++	.long	0x11EFC508
++	lvx	24,26,7
++	addi	7,7,0x20
++
++	.long	0x10E7CD08
++	.long	0x118CCD08
++	.long	0x11ADCD08
++	.long	0x11CECD08
++	.long	0x11EFCD08
++	lvx	25,3,7
++	bdnz	_aesp8_xts_enc5x
++
++	add	10,10,31
++	cmpwi	31,0
++	.long	0x10E7C508
++	.long	0x118CC508
++	.long	0x11ADC508
++	.long	0x11CEC508
++	.long	0x11EFC508
++
++	subi	10,10,16
++	.long	0x10E7CD08
++	.long	0x118CCD08
++	.long	0x11ADCD08
++	.long	0x11CECD08
++	.long	0x11EFCD08
++	vxor	17,17,31
++
++	.long	0x10E7D508
++	lvsr	5,0,31
++	.long	0x118CD508
++	.long	0x11ADD508
++	.long	0x11CED508
++	.long	0x11EFD508
++	vxor	1,18,31
++
++	.long	0x10E7DD08
++	.long	0x7C005699
++	.long	0x118CDD08
++	.long	0x11ADDD08
++	.long	0x11CEDD08
++	.long	0x11EFDD08
++	vxor	2,19,31
++
++	addi	7,1,79
++	.long	0x10E7E508
++	.long	0x118CE508
++	.long	0x11ADE508
++	.long	0x11CEE508
++	.long	0x11EFE508
++	lvx	24,0,7
++	vxor	3,20,31
++
++	.long	0x10E7ED08
++	vperm	0,0,0,6
++	.long	0x118CED08
++	.long	0x11ADED08
++	.long	0x11CEED08
++	.long	0x11EFED08
++	lvx	25,3,7
++	vxor	4,21,31
++
++	.long	0x10E7F508
++	vperm	0,0,0,5
++	.long	0x118CF508
++	.long	0x11ADF508
++	.long	0x11CEF508
++	.long	0x11EFF508
++
++	.long	0x10E78D09
++	.long	0x118C0D09
++	.long	0x11AD1509
++	.long	0x11CE1D09
++	.long	0x11EF2509
++	blr	
++.long	0
++.byte	0,12,0x14,0,0,0,0,0
++
++.align	5
++_aesp8_xts_decrypt6x:
++	stdu	1,-448(1)
++	mflr	11
++	li	7,207
++	li	3,223
++	std	11,464(1)
++	stvx	20,7,1
++	addi	7,7,32
++	stvx	21,3,1
++	addi	3,3,32
++	stvx	22,7,1
++	addi	7,7,32
++	stvx	23,3,1
++	addi	3,3,32
++	stvx	24,7,1
++	addi	7,7,32
++	stvx	25,3,1
++	addi	3,3,32
++	stvx	26,7,1
++	addi	7,7,32
++	stvx	27,3,1
++	addi	3,3,32
++	stvx	28,7,1
++	addi	7,7,32
++	stvx	29,3,1
++	addi	3,3,32
++	stvx	30,7,1
++	stvx	31,3,1
++	li	0,-1
++	stw	12,396(1)
++	li	3,0x10
++	std	26,400(1)
++	li	26,0x20
++	std	27,408(1)
++	li	27,0x30
++	std	28,416(1)
++	li	28,0x40
++	std	29,424(1)
++	li	29,0x50
++	std	30,432(1)
++	li	30,0x60
++	std	31,440(1)
++	li	31,0x70
++	or	0,0,0
++
++	subi	9,9,3
++
++	lvx	23,0,6
++	lvx	30,3,6
++	addi	6,6,0x20
++	lvx	31,0,6
++	vperm	23,30,23,7
++	addi	7,1,79
++	mtctr	9
++
++.Load_xts_dec_key:
++	vperm	24,31,30,7
++	lvx	30,3,6
++	addi	6,6,0x20
++	stvx	24,0,7
++	vperm	25,30,31,7
++	lvx	31,0,6
++	stvx	25,3,7
++	addi	7,7,0x20
++	bdnz	.Load_xts_dec_key
++
++	lvx	26,3,6
++	vperm	24,31,30,7
++	lvx	27,26,6
++	stvx	24,0,7
++	vperm	25,26,31,7
++	lvx	28,27,6
++	stvx	25,3,7
++	addi	7,1,79
++	vperm	26,27,26,7
++	lvx	29,28,6
++	vperm	27,28,27,7
++	lvx	30,29,6
++	vperm	28,29,28,7
++	lvx	31,30,6
++	vperm	29,30,29,7
++	lvx	22,31,6
++	vperm	30,31,30,7
++	lvx	24,0,7
++	vperm	31,22,31,7
++	lvx	25,3,7
++
++	vperm	0,2,4,5
++	subi	10,10,31
++	vxor	17,8,23
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vand	11,11,10
++	vxor	7,0,17
++	vxor	8,8,11
++
++	.long	0x7C235699
++	vxor	18,8,23
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vperm	1,1,1,6
++	vand	11,11,10
++	vxor	12,1,18
++	vxor	8,8,11
++
++	.long	0x7C5A5699
++	andi.	31,5,15
++	vxor	19,8,23
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vperm	2,2,2,6
++	vand	11,11,10
++	vxor	13,2,19
++	vxor	8,8,11
++
++	.long	0x7C7B5699
++	sub	5,5,31
++	vxor	20,8,23
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vperm	3,3,3,6
++	vand	11,11,10
++	vxor	14,3,20
++	vxor	8,8,11
++
++	.long	0x7C9C5699
++	subi	5,5,0x60
++	vxor	21,8,23
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vperm	4,4,4,6
++	vand	11,11,10
++	vxor	15,4,21
++	vxor	8,8,11
++
++	.long	0x7CBD5699
++	addi	10,10,0x60
++	vxor	22,8,23
++	vsrab	11,8,9
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	vperm	5,5,5,6
++	vand	11,11,10
++	vxor	16,5,22
++	vxor	8,8,11
++
++	vxor	31,31,23
++	mtctr	9
++	b	.Loop_xts_dec6x
++
++.align	5
++.Loop_xts_dec6x:
++	.long	0x10E7C548
++	.long	0x118CC548
++	.long	0x11ADC548
++	.long	0x11CEC548
++	.long	0x11EFC548
++	.long	0x1210C548
++	lvx	24,26,7
++	addi	7,7,0x20
++
++	.long	0x10E7CD48
++	.long	0x118CCD48
++	.long	0x11ADCD48
++	.long	0x11CECD48
++	.long	0x11EFCD48
++	.long	0x1210CD48
++	lvx	25,3,7
++	bdnz	.Loop_xts_dec6x
++
++	subic	5,5,96
++	vxor	0,17,31
++	.long	0x10E7C548
++	.long	0x118CC548
++	vsrab	11,8,9
++	vxor	17,8,23
++	vaddubm	8,8,8
++	.long	0x11ADC548
++	.long	0x11CEC548
++	vsldoi	11,11,11,15
++	.long	0x11EFC548
++	.long	0x1210C548
++
++	subfe.	0,0,0
++	vand	11,11,10
++	.long	0x10E7CD48
++	.long	0x118CCD48
++	vxor	8,8,11
++	.long	0x11ADCD48
++	.long	0x11CECD48
++	vxor	1,18,31
++	vsrab	11,8,9
++	vxor	18,8,23
++	.long	0x11EFCD48
++	.long	0x1210CD48
++
++	and	0,0,5
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	.long	0x10E7D548
++	.long	0x118CD548
++	vand	11,11,10
++	.long	0x11ADD548
++	.long	0x11CED548
++	vxor	8,8,11
++	.long	0x11EFD548
++	.long	0x1210D548
++
++	add	10,10,0
++
++
++
++	vxor	2,19,31
++	vsrab	11,8,9
++	vxor	19,8,23
++	vaddubm	8,8,8
++	.long	0x10E7DD48
++	.long	0x118CDD48
++	vsldoi	11,11,11,15
++	.long	0x11ADDD48
++	.long	0x11CEDD48
++	vand	11,11,10
++	.long	0x11EFDD48
++	.long	0x1210DD48
++
++	addi	7,1,79
++	vxor	8,8,11
++	.long	0x10E7E548
++	.long	0x118CE548
++	vxor	3,20,31
++	vsrab	11,8,9
++	vxor	20,8,23
++	.long	0x11ADE548
++	.long	0x11CEE548
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	.long	0x11EFE548
++	.long	0x1210E548
++	lvx	24,0,7
++	vand	11,11,10
++
++	.long	0x10E7ED48
++	.long	0x118CED48
++	vxor	8,8,11
++	.long	0x11ADED48
++	.long	0x11CEED48
++	vxor	4,21,31
++	vsrab	11,8,9
++	vxor	21,8,23
++	.long	0x11EFED48
++	.long	0x1210ED48
++	lvx	25,3,7
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++
++	.long	0x10E7F548
++	.long	0x118CF548
++	vand	11,11,10
++	.long	0x11ADF548
++	.long	0x11CEF548
++	vxor	8,8,11
++	.long	0x11EFF548
++	.long	0x1210F548
++	vxor	5,22,31
++	vsrab	11,8,9
++	vxor	22,8,23
++
++	.long	0x10E70549
++	.long	0x7C005699
++	vaddubm	8,8,8
++	vsldoi	11,11,11,15
++	.long	0x118C0D49
++	.long	0x7C235699
++	.long	0x11AD1549
++	vperm	0,0,0,6
++	.long	0x7C5A5699
++	vand	11,11,10
++	.long	0x11CE1D49
++	vperm	1,1,1,6
++	.long	0x7C7B5699
++	.long	0x11EF2549
++	vperm	2,2,2,6
++	.long	0x7C9C5699
++	vxor	8,8,11
++	.long	0x12102D49
++	vperm	3,3,3,6
++	.long	0x7CBD5699
++	addi	10,10,0x60
++	vperm	4,4,4,6
++	vperm	5,5,5,6
++
++	vperm	7,7,7,6
++	vperm	12,12,12,6
++	.long	0x7CE02799
++	vxor	7,0,17
++	vperm	13,13,13,6
++	.long	0x7D832799
++	vxor	12,1,18
++	vperm	14,14,14,6
++	.long	0x7DBA2799
++	vxor	13,2,19
++	vperm	15,15,15,6
++	.long	0x7DDB2799
++	vxor	14,3,20
++	vperm	16,16,16,6
++	.long	0x7DFC2799
++	vxor	15,4,21
++	.long	0x7E1D2799
++	vxor	16,5,22
++	addi	4,4,0x60
++
++	mtctr	9
++	beq	.Loop_xts_dec6x
++
++	addic.	5,5,0x60
++	beq	.Lxts_dec6x_zero
++	cmpwi	5,0x20
++	blt	.Lxts_dec6x_one
++	nop	
++	beq	.Lxts_dec6x_two
++	cmpwi	5,0x40
++	blt	.Lxts_dec6x_three
++	nop	
++	beq	.Lxts_dec6x_four
++
++.Lxts_dec6x_five:
++	vxor	7,1,17
++	vxor	12,2,18
++	vxor	13,3,19
++	vxor	14,4,20
++	vxor	15,5,21
++
++	bl	_aesp8_xts_dec5x
++
++	vperm	7,7,7,6
++	vor	17,22,22
++	vxor	18,8,23
++	vperm	12,12,12,6
++	.long	0x7CE02799
++	vxor	7,0,18
++	vperm	13,13,13,6
++	.long	0x7D832799
++	vperm	14,14,14,6
++	.long	0x7DBA2799
++	vperm	15,15,15,6
++	.long	0x7DDB2799
++	.long	0x7DFC2799
++	addi	4,4,0x50
++	bne	.Lxts_dec6x_steal
++	b	.Lxts_dec6x_done
++
++.align	4
++.Lxts_dec6x_four:
++	vxor	7,2,17
++	vxor	12,3,18
++	vxor	13,4,19
++	vxor	14,5,20
++	vxor	15,15,15
++
++	bl	_aesp8_xts_dec5x
++
++	vperm	7,7,7,6
++	vor	17,21,21
++	vor	18,22,22
++	vperm	12,12,12,6
++	.long	0x7CE02799
++	vxor	7,0,22
++	vperm	13,13,13,6
++	.long	0x7D832799
++	vperm	14,14,14,6
++	.long	0x7DBA2799
++	.long	0x7DDB2799
++	addi	4,4,0x40
++	bne	.Lxts_dec6x_steal
++	b	.Lxts_dec6x_done
++
++.align	4
++.Lxts_dec6x_three:
++	vxor	7,3,17
++	vxor	12,4,18
++	vxor	13,5,19
++	vxor	14,14,14
++	vxor	15,15,15
++
++	bl	_aesp8_xts_dec5x
++
++	vperm	7,7,7,6
++	vor	17,20,20
++	vor	18,21,21
++	vperm	12,12,12,6
++	.long	0x7CE02799
++	vxor	7,0,21
++	vperm	13,13,13,6
++	.long	0x7D832799
++	.long	0x7DBA2799
++	addi	4,4,0x30
++	bne	.Lxts_dec6x_steal
++	b	.Lxts_dec6x_done
++
++.align	4
++.Lxts_dec6x_two:
++	vxor	7,4,17
++	vxor	12,5,18
++	vxor	13,13,13
++	vxor	14,14,14
++	vxor	15,15,15
++
++	bl	_aesp8_xts_dec5x
++
++	vperm	7,7,7,6
++	vor	17,19,19
++	vor	18,20,20
++	vperm	12,12,12,6
++	.long	0x7CE02799
++	vxor	7,0,20
++	.long	0x7D832799
++	addi	4,4,0x20
++	bne	.Lxts_dec6x_steal
++	b	.Lxts_dec6x_done
++
++.align	4
++.Lxts_dec6x_one:
++	vxor	7,5,17
++	nop	
++.Loop_xts_dec1x:
++	.long	0x10E7C548
++	lvx	24,26,7
++	addi	7,7,0x20
++
++	.long	0x10E7CD48
++	lvx	25,3,7
++	bdnz	.Loop_xts_dec1x
++
++	subi	0,31,1
++	.long	0x10E7C548
++
++	andi.	0,0,16
++	cmpwi	31,0
++	.long	0x10E7CD48
++
++	sub	10,10,0
++	.long	0x10E7D548
++
++	.long	0x7C005699
++	.long	0x10E7DD48
++
++	addi	7,1,79
++	.long	0x10E7E548
++	lvx	24,0,7
++
++	.long	0x10E7ED48
++	lvx	25,3,7
++	vxor	17,17,31
++
++	vperm	0,0,0,6
++	.long	0x10E7F548
++
++	mtctr	9
++	.long	0x10E78D49
++
++	vor	17,18,18
++	vor	18,19,19
++	vperm	7,7,7,6
++	.long	0x7CE02799
++	addi	4,4,0x10
++	vxor	7,0,19
++	bne	.Lxts_dec6x_steal
++	b	.Lxts_dec6x_done
++
++.align	4
++.Lxts_dec6x_zero:
++	cmpwi	31,0
++	beq	.Lxts_dec6x_done
++
++	.long	0x7C005699
++	vperm	0,0,0,6
++	vxor	7,0,18
++.Lxts_dec6x_steal:
++	.long	0x10E7C548
++	lvx	24,26,7
++	addi	7,7,0x20
++
++	.long	0x10E7CD48
++	lvx	25,3,7
++	bdnz	.Lxts_dec6x_steal
++
++	add	10,10,31
++	.long	0x10E7C548
++
++	cmpwi	31,0
++	.long	0x10E7CD48
++
++	.long	0x7C005699
++	.long	0x10E7D548
++
++	lvsr	5,0,31
++	.long	0x10E7DD48
++
++	addi	7,1,79
++	.long	0x10E7E548
++	lvx	24,0,7
++
++	.long	0x10E7ED48
++	lvx	25,3,7
++	vxor	18,18,31
++
++	vperm	0,0,0,6
++	.long	0x10E7F548
++
++	vperm	0,0,0,5
++	.long	0x11679549
++
++	vperm	7,11,11,6
++	.long	0x7CE02799
++
++
++	vxor	7,7,7
++	vspltisb	12,-1
++	vperm	7,7,12,5
++	vsel	7,0,11,7
++	vxor	7,7,17
++
++	subi	30,4,1
++	mtctr	31
++.Loop_xts_dec6x_steal:
++	lbzu	0,1(30)
++	stb	0,16(30)
++	bdnz	.Loop_xts_dec6x_steal
++
++	li	31,0
++	mtctr	9
++	b	.Loop_xts_dec1x
++
++.align	4
++.Lxts_dec6x_done:
++	cmpldi	8,0
++	beq	.Lxts_dec6x_ret
++
++	vxor	8,17,23
++	vperm	8,8,8,6
++	.long	0x7D004799
++
++.Lxts_dec6x_ret:
++	mtlr	11
++	li	10,79
++	li	11,95
++	stvx	9,10,1
++	addi	10,10,32
++	stvx	9,11,1
++	addi	11,11,32
++	stvx	9,10,1
++	addi	10,10,32
++	stvx	9,11,1
++	addi	11,11,32
++	stvx	9,10,1
++	addi	10,10,32
++	stvx	9,11,1
++	addi	11,11,32
++	stvx	9,10,1
++	addi	10,10,32
++	stvx	9,11,1
++	addi	11,11,32
++
++	or	12,12,12
++	lvx	20,10,1
++	addi	10,10,32
++	lvx	21,11,1
++	addi	11,11,32
++	lvx	22,10,1
++	addi	10,10,32
++	lvx	23,11,1
++	addi	11,11,32
++	lvx	24,10,1
++	addi	10,10,32
++	lvx	25,11,1
++	addi	11,11,32
++	lvx	26,10,1
++	addi	10,10,32
++	lvx	27,11,1
++	addi	11,11,32
++	lvx	28,10,1
++	addi	10,10,32
++	lvx	29,11,1
++	addi	11,11,32
++	lvx	30,10,1
++	lvx	31,11,1
++	ld	26,400(1)
++	ld	27,408(1)
++	ld	28,416(1)
++	ld	29,424(1)
++	ld	30,432(1)
++	ld	31,440(1)
++	addi	1,1,448
++	blr	
++.long	0
++.byte	0,12,0x04,1,0x80,6,6,0
++.long	0
++
++.align	5
++_aesp8_xts_dec5x:
++	.long	0x10E7C548
++	.long	0x118CC548
++	.long	0x11ADC548
++	.long	0x11CEC548
++	.long	0x11EFC548
++	lvx	24,26,7
++	addi	7,7,0x20
++
++	.long	0x10E7CD48
++	.long	0x118CCD48
++	.long	0x11ADCD48
++	.long	0x11CECD48
++	.long	0x11EFCD48
++	lvx	25,3,7
++	bdnz	_aesp8_xts_dec5x
++
++	subi	0,31,1
++	.long	0x10E7C548
++	.long	0x118CC548
++	.long	0x11ADC548
++	.long	0x11CEC548
++	.long	0x11EFC548
++
++	andi.	0,0,16
++	cmpwi	31,0
++	.long	0x10E7CD48
++	.long	0x118CCD48
++	.long	0x11ADCD48
++	.long	0x11CECD48
++	.long	0x11EFCD48
++	vxor	17,17,31
++
++	sub	10,10,0
++	.long	0x10E7D548
++	.long	0x118CD548
++	.long	0x11ADD548
++	.long	0x11CED548
++	.long	0x11EFD548
++	vxor	1,18,31
++
++	.long	0x10E7DD48
++	.long	0x7C005699
++	.long	0x118CDD48
++	.long	0x11ADDD48
++	.long	0x11CEDD48
++	.long	0x11EFDD48
++	vxor	2,19,31
++
++	addi	7,1,79
++	.long	0x10E7E548
++	.long	0x118CE548
++	.long	0x11ADE548
++	.long	0x11CEE548
++	.long	0x11EFE548
++	lvx	24,0,7
++	vxor	3,20,31
++
++	.long	0x10E7ED48
++	vperm	0,0,0,6
++	.long	0x118CED48
++	.long	0x11ADED48
++	.long	0x11CEED48
++	.long	0x11EFED48
++	lvx	25,3,7
++	vxor	4,21,31
++
++	.long	0x10E7F548
++	.long	0x118CF548
++	.long	0x11ADF548
++	.long	0x11CEF548
++	.long	0x11EFF548
++
++	.long	0x10E78D49
++	.long	0x118C0D49
++	.long	0x11AD1549
++	.long	0x11CE1D49
++	.long	0x11EF2549
++	mtctr	9
++	blr	
++.long	0
++.byte	0,12,0x14,0,0,0,0,0
++#endif  // !OPENSSL_NO_ASM && __powerpc64__ && __ELF__
++#if defined(__ELF__)
++// See https://www.airs.com/blog/archives/518.
++.section .note.GNU-stack,"",%progbits
++#endif
+diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/bcm/ghashp8-ppc-linux.S chromium-125.0.6422.41/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
+--- chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/bcm/ghashp8-ppc-linux.S	1970-01-01 00:00:00.000000000 +0000
++++ chromium-125.0.6422.41/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S	2024-05-14 17:55:16.086263678 +0000
+@@ -0,0 +1,590 @@
++// This file is generated from a similarly-named Perl script in the BoringSSL
++// source tree. Do not edit by hand.
++
++#if defined(__has_feature)
++#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
++#define OPENSSL_NO_ASM
++#endif
++#endif
++
++#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) && defined(__ELF__)
++.machine	"any"
++
++.abiversion	2
++.text
++
++.globl	gcm_init_p8
++.type	gcm_init_p8,@function
++.align	5
++gcm_init_p8:
++.localentry	gcm_init_p8,0
++
++	li	0,-4096
++	li	8,0x10
++	li	12,-1
++	li	9,0x20
++	or	0,0,0
++	li	10,0x30
++	.long	0x7D202699
++
++	vspltisb	8,-16
++	vspltisb	5,1
++	vaddubm	8,8,8
++	vxor	4,4,4
++	vor	8,8,5
++	vsldoi	8,8,4,15
++	vsldoi	6,4,5,1
++	vaddubm	8,8,8
++	vspltisb	7,7
++	vor	8,8,6
++	vspltb	6,9,0
++	vsl	9,9,5
++	vsrab	6,6,7
++	vand	6,6,8
++	vxor	3,9,6
++
++	vsldoi	9,3,3,8
++	vsldoi	8,4,8,8
++	vsldoi	11,4,9,8
++	vsldoi	10,9,4,8
++
++	.long	0x7D001F99
++	.long	0x7D681F99
++	li	8,0x40
++	.long	0x7D291F99
++	li	9,0x50
++	.long	0x7D4A1F99
++	li	10,0x60
++
++	.long	0x10035CC8
++	.long	0x10234CC8
++	.long	0x104354C8
++
++	.long	0x10E044C8
++
++	vsldoi	5,1,4,8
++	vsldoi	6,4,1,8
++	vxor	0,0,5
++	vxor	2,2,6
++
++	vsldoi	0,0,0,8
++	vxor	0,0,7
++
++	vsldoi	6,0,0,8
++	.long	0x100044C8
++	vxor	6,6,2
++	vxor	16,0,6
++
++	vsldoi	17,16,16,8
++	vsldoi	19,4,17,8
++	vsldoi	18,17,4,8
++
++	.long	0x7E681F99
++	li	8,0x70
++	.long	0x7E291F99
++	li	9,0x80
++	.long	0x7E4A1F99
++	li	10,0x90
++	.long	0x10039CC8
++	.long	0x11B09CC8
++	.long	0x10238CC8
++	.long	0x11D08CC8
++	.long	0x104394C8
++	.long	0x11F094C8
++
++	.long	0x10E044C8
++	.long	0x114D44C8
++
++	vsldoi	5,1,4,8
++	vsldoi	6,4,1,8
++	vsldoi	11,14,4,8
++	vsldoi	9,4,14,8
++	vxor	0,0,5
++	vxor	2,2,6
++	vxor	13,13,11
++	vxor	15,15,9
++
++	vsldoi	0,0,0,8
++	vsldoi	13,13,13,8
++	vxor	0,0,7
++	vxor	13,13,10
++
++	vsldoi	6,0,0,8
++	vsldoi	9,13,13,8
++	.long	0x100044C8
++	.long	0x11AD44C8
++	vxor	6,6,2
++	vxor	9,9,15
++	vxor	0,0,6
++	vxor	13,13,9
++
++	vsldoi	9,0,0,8
++	vsldoi	17,13,13,8
++	vsldoi	11,4,9,8
++	vsldoi	10,9,4,8
++	vsldoi	19,4,17,8
++	vsldoi	18,17,4,8
++
++	.long	0x7D681F99
++	li	8,0xa0
++	.long	0x7D291F99
++	li	9,0xb0
++	.long	0x7D4A1F99
++	li	10,0xc0
++	.long	0x7E681F99
++	.long	0x7E291F99
++	.long	0x7E4A1F99
++
++	or	12,12,12
++	blr	
++.long	0
++.byte	0,12,0x14,0,0,0,2,0
++.long	0
++.size	gcm_init_p8,.-gcm_init_p8
++.globl	gcm_gmult_p8
++.type	gcm_gmult_p8,@function
++.align	5
++gcm_gmult_p8:
++.localentry	gcm_gmult_p8,0
++
++	lis	0,0xfff8
++	li	8,0x10
++	li	12,-1
++	li	9,0x20
++	or	0,0,0
++	li	10,0x30
++	.long	0x7C601E99
++
++	.long	0x7D682699
++	lvsl	12,0,0
++	.long	0x7D292699
++	vspltisb	5,0x07
++	.long	0x7D4A2699
++	vxor	12,12,5
++	.long	0x7D002699
++	vperm	3,3,3,12
++	vxor	4,4,4
++
++	.long	0x10035CC8
++	.long	0x10234CC8
++	.long	0x104354C8
++
++	.long	0x10E044C8
++
++	vsldoi	5,1,4,8
++	vsldoi	6,4,1,8
++	vxor	0,0,5
++	vxor	2,2,6
++
++	vsldoi	0,0,0,8
++	vxor	0,0,7
++
++	vsldoi	6,0,0,8
++	.long	0x100044C8
++	vxor	6,6,2
++	vxor	0,0,6
++
++	vperm	0,0,0,12
++	.long	0x7C001F99
++
++	or	12,12,12
++	blr	
++.long	0
++.byte	0,12,0x14,0,0,0,2,0
++.long	0
++.size	gcm_gmult_p8,.-gcm_gmult_p8
++
++.globl	gcm_ghash_p8
++.type	gcm_ghash_p8,@function
++.align	5
++gcm_ghash_p8:
++.localentry	gcm_ghash_p8,0
++
++	li	0,-4096
++	li	8,0x10
++	li	12,-1
++	li	9,0x20
++	or	0,0,0
++	li	10,0x30
++	.long	0x7C001E99
++
++	.long	0x7D682699
++	li	8,0x40
++	lvsl	12,0,0
++	.long	0x7D292699
++	li	9,0x50
++	vspltisb	5,0x07
++	.long	0x7D4A2699
++	li	10,0x60
++	vxor	12,12,5
++	.long	0x7D002699
++	vperm	0,0,0,12
++	vxor	4,4,4
++
++	cmpldi	6,64
++	bge	.Lgcm_ghash_p8_4x
++
++	.long	0x7C602E99
++	addi	5,5,16
++	subic.	6,6,16
++	vperm	3,3,3,12
++	vxor	3,3,0
++	beq	.Lshort
++
++	.long	0x7E682699
++	li	8,16
++	.long	0x7E292699
++	add	9,5,6
++	.long	0x7E4A2699
++
++
++.align	5
++.Loop_2x:
++	.long	0x7E002E99
++	vperm	16,16,16,12
++
++	subic	6,6,32
++	.long	0x10039CC8
++	.long	0x11B05CC8
++	subfe	0,0,0
++	.long	0x10238CC8
++	.long	0x11D04CC8
++	and	0,0,6
++	.long	0x104394C8
++	.long	0x11F054C8
++	add	5,5,0
++
++	vxor	0,0,13
++	vxor	1,1,14
++
++	.long	0x10E044C8
++
++	vsldoi	5,1,4,8
++	vsldoi	6,4,1,8
++	vxor	2,2,15
++	vxor	0,0,5
++	vxor	2,2,6
++
++	vsldoi	0,0,0,8
++	vxor	0,0,7
++	.long	0x7C682E99
++	addi	5,5,32
++
++	vsldoi	6,0,0,8
++	.long	0x100044C8
++	vperm	3,3,3,12
++	vxor	6,6,2
++	vxor	3,3,6
++	vxor	3,3,0
++	cmpld	9,5
++	bgt	.Loop_2x
++
++	cmplwi	6,0
++	bne	.Leven
++
++.Lshort:
++	.long	0x10035CC8
++	.long	0x10234CC8
++	.long	0x104354C8
++
++	.long	0x10E044C8
++
++	vsldoi	5,1,4,8
++	vsldoi	6,4,1,8
++	vxor	0,0,5
++	vxor	2,2,6
++
++	vsldoi	0,0,0,8
++	vxor	0,0,7
++
++	vsldoi	6,0,0,8
++	.long	0x100044C8
++	vxor	6,6,2
++
++.Leven:
++	vxor	0,0,6
++	vperm	0,0,0,12
++	.long	0x7C001F99
++
++	or	12,12,12
++	blr	
++.long	0
++.byte	0,12,0x14,0,0,0,4,0
++.long	0
++.align	5
++.gcm_ghash_p8_4x:
++.Lgcm_ghash_p8_4x:
++	stdu	1,-256(1)
++	li	10,63
++	li	11,79
++	stvx	20,10,1
++	addi	10,10,32
++	stvx	21,11,1
++	addi	11,11,32
++	stvx	22,10,1
++	addi	10,10,32
++	stvx	23,11,1
++	addi	11,11,32
++	stvx	24,10,1
++	addi	10,10,32
++	stvx	25,11,1
++	addi	11,11,32
++	stvx	26,10,1
++	addi	10,10,32
++	stvx	27,11,1
++	addi	11,11,32
++	stvx	28,10,1
++	addi	10,10,32
++	stvx	29,11,1
++	addi	11,11,32
++	stvx	30,10,1
++	li	10,0x60
++	stvx	31,11,1
++	li	0,-1
++	stw	12,252(1)
++	or	0,0,0
++
++	lvsl	5,0,8
++
++	li	8,0x70
++	.long	0x7E292699
++	li	9,0x80
++	vspltisb	6,8
++
++	li	10,0x90
++	.long	0x7EE82699
++	li	8,0xa0
++	.long	0x7F092699
++	li	9,0xb0
++	.long	0x7F2A2699
++	li	10,0xc0
++	.long	0x7FA82699
++	li	8,0x10
++	.long	0x7FC92699
++	li	9,0x20
++	.long	0x7FEA2699
++	li	10,0x30
++
++	vsldoi	7,4,6,8
++	vaddubm	18,5,7
++	vaddubm	19,6,18
++
++	srdi	6,6,4
++
++	.long	0x7C602E99
++	.long	0x7E082E99
++	subic.	6,6,8
++	.long	0x7EC92E99
++	.long	0x7F8A2E99
++	addi	5,5,0x40
++	vperm	3,3,3,12
++	vperm	16,16,16,12
++	vperm	22,22,22,12
++	vperm	28,28,28,12
++
++	vxor	2,3,0
++
++	.long	0x11B0BCC8
++	.long	0x11D0C4C8
++	.long	0x11F0CCC8
++
++	vperm	11,17,9,18
++	vperm	5,22,28,19
++	vperm	10,17,9,19
++	vperm	6,22,28,18
++	.long	0x12B68CC8
++	.long	0x12855CC8
++	.long	0x137C4CC8
++	.long	0x134654C8
++
++	vxor	21,21,14
++	vxor	20,20,13
++	vxor	27,27,21
++	vxor	26,26,15
++
++	blt	.Ltail_4x
++
++.Loop_4x:
++	.long	0x7C602E99
++	.long	0x7E082E99
++	subic.	6,6,4
++	.long	0x7EC92E99
++	.long	0x7F8A2E99
++	addi	5,5,0x40
++	vperm	16,16,16,12
++	vperm	22,22,22,12
++	vperm	28,28,28,12
++	vperm	3,3,3,12
++
++	.long	0x1002ECC8
++	.long	0x1022F4C8
++	.long	0x1042FCC8
++	.long	0x11B0BCC8
++	.long	0x11D0C4C8
++	.long	0x11F0CCC8
++
++	vxor	0,0,20
++	vxor	1,1,27
++	vxor	2,2,26
++	vperm	5,22,28,19
++	vperm	6,22,28,18
++
++	.long	0x10E044C8
++	.long	0x12855CC8
++	.long	0x134654C8
++
++	vsldoi	5,1,4,8
++	vsldoi	6,4,1,8
++	vxor	0,0,5
++	vxor	2,2,6
++
++	vsldoi	0,0,0,8
++	vxor	0,0,7
++
++	vsldoi	6,0,0,8
++	.long	0x12B68CC8
++	.long	0x137C4CC8
++	.long	0x100044C8
++
++	vxor	20,20,13
++	vxor	26,26,15
++	vxor	2,2,3
++	vxor	21,21,14
++	vxor	2,2,6
++	vxor	27,27,21
++	vxor	2,2,0
++	bge	.Loop_4x
++
++.Ltail_4x:
++	.long	0x1002ECC8
++	.long	0x1022F4C8
++	.long	0x1042FCC8
++
++	vxor	0,0,20
++	vxor	1,1,27
++
++	.long	0x10E044C8
++
++	vsldoi	5,1,4,8
++	vsldoi	6,4,1,8
++	vxor	2,2,26
++	vxor	0,0,5
++	vxor	2,2,6
++
++	vsldoi	0,0,0,8
++	vxor	0,0,7
++
++	vsldoi	6,0,0,8
++	.long	0x100044C8
++	vxor	6,6,2
++	vxor	0,0,6
++
++	addic.	6,6,4
++	beq	.Ldone_4x
++
++	.long	0x7C602E99
++	cmpldi	6,2
++	li	6,-4
++	blt	.Lone
++	.long	0x7E082E99
++	beq	.Ltwo
++
++.Lthree:
++	.long	0x7EC92E99
++	vperm	3,3,3,12
++	vperm	16,16,16,12
++	vperm	22,22,22,12
++
++	vxor	2,3,0
++	vor	29,23,23
++	vor	30, 24, 24
++	vor	31,25,25
++
++	vperm	5,16,22,19
++	vperm	6,16,22,18
++	.long	0x12B08CC8
++	.long	0x13764CC8
++	.long	0x12855CC8
++	.long	0x134654C8
++
++	vxor	27,27,21
++	b	.Ltail_4x
++
++.align	4
++.Ltwo:
++	vperm	3,3,3,12
++	vperm	16,16,16,12
++
++	vxor	2,3,0
++	vperm	5,4,16,19
++	vperm	6,4,16,18
++
++	vsldoi	29,4,17,8
++	vor	30, 17, 17
++	vsldoi	31,17,4,8
++
++	.long	0x12855CC8
++	.long	0x13704CC8
++	.long	0x134654C8
++
++	b	.Ltail_4x
++
++.align	4
++.Lone:
++	vperm	3,3,3,12
++
++	vsldoi	29,4,9,8
++	vor	30, 9, 9
++	vsldoi	31,9,4,8
++
++	vxor	2,3,0
++	vxor	20,20,20
++	vxor	27,27,27
++	vxor	26,26,26
++
++	b	.Ltail_4x
++
++.Ldone_4x:
++	vperm	0,0,0,12
++	.long	0x7C001F99
++
++	li	10,63
++	li	11,79
++	or	12,12,12
++	lvx	20,10,1
++	addi	10,10,32
++	lvx	21,11,1
++	addi	11,11,32
++	lvx	22,10,1
++	addi	10,10,32
++	lvx	23,11,1
++	addi	11,11,32
++	lvx	24,10,1
++	addi	10,10,32
++	lvx	25,11,1
++	addi	11,11,32
++	lvx	26,10,1
++	addi	10,10,32
++	lvx	27,11,1
++	addi	11,11,32
++	lvx	28,10,1
++	addi	10,10,32
++	lvx	29,11,1
++	addi	11,11,32
++	lvx	30,10,1
++	lvx	31,11,1
++	addi	1,1,256
++	blr	
++.long	0
++.byte	0,12,0x04,0,0x80,0,4,0
++.long	0
++.size	gcm_ghash_p8,.-gcm_ghash_p8
++
++.byte	71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
++.align	2
++.align	2
++#endif  // !OPENSSL_NO_ASM && __powerpc64__ && __ELF__
++#if defined(__ELF__)
++// See https://www.airs.com/blog/archives/518.
++.section .note.GNU-stack,"",%progbits
++#endif
+diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmake chromium-125.0.6422.41/third_party/boringssl/src/gen/sources.cmake
+--- chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.cmake	2024-05-08 20:30:38.000000000 +0000
++++ chromium-125.0.6422.41/third_party/boringssl/src/gen/sources.cmake	2024-05-14 17:55:16.018271455 +0000
+@@ -110,6 +110,7 @@
+   gen/bcm/aesni-x86-linux.S
+   gen/bcm/aesni-x86_64-apple.S
+   gen/bcm/aesni-x86_64-linux.S
++  gen/bcm/aesp8-ppc-linux.S
+   gen/bcm/aesv8-armv7-linux.S
+   gen/bcm/aesv8-armv8-apple.S
+   gen/bcm/aesv8-armv8-linux.S
+@@ -141,6 +142,7 @@
+   gen/bcm/ghash-x86-linux.S
+   gen/bcm/ghash-x86_64-apple.S
+   gen/bcm/ghash-x86_64-linux.S
++  gen/bcm/ghashp8-ppc-linux.S
+   gen/bcm/ghashv8-armv7-linux.S
+   gen/bcm/ghashv8-armv8-apple.S
+   gen/bcm/ghashv8-armv8-linux.S
+@@ -336,6 +338,7 @@
+   crypto/cpu_arm_freebsd.c
+   crypto/cpu_arm_linux.c
+   crypto/cpu_intel.c
++  crypto/cpu_ppc64le.c
+   crypto/crypto.c
+   crypto/curve25519/curve25519.c
+   crypto/curve25519/curve25519_64_adx.c
+@@ -775,37 +778,6 @@
+   CRYPTO_TEST_DATA
+ 
+   crypto/blake2/blake2b256_tests.txt
+-  crypto/cipher_extra/test/aes_128_cbc_sha1_tls_implicit_iv_tests.txt
+-  crypto/cipher_extra/test/aes_128_cbc_sha1_tls_tests.txt
+-  crypto/cipher_extra/test/aes_128_ccm_bluetooth_8_tests.txt
+-  crypto/cipher_extra/test/aes_128_ccm_bluetooth_tests.txt
+-  crypto/cipher_extra/test/aes_128_ccm_matter_tests.txt
+-  crypto/cipher_extra/test/aes_128_ctr_hmac_sha256.txt
+-  crypto/cipher_extra/test/aes_128_gcm_randnonce_tests.txt
+-  crypto/cipher_extra/test/aes_128_gcm_siv_tests.txt
+-  crypto/cipher_extra/test/aes_128_gcm_tests.txt
+-  crypto/cipher_extra/test/aes_192_gcm_tests.txt
+-  crypto/cipher_extra/test/aes_256_cbc_sha1_tls_implicit_iv_tests.txt
+-  crypto/cipher_extra/test/aes_256_cbc_sha1_tls_tests.txt
+-  crypto/cipher_extra/test/aes_256_ctr_hmac_sha256.txt
+-  crypto/cipher_extra/test/aes_256_gcm_randnonce_tests.txt
+-  crypto/cipher_extra/test/aes_256_gcm_siv_tests.txt
+-  crypto/cipher_extra/test/aes_256_gcm_tests.txt
+-  crypto/cipher_extra/test/chacha20_poly1305_tests.txt
+-  crypto/cipher_extra/test/cipher_tests.txt
+-  crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_implicit_iv_tests.txt
+-  crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_tests.txt
+-  crypto/cipher_extra/test/nist_cavp/aes_128_cbc.txt
+-  crypto/cipher_extra/test/nist_cavp/aes_128_ctr.txt
+-  crypto/cipher_extra/test/nist_cavp/aes_128_gcm.txt
+-  crypto/cipher_extra/test/nist_cavp/aes_192_cbc.txt
+-  crypto/cipher_extra/test/nist_cavp/aes_192_ctr.txt
+-  crypto/cipher_extra/test/nist_cavp/aes_256_cbc.txt
+-  crypto/cipher_extra/test/nist_cavp/aes_256_ctr.txt
+-  crypto/cipher_extra/test/nist_cavp/aes_256_gcm.txt
+-  crypto/cipher_extra/test/nist_cavp/tdes_cbc.txt
+-  crypto/cipher_extra/test/nist_cavp/tdes_ecb.txt
+-  crypto/cipher_extra/test/xchacha20_poly1305_tests.txt
+   crypto/curve25519/ed25519_tests.txt
+   crypto/ecdh_extra/ecdh_tests.txt
+   crypto/evp/evp_tests.txt
+@@ -1182,1401 +1154,6 @@
+ set(
+   PKI_TEST_DATA
+ 
+-  pki/testdata/cert_issuer_source_static_unittest/c1.pem
+-  pki/testdata/cert_issuer_source_static_unittest/c2.pem
+-  pki/testdata/cert_issuer_source_static_unittest/d.pem
+-  pki/testdata/cert_issuer_source_static_unittest/e1.pem
+-  pki/testdata/cert_issuer_source_static_unittest/e2.pem
+-  pki/testdata/cert_issuer_source_static_unittest/i1_1.pem
+-  pki/testdata/cert_issuer_source_static_unittest/i1_2.pem
+-  pki/testdata/cert_issuer_source_static_unittest/i2.pem
+-  pki/testdata/cert_issuer_source_static_unittest/i3_1.pem
+-  pki/testdata/cert_issuer_source_static_unittest/i3_2.pem
+-  pki/testdata/cert_issuer_source_static_unittest/root.pem
+-  pki/testdata/certificate_policies_unittest/anypolicy.pem
+-  pki/testdata/certificate_policies_unittest/anypolicy_with_qualifier.pem
+-  pki/testdata/certificate_policies_unittest/invalid-anypolicy_with_custom_qualifier.pem
+-  pki/testdata/certificate_policies_unittest/invalid-empty.pem
+-  pki/testdata/certificate_policies_unittest/invalid-policy_1_2_3_dupe.pem
+-  pki/testdata/certificate_policies_unittest/invalid-policy_1_2_3_policyinformation_unconsumed_data.pem
+-  pki/testdata/certificate_policies_unittest/invalid-policy_1_2_3_policyqualifierinfo_unconsumed_data.pem
+-  pki/testdata/certificate_policies_unittest/invalid-policy_1_2_3_with_empty_qualifiers_sequence.pem
+-  pki/testdata/certificate_policies_unittest/invalid-policy_identifier_not_oid.pem
+-  pki/testdata/certificate_policies_unittest/policy_1_2_3.pem
+-  pki/testdata/certificate_policies_unittest/policy_1_2_3_and_1_2_4.pem
+-  pki/testdata/certificate_policies_unittest/policy_1_2_3_and_1_2_4_with_qualifiers.pem
+-  pki/testdata/certificate_policies_unittest/policy_1_2_3_with_custom_qualifier.pem
+-  pki/testdata/certificate_policies_unittest/policy_1_2_3_with_qualifier.pem
+-  pki/testdata/crl_unittest/bad_crldp_has_crlissuer.pem
+-  pki/testdata/crl_unittest/bad_fake_critical_crlentryextension.pem
+-  pki/testdata/crl_unittest/bad_fake_critical_extension.pem
+-  pki/testdata/crl_unittest/bad_idp_contains_wrong_uri.pem
+-  pki/testdata/crl_unittest/bad_idp_indirectcrl.pem
+-  pki/testdata/crl_unittest/bad_idp_onlycontainscacerts.pem
+-  pki/testdata/crl_unittest/bad_idp_onlycontainscacerts_no_basic_constraints.pem
+-  pki/testdata/crl_unittest/bad_idp_onlycontainsusercerts.pem
+-  pki/testdata/crl_unittest/bad_idp_uri_and_onlycontainscacerts.pem
+-  pki/testdata/crl_unittest/bad_idp_uri_and_onlycontainsusercerts.pem
+-  pki/testdata/crl_unittest/bad_key_rollover_signature.pem
+-  pki/testdata/crl_unittest/bad_nextupdate_too_old.pem
+-  pki/testdata/crl_unittest/bad_signature.pem
+-  pki/testdata/crl_unittest/bad_thisupdate_in_future.pem
+-  pki/testdata/crl_unittest/bad_thisupdate_too_old.pem
+-  pki/testdata/crl_unittest/bad_wrong_issuer.pem
+-  pki/testdata/crl_unittest/good.pem
+-  pki/testdata/crl_unittest/good_fake_extension.pem
+-  pki/testdata/crl_unittest/good_fake_extension_no_nextupdate.pem
+-  pki/testdata/crl_unittest/good_generalizedtime.pem
+-  pki/testdata/crl_unittest/good_idp_contains_uri.pem
+-  pki/testdata/crl_unittest/good_idp_onlycontainscacerts.pem
+-  pki/testdata/crl_unittest/good_idp_onlycontainsusercerts.pem
+-  pki/testdata/crl_unittest/good_idp_onlycontainsusercerts_no_basic_constraints.pem
+-  pki/testdata/crl_unittest/good_idp_uri_and_onlycontainscacerts.pem
+-  pki/testdata/crl_unittest/good_idp_uri_and_onlycontainsusercerts.pem
+-  pki/testdata/crl_unittest/good_issuer_name_normalization.pem
+-  pki/testdata/crl_unittest/good_issuer_no_keyusage.pem
+-  pki/testdata/crl_unittest/good_key_rollover.pem
+-  pki/testdata/crl_unittest/good_no_crldp.pem
+-  pki/testdata/crl_unittest/good_no_nextupdate.pem
+-  pki/testdata/crl_unittest/good_no_version.pem
+-  pki/testdata/crl_unittest/invalid_garbage_after_crlentryextensions.pem
+-  pki/testdata/crl_unittest/invalid_garbage_after_extensions.pem
+-  pki/testdata/crl_unittest/invalid_garbage_after_nextupdate.pem
+-  pki/testdata/crl_unittest/invalid_garbage_after_revocationdate.pem
+-  pki/testdata/crl_unittest/invalid_garbage_after_revokedcerts.pem
+-  pki/testdata/crl_unittest/invalid_garbage_after_signaturevalue.pem
+-  pki/testdata/crl_unittest/invalid_garbage_after_thisupdate.pem
+-  pki/testdata/crl_unittest/invalid_garbage_crlentry.pem
+-  pki/testdata/crl_unittest/invalid_garbage_issuer_name.pem
+-  pki/testdata/crl_unittest/invalid_garbage_revocationdate.pem
+-  pki/testdata/crl_unittest/invalid_garbage_revoked_serial_number.pem
+-  pki/testdata/crl_unittest/invalid_garbage_signaturealgorithm.pem
+-  pki/testdata/crl_unittest/invalid_garbage_signaturevalue.pem
+-  pki/testdata/crl_unittest/invalid_garbage_tbs_signature_algorithm.pem
+-  pki/testdata/crl_unittest/invalid_garbage_tbscertlist.pem
+-  pki/testdata/crl_unittest/invalid_garbage_thisupdate.pem
+-  pki/testdata/crl_unittest/invalid_garbage_version.pem
+-  pki/testdata/crl_unittest/invalid_idp_dpname_choice_extra_data.pem
+-  pki/testdata/crl_unittest/invalid_idp_empty_sequence.pem
+-  pki/testdata/crl_unittest/invalid_idp_onlycontains_user_and_ca_certs.pem
+-  pki/testdata/crl_unittest/invalid_idp_onlycontainsusercerts_v1_leaf.pem
+-  pki/testdata/crl_unittest/invalid_issuer_keyusage_no_crlsign.pem
+-  pki/testdata/crl_unittest/invalid_key_rollover_issuer_keyusage_no_crlsign.pem
+-  pki/testdata/crl_unittest/invalid_mismatched_signature_algorithm.pem
+-  pki/testdata/crl_unittest/invalid_revoked_empty_sequence.pem
+-  pki/testdata/crl_unittest/invalid_v1_explicit.pem
+-  pki/testdata/crl_unittest/invalid_v1_with_crlentryextension.pem
+-  pki/testdata/crl_unittest/invalid_v1_with_extension.pem
+-  pki/testdata/crl_unittest/invalid_v3.pem
+-  pki/testdata/crl_unittest/revoked.pem
+-  pki/testdata/crl_unittest/revoked_fake_crlentryextension.pem
+-  pki/testdata/crl_unittest/revoked_generalized_revocationdate.pem
+-  pki/testdata/crl_unittest/revoked_key_rollover.pem
+-  pki/testdata/crl_unittest/revoked_no_nextupdate.pem
+-  pki/testdata/name_constraints_unittest/directoryname-excludeall.pem
+-  pki/testdata/name_constraints_unittest/directoryname-excluded.pem
+-  pki/testdata/name_constraints_unittest/directoryname.pem
+-  pki/testdata/name_constraints_unittest/directoryname_and_dnsname.pem
+-  pki/testdata/name_constraints_unittest/directoryname_and_dnsname_and_ipaddress.pem
+-  pki/testdata/name_constraints_unittest/dnsname-exclude_dot.pem
+-  pki/testdata/name_constraints_unittest/dnsname-excludeall.pem
+-  pki/testdata/name_constraints_unittest/dnsname-excluded.pem
+-  pki/testdata/name_constraints_unittest/dnsname-excluded_with_leading_dot.pem
+-  pki/testdata/name_constraints_unittest/dnsname-permitted_two_dot.pem
+-  pki/testdata/name_constraints_unittest/dnsname-permitted_with_leading_dot.pem
+-  pki/testdata/name_constraints_unittest/dnsname-with_max.pem
+-  pki/testdata/name_constraints_unittest/dnsname-with_min_0.pem
+-  pki/testdata/name_constraints_unittest/dnsname-with_min_0_and_max.pem
+-  pki/testdata/name_constraints_unittest/dnsname-with_min_1.pem
+-  pki/testdata/name_constraints_unittest/dnsname-with_min_1_and_max.pem
+-  pki/testdata/name_constraints_unittest/dnsname.pem
+-  pki/testdata/name_constraints_unittest/dnsname2.pem
+-  pki/testdata/name_constraints_unittest/edipartyname-excluded.pem
+-  pki/testdata/name_constraints_unittest/edipartyname-permitted.pem
+-  pki/testdata/name_constraints_unittest/invalid-empty_excluded_subtree.pem
+-  pki/testdata/name_constraints_unittest/invalid-empty_permitted_subtree.pem
+-  pki/testdata/name_constraints_unittest/invalid-no_subtrees.pem
+-  pki/testdata/name_constraints_unittest/ipaddress-excludeall.pem
+-  pki/testdata/name_constraints_unittest/ipaddress-excluded.pem
+-  pki/testdata/name_constraints_unittest/ipaddress-invalid_addr.pem
+-  pki/testdata/name_constraints_unittest/ipaddress-invalid_mask_not_contiguous_1.pem
+-  pki/testdata/name_constraints_unittest/ipaddress-invalid_mask_not_contiguous_2.pem
+-  pki/testdata/name_constraints_unittest/ipaddress-invalid_mask_not_contiguous_3.pem
+-  pki/testdata/name_constraints_unittest/ipaddress-invalid_mask_not_contiguous_4.pem
+-  pki/testdata/name_constraints_unittest/ipaddress-mapped_addrs.pem
+-  pki/testdata/name_constraints_unittest/ipaddress-permit_all.pem
+-  pki/testdata/name_constraints_unittest/ipaddress-permit_prefix1.pem
+-  pki/testdata/name_constraints_unittest/ipaddress-permit_prefix31.pem
+-  pki/testdata/name_constraints_unittest/ipaddress-permit_singlehost.pem
+-  pki/testdata/name_constraints_unittest/ipaddress.pem
+-  pki/testdata/name_constraints_unittest/name-ca.pem
+-  pki/testdata/name_constraints_unittest/name-de.pem
+-  pki/testdata/name_constraints_unittest/name-empty.pem
+-  pki/testdata/name_constraints_unittest/name-jp-tokyo.pem
+-  pki/testdata/name_constraints_unittest/name-jp.pem
+-  pki/testdata/name_constraints_unittest/name-us-arizona-1.1.1.1.pem
+-  pki/testdata/name_constraints_unittest/name-us-arizona-192.168.1.1.pem
+-  pki/testdata/name_constraints_unittest/name-us-arizona-email-invalidstring.pem
+-  pki/testdata/name_constraints_unittest/name-us-arizona-email-localpartcase.pem
+-  pki/testdata/name_constraints_unittest/name-us-arizona-email-multiple.pem
+-  pki/testdata/name_constraints_unittest/name-us-arizona-email.pem
+-  pki/testdata/name_constraints_unittest/name-us-arizona-foo.com.pem
+-  pki/testdata/name_constraints_unittest/name-us-arizona-ipv6.pem
+-  pki/testdata/name_constraints_unittest/name-us-arizona-permitted.example.com.pem
+-  pki/testdata/name_constraints_unittest/name-us-arizona.pem
+-  pki/testdata/name_constraints_unittest/name-us-california-192.168.1.1.pem
+-  pki/testdata/name_constraints_unittest/name-us-california-mountain_view.pem
+-  pki/testdata/name_constraints_unittest/name-us-california-permitted.example.com.pem
+-  pki/testdata/name_constraints_unittest/name-us-california.pem
+-  pki/testdata/name_constraints_unittest/name-us.pem
+-  pki/testdata/name_constraints_unittest/othername-excluded.pem
+-  pki/testdata/name_constraints_unittest/othername-permitted.pem
+-  pki/testdata/name_constraints_unittest/registeredid-excluded.pem
+-  pki/testdata/name_constraints_unittest/registeredid-permitted.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-excluded-empty.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-excluded-hostname.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-excluded-hostnamewithat.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-excluded-ipv4.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-excluded-quoted.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-excluded-subdomains.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-excluded.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-permitted-empty.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-permitted-hostname.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-permitted-hostnamewithat.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-permitted-ipv4.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-permitted-quoted.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-permitted-subdomains.pem
+-  pki/testdata/name_constraints_unittest/rfc822name-permitted.pem
+-  pki/testdata/name_constraints_unittest/san-directoryname.pem
+-  pki/testdata/name_constraints_unittest/san-dnsname.pem
+-  pki/testdata/name_constraints_unittest/san-edipartyname.pem
+-  pki/testdata/name_constraints_unittest/san-excluded-directoryname.pem
+-  pki/testdata/name_constraints_unittest/san-excluded-dnsname.pem
+-  pki/testdata/name_constraints_unittest/san-excluded-ipaddress.pem
+-  pki/testdata/name_constraints_unittest/san-invalid-empty.pem
+-  pki/testdata/name_constraints_unittest/san-invalid-ipaddress.pem
+-  pki/testdata/name_constraints_unittest/san-ipaddress4.pem
+-  pki/testdata/name_constraints_unittest/san-ipaddress6.pem
+-  pki/testdata/name_constraints_unittest/san-othername.pem
+-  pki/testdata/name_constraints_unittest/san-permitted.pem
+-  pki/testdata/name_constraints_unittest/san-registeredid.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-domaincase.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-empty-localpart.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-empty.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-ipv4.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-localpartcase.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-multiple.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-no-at.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-quoted.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-subdomain-no-at.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-subdomain-two-ats.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-subdomain.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-subdomaincase.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name-two-ats.pem
+-  pki/testdata/name_constraints_unittest/san-rfc822name.pem
+-  pki/testdata/name_constraints_unittest/san-uri.pem
+-  pki/testdata/name_constraints_unittest/san-x400address.pem
+-  pki/testdata/name_constraints_unittest/uri-excluded.pem
+-  pki/testdata/name_constraints_unittest/uri-permitted.pem
+-  pki/testdata/name_constraints_unittest/x400address-excluded.pem
+-  pki/testdata/name_constraints_unittest/x400address-permitted.pem
+-  pki/testdata/nist-pkits/certs/AllCertificatesNoPoliciesTest2EE.crt
+-  pki/testdata/nist-pkits/certs/AllCertificatesSamePoliciesTest10EE.crt
+-  pki/testdata/nist-pkits/certs/AllCertificatesSamePoliciesTest13EE.crt
+-  pki/testdata/nist-pkits/certs/AllCertificatesanyPolicyTest11EE.crt
+-  pki/testdata/nist-pkits/certs/AnyPolicyTest14EE.crt
+-  pki/testdata/nist-pkits/certs/BadCRLIssuerNameCACert.crt
+-  pki/testdata/nist-pkits/certs/BadCRLSignatureCACert.crt
+-  pki/testdata/nist-pkits/certs/BadSignedCACert.crt
+-  pki/testdata/nist-pkits/certs/BadnotAfterDateCACert.crt
+-  pki/testdata/nist-pkits/certs/BadnotBeforeDateCACert.crt
+-  pki/testdata/nist-pkits/certs/BasicSelfIssuedCRLSigningKeyCACert.crt
+-  pki/testdata/nist-pkits/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt
+-  pki/testdata/nist-pkits/certs/BasicSelfIssuedNewKeyCACert.crt
+-  pki/testdata/nist-pkits/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt
+-  pki/testdata/nist-pkits/certs/BasicSelfIssuedOldKeyCACert.crt
+-  pki/testdata/nist-pkits/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt
+-  pki/testdata/nist-pkits/certs/CPSPointerQualifierTest20EE.crt
+-  pki/testdata/nist-pkits/certs/DSACACert.crt
+-  pki/testdata/nist-pkits/certs/DSAParametersInheritedCACert.crt
+-  pki/testdata/nist-pkits/certs/DifferentPoliciesTest12EE.crt
+-  pki/testdata/nist-pkits/certs/DifferentPoliciesTest3EE.crt
+-  pki/testdata/nist-pkits/certs/DifferentPoliciesTest4EE.crt
+-  pki/testdata/nist-pkits/certs/DifferentPoliciesTest5EE.crt
+-  pki/testdata/nist-pkits/certs/DifferentPoliciesTest7EE.crt
+-  pki/testdata/nist-pkits/certs/DifferentPoliciesTest8EE.crt
+-  pki/testdata/nist-pkits/certs/DifferentPoliciesTest9EE.crt
+-  pki/testdata/nist-pkits/certs/GeneralizedTimeCRLnextUpdateCACert.crt
+-  pki/testdata/nist-pkits/certs/GoodCACert.crt
+-  pki/testdata/nist-pkits/certs/GoodsubCACert.crt
+-  pki/testdata/nist-pkits/certs/GoodsubCAPanyPolicyMapping1to2CACert.crt
+-  pki/testdata/nist-pkits/certs/InvalidBadCRLIssuerNameTest5EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidBadCRLSignatureTest4EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidCASignatureTest2EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidCAnotAfterDateTest5EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidCAnotBeforeDateTest1EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNSnameConstraintsTest31EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNSnameConstraintsTest33EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNSnameConstraintsTest38EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNandRFC822nameConstraintsTest28EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNandRFC822nameConstraintsTest29EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest10EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest12EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest13EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest15EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest16EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest17EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest20EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest2EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest3EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest7EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest8EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest9EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidDSASignatureTest6EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidEESignatureTest3EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidEEnotAfterDateTest6EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidEEnotBeforeDateTest2EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidIDPwithindirectCRLTest23EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidIDPwithindirectCRLTest26EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidLongSerialNumberTest18EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidMappingFromanyPolicyTest7EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidMappingToanyPolicyTest8EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidMissingCRLTest1EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidMissingbasicConstraintsTest1EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidNameChainingOrderTest2EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidNameChainingTest1EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidNegativeSerialNumberTest15EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidOldCRLnextUpdateTest11EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidPolicyMappingTest10EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidPolicyMappingTest2EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidPolicyMappingTest4EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidRFC822nameConstraintsTest22EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidRFC822nameConstraintsTest24EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidRFC822nameConstraintsTest26EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidRevokedCATest2EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidRevokedEETest3EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidSeparateCertificateandCRLKeysTest20EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidSeparateCertificateandCRLKeysTest21EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidURInameConstraintsTest35EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidURInameConstraintsTest37EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidUnknownCRLExtensionTest10EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidUnknownCRLExtensionTest9EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidUnknownCriticalCertificateExtensionTest2EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidWrongCRLTest6EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidcAFalseTest2EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidcAFalseTest3EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidcRLIssuerTest27EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidcRLIssuerTest31EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidcRLIssuerTest32EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidcRLIssuerTest34EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidcRLIssuerTest35EE.crt
+-  pki/testdata/nist-pkits/certs/InvaliddeltaCRLIndicatorNoBaseTest1EE.crt
+-  pki/testdata/nist-pkits/certs/InvaliddeltaCRLTest10EE.crt
+-  pki/testdata/nist-pkits/certs/InvaliddeltaCRLTest3EE.crt
+-  pki/testdata/nist-pkits/certs/InvaliddeltaCRLTest4EE.crt
+-  pki/testdata/nist-pkits/certs/InvaliddeltaCRLTest6EE.crt
+-  pki/testdata/nist-pkits/certs/InvaliddeltaCRLTest9EE.crt
+-  pki/testdata/nist-pkits/certs/InvaliddistributionPointTest2EE.crt
+-  pki/testdata/nist-pkits/certs/InvaliddistributionPointTest3EE.crt
+-  pki/testdata/nist-pkits/certs/InvaliddistributionPointTest6EE.crt
+-  pki/testdata/nist-pkits/certs/InvaliddistributionPointTest8EE.crt
+-  pki/testdata/nist-pkits/certs/InvaliddistributionPointTest9EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidinhibitAnyPolicyTest1EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidinhibitAnyPolicyTest4EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidinhibitAnyPolicyTest5EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidinhibitAnyPolicyTest6EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidinhibitPolicyMappingTest1EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidinhibitPolicyMappingTest3EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidinhibitPolicyMappingTest5EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidinhibitPolicyMappingTest6EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidonlyContainsAttributeCertsTest14EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidonlyContainsCACertsTest12EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidonlyContainsUserCertsTest11EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidonlySomeReasonsTest15EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidonlySomeReasonsTest16EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidonlySomeReasonsTest17EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidonlySomeReasonsTest20EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidonlySomeReasonsTest21EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidpathLenConstraintTest10EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidpathLenConstraintTest11EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidpathLenConstraintTest12EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidpathLenConstraintTest5EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidpathLenConstraintTest6EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidpathLenConstraintTest9EE.crt
+-  pki/testdata/nist-pkits/certs/Invalidpre2000CRLnextUpdateTest12EE.crt
+-  pki/testdata/nist-pkits/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidrequireExplicitPolicyTest3EE.crt
+-  pki/testdata/nist-pkits/certs/InvalidrequireExplicitPolicyTest5EE.crt
+-  pki/testdata/nist-pkits/certs/LongSerialNumberCACert.crt
+-  pki/testdata/nist-pkits/certs/Mapping1to2CACert.crt
+-  pki/testdata/nist-pkits/certs/MappingFromanyPolicyCACert.crt
+-  pki/testdata/nist-pkits/certs/MappingToanyPolicyCACert.crt
+-  pki/testdata/nist-pkits/certs/MissingbasicConstraintsCACert.crt
+-  pki/testdata/nist-pkits/certs/NameOrderingCACert.crt
+-  pki/testdata/nist-pkits/certs/NegativeSerialNumberCACert.crt
+-  pki/testdata/nist-pkits/certs/NoCRLCACert.crt
+-  pki/testdata/nist-pkits/certs/NoPoliciesCACert.crt
+-  pki/testdata/nist-pkits/certs/NoissuingDistributionPointCACert.crt
+-  pki/testdata/nist-pkits/certs/OldCRLnextUpdateCACert.crt
+-  pki/testdata/nist-pkits/certs/OverlappingPoliciesTest6EE.crt
+-  pki/testdata/nist-pkits/certs/P12Mapping1to3CACert.crt
+-  pki/testdata/nist-pkits/certs/P12Mapping1to3subCACert.crt
+-  pki/testdata/nist-pkits/certs/P12Mapping1to3subsubCACert.crt
+-  pki/testdata/nist-pkits/certs/P1Mapping1to234CACert.crt
+-  pki/testdata/nist-pkits/certs/P1Mapping1to234subCACert.crt
+-  pki/testdata/nist-pkits/certs/P1anyPolicyMapping1to2CACert.crt
+-  pki/testdata/nist-pkits/certs/PanyPolicyMapping1to2CACert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP1234CACert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP1234subCAP123Cert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP1234subsubCAP123P12Cert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP123CACert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP123subCAP12Cert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP123subsubCAP12P1Cert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP123subsubCAP12P2Cert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP12CACert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP12subCAP1Cert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP12subsubCAP1P2Cert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP2subCA2Cert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP2subCACert.crt
+-  pki/testdata/nist-pkits/certs/PoliciesP3CACert.crt
+-  pki/testdata/nist-pkits/certs/RFC3280MandatoryAttributeTypesCACert.crt
+-  pki/testdata/nist-pkits/certs/RFC3280OptionalAttributeTypesCACert.crt
+-  pki/testdata/nist-pkits/certs/RevokedsubCACert.crt
+-  pki/testdata/nist-pkits/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt
+-  pki/testdata/nist-pkits/certs/SeparateCertificateandCRLKeysCA2CRLSigningCert.crt
+-  pki/testdata/nist-pkits/certs/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt
+-  pki/testdata/nist-pkits/certs/SeparateCertificateandCRLKeysCRLSigningCert.crt
+-  pki/testdata/nist-pkits/certs/SeparateCertificateandCRLKeysCertificateSigningCACert.crt
+-  pki/testdata/nist-pkits/certs/TrustAnchorRootCertificate.crt
+-  pki/testdata/nist-pkits/certs/TwoCRLsCACert.crt
+-  pki/testdata/nist-pkits/certs/UIDCACert.crt
+-  pki/testdata/nist-pkits/certs/UTF8StringCaseInsensitiveMatchCACert.crt
+-  pki/testdata/nist-pkits/certs/UTF8StringEncodedNamesCACert.crt
+-  pki/testdata/nist-pkits/certs/UnknownCRLEntryExtensionCACert.crt
+-  pki/testdata/nist-pkits/certs/UnknownCRLExtensionCACert.crt
+-  pki/testdata/nist-pkits/certs/UserNoticeQualifierTest15EE.crt
+-  pki/testdata/nist-pkits/certs/UserNoticeQualifierTest16EE.crt
+-  pki/testdata/nist-pkits/certs/UserNoticeQualifierTest17EE.crt
+-  pki/testdata/nist-pkits/certs/UserNoticeQualifierTest18EE.crt
+-  pki/testdata/nist-pkits/certs/UserNoticeQualifierTest19EE.crt
+-  pki/testdata/nist-pkits/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt
+-  pki/testdata/nist-pkits/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt
+-  pki/testdata/nist-pkits/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt
+-  pki/testdata/nist-pkits/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt
+-  pki/testdata/nist-pkits/certs/ValidCertificatePathTest1EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDNSnameConstraintsTest30EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDNSnameConstraintsTest32EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDNandRFC822nameConstraintsTest27EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest11EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest14EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest18EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest19EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest1EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest4EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest5EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest6EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDSAParameterInheritanceTest5EE.crt
+-  pki/testdata/nist-pkits/certs/ValidDSASignaturesTest4EE.crt
+-  pki/testdata/nist-pkits/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt
+-  pki/testdata/nist-pkits/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt
+-  pki/testdata/nist-pkits/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt
+-  pki/testdata/nist-pkits/certs/ValidIDPwithindirectCRLTest22EE.crt
+-  pki/testdata/nist-pkits/certs/ValidIDPwithindirectCRLTest24EE.crt
+-  pki/testdata/nist-pkits/certs/ValidIDPwithindirectCRLTest25EE.crt
+-  pki/testdata/nist-pkits/certs/ValidLongSerialNumberTest16EE.crt
+-  pki/testdata/nist-pkits/certs/ValidLongSerialNumberTest17EE.crt
+-  pki/testdata/nist-pkits/certs/ValidNameChainingCapitalizationTest5EE.crt
+-  pki/testdata/nist-pkits/certs/ValidNameChainingWhitespaceTest3EE.crt
+-  pki/testdata/nist-pkits/certs/ValidNameChainingWhitespaceTest4EE.crt
+-  pki/testdata/nist-pkits/certs/ValidNameUIDsTest6EE.crt
+-  pki/testdata/nist-pkits/certs/ValidNegativeSerialNumberTest14EE.crt
+-  pki/testdata/nist-pkits/certs/ValidNoissuingDistributionPointTest10EE.crt
+-  pki/testdata/nist-pkits/certs/ValidPolicyMappingTest11EE.crt
+-  pki/testdata/nist-pkits/certs/ValidPolicyMappingTest12EE.crt
+-  pki/testdata/nist-pkits/certs/ValidPolicyMappingTest13EE.crt
+-  pki/testdata/nist-pkits/certs/ValidPolicyMappingTest14EE.crt
+-  pki/testdata/nist-pkits/certs/ValidPolicyMappingTest1EE.crt
+-  pki/testdata/nist-pkits/certs/ValidPolicyMappingTest3EE.crt
+-  pki/testdata/nist-pkits/certs/ValidPolicyMappingTest5EE.crt
+-  pki/testdata/nist-pkits/certs/ValidPolicyMappingTest6EE.crt
+-  pki/testdata/nist-pkits/certs/ValidPolicyMappingTest9EE.crt
+-  pki/testdata/nist-pkits/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt
+-  pki/testdata/nist-pkits/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt
+-  pki/testdata/nist-pkits/certs/ValidRFC822nameConstraintsTest21EE.crt
+-  pki/testdata/nist-pkits/certs/ValidRFC822nameConstraintsTest23EE.crt
+-  pki/testdata/nist-pkits/certs/ValidRFC822nameConstraintsTest25EE.crt
+-  pki/testdata/nist-pkits/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt
+-  pki/testdata/nist-pkits/certs/ValidSelfIssuedinhibitAnyPolicyTest7EE.crt
+-  pki/testdata/nist-pkits/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crt
+-  pki/testdata/nist-pkits/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crt
+-  pki/testdata/nist-pkits/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt
+-  pki/testdata/nist-pkits/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt
+-  pki/testdata/nist-pkits/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crt
+-  pki/testdata/nist-pkits/certs/ValidSeparateCertificateandCRLKeysTest19EE.crt
+-  pki/testdata/nist-pkits/certs/ValidTwoCRLsTest7EE.crt
+-  pki/testdata/nist-pkits/certs/ValidURInameConstraintsTest34EE.crt
+-  pki/testdata/nist-pkits/certs/ValidURInameConstraintsTest36EE.crt
+-  pki/testdata/nist-pkits/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt
+-  pki/testdata/nist-pkits/certs/ValidUTF8StringEncodedNamesTest9EE.crt
+-  pki/testdata/nist-pkits/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crt
+-  pki/testdata/nist-pkits/certs/ValidbasicConstraintsNotCriticalTest4EE.crt
+-  pki/testdata/nist-pkits/certs/ValidcRLIssuerTest28EE.crt
+-  pki/testdata/nist-pkits/certs/ValidcRLIssuerTest29EE.crt
+-  pki/testdata/nist-pkits/certs/ValidcRLIssuerTest30EE.crt
+-  pki/testdata/nist-pkits/certs/ValidcRLIssuerTest33EE.crt
+-  pki/testdata/nist-pkits/certs/ValiddeltaCRLTest2EE.crt
+-  pki/testdata/nist-pkits/certs/ValiddeltaCRLTest5EE.crt
+-  pki/testdata/nist-pkits/certs/ValiddeltaCRLTest7EE.crt
+-  pki/testdata/nist-pkits/certs/ValiddeltaCRLTest8EE.crt
+-  pki/testdata/nist-pkits/certs/ValiddistributionPointTest1EE.crt
+-  pki/testdata/nist-pkits/certs/ValiddistributionPointTest4EE.crt
+-  pki/testdata/nist-pkits/certs/ValiddistributionPointTest5EE.crt
+-  pki/testdata/nist-pkits/certs/ValiddistributionPointTest7EE.crt
+-  pki/testdata/nist-pkits/certs/ValidinhibitAnyPolicyTest2EE.crt
+-  pki/testdata/nist-pkits/certs/ValidinhibitPolicyMappingTest2EE.crt
+-  pki/testdata/nist-pkits/certs/ValidinhibitPolicyMappingTest4EE.crt
+-  pki/testdata/nist-pkits/certs/ValidkeyUsageNotCriticalTest3EE.crt
+-  pki/testdata/nist-pkits/certs/ValidonlyContainsCACertsTest13EE.crt
+-  pki/testdata/nist-pkits/certs/ValidonlySomeReasonsTest18EE.crt
+-  pki/testdata/nist-pkits/certs/ValidonlySomeReasonsTest19EE.crt
+-  pki/testdata/nist-pkits/certs/ValidpathLenConstraintTest13EE.crt
+-  pki/testdata/nist-pkits/certs/ValidpathLenConstraintTest14EE.crt
+-  pki/testdata/nist-pkits/certs/ValidpathLenConstraintTest7EE.crt
+-  pki/testdata/nist-pkits/certs/ValidpathLenConstraintTest8EE.crt
+-  pki/testdata/nist-pkits/certs/Validpre2000UTCnotBeforeDateTest3EE.crt
+-  pki/testdata/nist-pkits/certs/ValidrequireExplicitPolicyTest1EE.crt
+-  pki/testdata/nist-pkits/certs/ValidrequireExplicitPolicyTest2EE.crt
+-  pki/testdata/nist-pkits/certs/ValidrequireExplicitPolicyTest4EE.crt
+-  pki/testdata/nist-pkits/certs/WrongCRLCACert.crt
+-  pki/testdata/nist-pkits/certs/anyPolicyCACert.crt
+-  pki/testdata/nist-pkits/certs/basicConstraintsCriticalcAFalseCACert.crt
+-  pki/testdata/nist-pkits/certs/basicConstraintsNotCriticalCACert.crt
+-  pki/testdata/nist-pkits/certs/basicConstraintsNotCriticalcAFalseCACert.crt
+-  pki/testdata/nist-pkits/certs/deltaCRLCA1Cert.crt
+-  pki/testdata/nist-pkits/certs/deltaCRLCA2Cert.crt
+-  pki/testdata/nist-pkits/certs/deltaCRLCA3Cert.crt
+-  pki/testdata/nist-pkits/certs/deltaCRLIndicatorNoBaseCACert.crt
+-  pki/testdata/nist-pkits/certs/distributionPoint1CACert.crt
+-  pki/testdata/nist-pkits/certs/distributionPoint2CACert.crt
+-  pki/testdata/nist-pkits/certs/indirectCRLCA1Cert.crt
+-  pki/testdata/nist-pkits/certs/indirectCRLCA2Cert.crt
+-  pki/testdata/nist-pkits/certs/indirectCRLCA3Cert.crt
+-  pki/testdata/nist-pkits/certs/indirectCRLCA3cRLIssuerCert.crt
+-  pki/testdata/nist-pkits/certs/indirectCRLCA4Cert.crt
+-  pki/testdata/nist-pkits/certs/indirectCRLCA4cRLIssuerCert.crt
+-  pki/testdata/nist-pkits/certs/indirectCRLCA5Cert.crt
+-  pki/testdata/nist-pkits/certs/indirectCRLCA6Cert.crt
+-  pki/testdata/nist-pkits/certs/inhibitAnyPolicy0CACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitAnyPolicy1CACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitAnyPolicy1SelfIssuedCACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt
+-  pki/testdata/nist-pkits/certs/inhibitAnyPolicy1subCA1Cert.crt
+-  pki/testdata/nist-pkits/certs/inhibitAnyPolicy1subCA2Cert.crt
+-  pki/testdata/nist-pkits/certs/inhibitAnyPolicy1subCAIAP5Cert.crt
+-  pki/testdata/nist-pkits/certs/inhibitAnyPolicy1subsubCA2Cert.crt
+-  pki/testdata/nist-pkits/certs/inhibitAnyPolicy5CACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitAnyPolicy5subCACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitAnyPolicy5subsubCACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitAnyPolicyTest3EE.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping0CACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping0subCACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P12CACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P12subCACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P12subsubCACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P12subsubCAIPM5Cert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P1CACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P1SelfIssuedCACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P1subCACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P1subsubCACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping5CACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping5subCACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping5subsubCACert.crt
+-  pki/testdata/nist-pkits/certs/inhibitPolicyMapping5subsubsubCACert.crt
+-  pki/testdata/nist-pkits/certs/keyUsageCriticalcRLSignFalseCACert.crt
+-  pki/testdata/nist-pkits/certs/keyUsageCriticalkeyCertSignFalseCACert.crt
+-  pki/testdata/nist-pkits/certs/keyUsageNotCriticalCACert.crt
+-  pki/testdata/nist-pkits/certs/keyUsageNotCriticalcRLSignFalseCACert.crt
+-  pki/testdata/nist-pkits/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDN1CACert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDN1SelfIssuedCACert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDN1subCA1Cert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDN1subCA2Cert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDN1subCA3Cert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDN2CACert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDN3CACert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDN3subCA1Cert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDN3subCA2Cert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDN4CACert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDN5CACert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDNS1CACert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsDNS2CACert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsRFC822CA1Cert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsRFC822CA2Cert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsRFC822CA3Cert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsURI1CACert.crt
+-  pki/testdata/nist-pkits/certs/nameConstraintsURI2CACert.crt
+-  pki/testdata/nist-pkits/certs/onlyContainsAttributeCertsCACert.crt
+-  pki/testdata/nist-pkits/certs/onlyContainsCACertsCACert.crt
+-  pki/testdata/nist-pkits/certs/onlyContainsUserCertsCACert.crt
+-  pki/testdata/nist-pkits/certs/onlySomeReasonsCA1Cert.crt
+-  pki/testdata/nist-pkits/certs/onlySomeReasonsCA2Cert.crt
+-  pki/testdata/nist-pkits/certs/onlySomeReasonsCA3Cert.crt
+-  pki/testdata/nist-pkits/certs/onlySomeReasonsCA4Cert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint0CACert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint0SelfIssuedCACert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint0subCA2Cert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint0subCACert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint1CACert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint1SelfIssuedCACert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint1SelfIssuedsubCACert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint1subCACert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint6CACert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint6subCA0Cert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint6subCA1Cert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint6subCA4Cert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint6subsubCA00Cert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint6subsubCA11Cert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint6subsubCA41Cert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint6subsubsubCA11XCert.crt
+-  pki/testdata/nist-pkits/certs/pathLenConstraint6subsubsubCA41XCert.crt
+-  pki/testdata/nist-pkits/certs/pre2000CRLnextUpdateCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy0CACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy0subCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy0subsubCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy0subsubsubCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy10CACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy10subCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy10subsubCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy10subsubsubCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy2CACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy2SelfIssuedCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy2SelfIssuedsubCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy2subCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy4CACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy4subCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy4subsubCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy4subsubsubCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy5CACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy5subCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy5subsubCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy5subsubsubCACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy7CACert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy7subCARE2Cert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crt
+-  pki/testdata/nist-pkits/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crt
+-  pki/testdata/nist-pkits/crls/BadCRLIssuerNameCACRL.crl
+-  pki/testdata/nist-pkits/crls/BadCRLSignatureCACRL.crl
+-  pki/testdata/nist-pkits/crls/BadSignedCACRL.crl
+-  pki/testdata/nist-pkits/crls/BadnotAfterDateCACRL.crl
+-  pki/testdata/nist-pkits/crls/BadnotBeforeDateCACRL.crl
+-  pki/testdata/nist-pkits/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl
+-  pki/testdata/nist-pkits/crls/BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl
+-  pki/testdata/nist-pkits/crls/BasicSelfIssuedNewKeyCACRL.crl
+-  pki/testdata/nist-pkits/crls/BasicSelfIssuedOldKeyCACRL.crl
+-  pki/testdata/nist-pkits/crls/BasicSelfIssuedOldKeySelfIssuedCertCRL.crl
+-  pki/testdata/nist-pkits/crls/DSACACRL.crl
+-  pki/testdata/nist-pkits/crls/DSAParametersInheritedCACRL.crl
+-  pki/testdata/nist-pkits/crls/GeneralizedTimeCRLnextUpdateCACRL.crl
+-  pki/testdata/nist-pkits/crls/GoodCACRL.crl
+-  pki/testdata/nist-pkits/crls/GoodsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl
+-  pki/testdata/nist-pkits/crls/LongSerialNumberCACRL.crl
+-  pki/testdata/nist-pkits/crls/Mapping1to2CACRL.crl
+-  pki/testdata/nist-pkits/crls/MappingFromanyPolicyCACRL.crl
+-  pki/testdata/nist-pkits/crls/MappingToanyPolicyCACRL.crl
+-  pki/testdata/nist-pkits/crls/MissingbasicConstraintsCACRL.crl
+-  pki/testdata/nist-pkits/crls/NameOrderCACRL.crl
+-  pki/testdata/nist-pkits/crls/NegativeSerialNumberCACRL.crl
+-  pki/testdata/nist-pkits/crls/NoPoliciesCACRL.crl
+-  pki/testdata/nist-pkits/crls/NoissuingDistributionPointCACRL.crl
+-  pki/testdata/nist-pkits/crls/OldCRLnextUpdateCACRL.crl
+-  pki/testdata/nist-pkits/crls/P12Mapping1to3CACRL.crl
+-  pki/testdata/nist-pkits/crls/P12Mapping1to3subCACRL.crl
+-  pki/testdata/nist-pkits/crls/P12Mapping1to3subsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/P1Mapping1to234CACRL.crl
+-  pki/testdata/nist-pkits/crls/P1Mapping1to234subCACRL.crl
+-  pki/testdata/nist-pkits/crls/P1anyPolicyMapping1to2CACRL.crl
+-  pki/testdata/nist-pkits/crls/PanyPolicyMapping1to2CACRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP1234CACRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP1234subCAP123CRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP1234subsubCAP123P12CRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP123CACRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP123subCAP12CRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP123subsubCAP12P1CRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP123subsubCAP2P2CRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP12CACRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP12subCAP1CRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP12subsubCAP1P2CRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP2subCA2CRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP2subCACRL.crl
+-  pki/testdata/nist-pkits/crls/PoliciesP3CACRL.crl
+-  pki/testdata/nist-pkits/crls/RFC3280MandatoryAttributeTypesCACRL.crl
+-  pki/testdata/nist-pkits/crls/RFC3280OptionalAttributeTypesCACRL.crl
+-  pki/testdata/nist-pkits/crls/RevokedsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl
+-  pki/testdata/nist-pkits/crls/SeparateCertificateandCRLKeysCA2CRL.crl
+-  pki/testdata/nist-pkits/crls/SeparateCertificateandCRLKeysCRL.crl
+-  pki/testdata/nist-pkits/crls/TrustAnchorRootCRL.crl
+-  pki/testdata/nist-pkits/crls/TwoCRLsCABadCRL.crl
+-  pki/testdata/nist-pkits/crls/TwoCRLsCAGoodCRL.crl
+-  pki/testdata/nist-pkits/crls/UIDCACRL.crl
+-  pki/testdata/nist-pkits/crls/UTF8StringCaseInsensitiveMatchCACRL.crl
+-  pki/testdata/nist-pkits/crls/UTF8StringEncodedNamesCACRL.crl
+-  pki/testdata/nist-pkits/crls/UnknownCRLEntryExtensionCACRL.crl
+-  pki/testdata/nist-pkits/crls/UnknownCRLExtensionCACRL.crl
+-  pki/testdata/nist-pkits/crls/WrongCRLCACRL.crl
+-  pki/testdata/nist-pkits/crls/anyPolicyCACRL.crl
+-  pki/testdata/nist-pkits/crls/basicConstraintsCriticalcAFalseCACRL.crl
+-  pki/testdata/nist-pkits/crls/basicConstraintsNotCriticalCACRL.crl
+-  pki/testdata/nist-pkits/crls/basicConstraintsNotCriticalcAFalseCACRL.crl
+-  pki/testdata/nist-pkits/crls/deltaCRLCA1CRL.crl
+-  pki/testdata/nist-pkits/crls/deltaCRLCA1deltaCRL.crl
+-  pki/testdata/nist-pkits/crls/deltaCRLCA2CRL.crl
+-  pki/testdata/nist-pkits/crls/deltaCRLCA2deltaCRL.crl
+-  pki/testdata/nist-pkits/crls/deltaCRLCA3CRL.crl
+-  pki/testdata/nist-pkits/crls/deltaCRLCA3deltaCRL.crl
+-  pki/testdata/nist-pkits/crls/deltaCRLIndicatorNoBaseCACRL.crl
+-  pki/testdata/nist-pkits/crls/distributionPoint1CACRL.crl
+-  pki/testdata/nist-pkits/crls/distributionPoint2CACRL.crl
+-  pki/testdata/nist-pkits/crls/indirectCRLCA1CRL.crl
+-  pki/testdata/nist-pkits/crls/indirectCRLCA3CRL.crl
+-  pki/testdata/nist-pkits/crls/indirectCRLCA3cRLIssuerCRL.crl
+-  pki/testdata/nist-pkits/crls/indirectCRLCA4cRLIssuerCRL.crl
+-  pki/testdata/nist-pkits/crls/indirectCRLCA5CRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitAnyPolicy0CACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitAnyPolicy1CACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitAnyPolicy1subCA1CRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitAnyPolicy1subCA2CRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitAnyPolicy1subCAIAP5CRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitAnyPolicy1subsubCA2CRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitAnyPolicy5CACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitAnyPolicy5subCACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitAnyPolicy5subsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping0CACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping0subCACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P12CACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P12subCACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P12subsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P1CACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P1subCACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P1subsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping5CACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping5subCACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping5subsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/inhibitPolicyMapping5subsubsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/keyUsageCriticalcRLSignFalseCACRL.crl
+-  pki/testdata/nist-pkits/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl
+-  pki/testdata/nist-pkits/crls/keyUsageNotCriticalCACRL.crl
+-  pki/testdata/nist-pkits/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl
+-  pki/testdata/nist-pkits/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsDN1CACRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsDN1subCA1CRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsDN1subCA2CRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsDN1subCA3CRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsDN2CACRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsDN3CACRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsDN3subCA1CRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsDN3subCA2CRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsDN4CACRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsDN5CACRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsDNS1CACRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsDNS2CACRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsRFC822CA1CRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsRFC822CA2CRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsRFC822CA3CRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsURI1CACRL.crl
+-  pki/testdata/nist-pkits/crls/nameConstraintsURI2CACRL.crl
+-  pki/testdata/nist-pkits/crls/onlyContainsAttributeCertsCACRL.crl
+-  pki/testdata/nist-pkits/crls/onlyContainsCACertsCACRL.crl
+-  pki/testdata/nist-pkits/crls/onlyContainsUserCertsCACRL.crl
+-  pki/testdata/nist-pkits/crls/onlySomeReasonsCA1compromiseCRL.crl
+-  pki/testdata/nist-pkits/crls/onlySomeReasonsCA1otherreasonsCRL.crl
+-  pki/testdata/nist-pkits/crls/onlySomeReasonsCA2CRL1.crl
+-  pki/testdata/nist-pkits/crls/onlySomeReasonsCA2CRL2.crl
+-  pki/testdata/nist-pkits/crls/onlySomeReasonsCA3compromiseCRL.crl
+-  pki/testdata/nist-pkits/crls/onlySomeReasonsCA3otherreasonsCRL.crl
+-  pki/testdata/nist-pkits/crls/onlySomeReasonsCA4compromiseCRL.crl
+-  pki/testdata/nist-pkits/crls/onlySomeReasonsCA4otherreasonsCRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint0CACRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint0subCA2CRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint0subCACRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint1CACRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint1subCACRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint6CACRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint6subCA0CRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint6subCA1CRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint6subCA4CRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint6subsubCA00CRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint6subsubCA11CRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint6subsubCA41CRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint6subsubsubCA11XCRL.crl
+-  pki/testdata/nist-pkits/crls/pathLenConstraint6subsubsubCA41XCRL.crl
+-  pki/testdata/nist-pkits/crls/pre2000CRLnextUpdateCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy0CACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy0subCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy0subsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy0subsubsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy10CACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy10subCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy10subsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy10subsubsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy2CACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy2subCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy4CACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy4subCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy4subsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy4subsubsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy5CACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy5subCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy5subsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy5subsubsubCACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy7CACRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy7subCARE2CRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl
+-  pki/testdata/nist-pkits/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl
+-  pki/testdata/ocsp_unittest/bad_ocsp_type.pem
+-  pki/testdata/ocsp_unittest/bad_signature.pem
+-  pki/testdata/ocsp_unittest/bad_status.pem
+-  pki/testdata/ocsp_unittest/good_response.pem
+-  pki/testdata/ocsp_unittest/good_response_next_update.pem
+-  pki/testdata/ocsp_unittest/good_response_sha256.pem
+-  pki/testdata/ocsp_unittest/has_critical_ct_extension.pem
+-  pki/testdata/ocsp_unittest/has_critical_response_extension.pem
+-  pki/testdata/ocsp_unittest/has_critical_single_extension.pem
+-  pki/testdata/ocsp_unittest/has_extension.pem
+-  pki/testdata/ocsp_unittest/has_single_extension.pem
+-  pki/testdata/ocsp_unittest/has_version.pem
+-  pki/testdata/ocsp_unittest/malformed_request.pem
+-  pki/testdata/ocsp_unittest/missing_response.pem
+-  pki/testdata/ocsp_unittest/multiple_response.pem
+-  pki/testdata/ocsp_unittest/no_response.pem
+-  pki/testdata/ocsp_unittest/ocsp_extra_certs.pem
+-  pki/testdata/ocsp_unittest/ocsp_sign_bad_indirect.pem
+-  pki/testdata/ocsp_unittest/ocsp_sign_direct.pem
+-  pki/testdata/ocsp_unittest/ocsp_sign_indirect.pem
+-  pki/testdata/ocsp_unittest/ocsp_sign_indirect_missing.pem
+-  pki/testdata/ocsp_unittest/other_response.pem
+-  pki/testdata/ocsp_unittest/responder_id.pem
+-  pki/testdata/ocsp_unittest/responder_name.pem
+-  pki/testdata/ocsp_unittest/revoke_response.pem
+-  pki/testdata/ocsp_unittest/revoke_response_reason.pem
+-  pki/testdata/ocsp_unittest/unknown_response.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/empty_sequence.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/extra_contents_after_extension_sequence.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/extra_contents_after_issuer_and_serial.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/invalid_contents.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/invalid_issuer.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/invalid_key_identifier.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/invalid_serial.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/issuer_and_serial.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/issuer_only.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/key_identifier.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/key_identifier_and_issuer_and_serial.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/serial_only.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier/url_issuer_and_serial.pem
+-  pki/testdata/parse_certificate_unittest/authority_key_identifier_not_sequence.pem
+-  pki/testdata/parse_certificate_unittest/bad_key_usage.pem
+-  pki/testdata/parse_certificate_unittest/bad_policy_qualifiers.pem
+-  pki/testdata/parse_certificate_unittest/bad_signature_algorithm_oid.pem
+-  pki/testdata/parse_certificate_unittest/bad_validity.pem
+-  pki/testdata/parse_certificate_unittest/basic_constraints_ca_false.pem
+-  pki/testdata/parse_certificate_unittest/basic_constraints_ca_no_path.pem
+-  pki/testdata/parse_certificate_unittest/basic_constraints_ca_path_9.pem
+-  pki/testdata/parse_certificate_unittest/basic_constraints_negative_path.pem
+-  pki/testdata/parse_certificate_unittest/basic_constraints_not_ca.pem
+-  pki/testdata/parse_certificate_unittest/basic_constraints_path_too_large.pem
+-  pki/testdata/parse_certificate_unittest/basic_constraints_pathlen_255.pem
+-  pki/testdata/parse_certificate_unittest/basic_constraints_pathlen_256.pem
+-  pki/testdata/parse_certificate_unittest/basic_constraints_pathlen_not_ca.pem
+-  pki/testdata/parse_certificate_unittest/basic_constraints_unconsumed_data.pem
+-  pki/testdata/parse_certificate_unittest/cert_algorithm_not_sequence.pem
+-  pki/testdata/parse_certificate_unittest/cert_data_after_signature.pem
+-  pki/testdata/parse_certificate_unittest/cert_empty_sequence.pem
+-  pki/testdata/parse_certificate_unittest/cert_missing_signature.pem
+-  pki/testdata/parse_certificate_unittest/cert_not_sequence.pem
+-  pki/testdata/parse_certificate_unittest/cert_signature_not_bit_string.pem
+-  pki/testdata/parse_certificate_unittest/cert_skeleton.pem
+-  pki/testdata/parse_certificate_unittest/cert_version3.pem
+-  pki/testdata/parse_certificate_unittest/crldp_1uri_noissuer.pem
+-  pki/testdata/parse_certificate_unittest/crldp_3uri_noissuer.pem
+-  pki/testdata/parse_certificate_unittest/crldp_full_name_as_dirname.pem
+-  pki/testdata/parse_certificate_unittest/crldp_issuer_as_dirname.pem
+-  pki/testdata/parse_certificate_unittest/extended_key_usage.pem
+-  pki/testdata/parse_certificate_unittest/extension_critical.pem
+-  pki/testdata/parse_certificate_unittest/extension_critical_0.pem
+-  pki/testdata/parse_certificate_unittest/extension_critical_3.pem
+-  pki/testdata/parse_certificate_unittest/extension_not_critical.pem
+-  pki/testdata/parse_certificate_unittest/extensions_data_after_sequence.pem
+-  pki/testdata/parse_certificate_unittest/extensions_duplicate_key_usage.pem
+-  pki/testdata/parse_certificate_unittest/extensions_empty_sequence.pem
+-  pki/testdata/parse_certificate_unittest/extensions_not_sequence.pem
+-  pki/testdata/parse_certificate_unittest/extensions_real.pem
+-  pki/testdata/parse_certificate_unittest/failed_signature_algorithm.pem
+-  pki/testdata/parse_certificate_unittest/inhibit_any_policy.pem
+-  pki/testdata/parse_certificate_unittest/issuer_bad_printable_string.pem
+-  pki/testdata/parse_certificate_unittest/key_usage.pem
+-  pki/testdata/parse_certificate_unittest/name_constraints_bad_ip.pem
+-  pki/testdata/parse_certificate_unittest/policies.pem
+-  pki/testdata/parse_certificate_unittest/policy_constraints_empty.pem
+-  pki/testdata/parse_certificate_unittest/policy_constraints_inhibit.pem
+-  pki/testdata/parse_certificate_unittest/policy_constraints_inhibit_require.pem
+-  pki/testdata/parse_certificate_unittest/policy_constraints_require.pem
+-  pki/testdata/parse_certificate_unittest/policy_qualifiers_empty_sequence.pem
+-  pki/testdata/parse_certificate_unittest/serial_37_bytes.pem
+-  pki/testdata/parse_certificate_unittest/serial_negative.pem
+-  pki/testdata/parse_certificate_unittest/serial_not_minimal.pem
+-  pki/testdata/parse_certificate_unittest/serial_not_number.pem
+-  pki/testdata/parse_certificate_unittest/serial_zero.pem
+-  pki/testdata/parse_certificate_unittest/serial_zero_padded.pem
+-  pki/testdata/parse_certificate_unittest/serial_zero_padded_21_bytes.pem
+-  pki/testdata/parse_certificate_unittest/signature_algorithm_null.pem
+-  pki/testdata/parse_certificate_unittest/subject_alt_name.pem
+-  pki/testdata/parse_certificate_unittest/subject_blank_subjectaltname_not_critical.pem
+-  pki/testdata/parse_certificate_unittest/subject_key_identifier_not_octet_string.pem
+-  pki/testdata/parse_certificate_unittest/subject_not_ascii.pem
+-  pki/testdata/parse_certificate_unittest/subject_not_printable_string.pem
+-  pki/testdata/parse_certificate_unittest/subject_printable_string_containing_utf8_client_cert.pem
+-  pki/testdata/parse_certificate_unittest/subject_t61string.pem
+-  pki/testdata/parse_certificate_unittest/subject_t61string_1-32.pem
+-  pki/testdata/parse_certificate_unittest/subject_t61string_126-160.pem
+-  pki/testdata/parse_certificate_unittest/subject_t61string_actual.pem
+-  pki/testdata/parse_certificate_unittest/subjectaltname_bad_ip.pem
+-  pki/testdata/parse_certificate_unittest/subjectaltname_dns_not_ascii.pem
+-  pki/testdata/parse_certificate_unittest/subjectaltname_general_names_empty_sequence.pem
+-  pki/testdata/parse_certificate_unittest/subjectaltname_trailing_data.pem
+-  pki/testdata/parse_certificate_unittest/tbs_explicit_v1.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v1.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v1_extensions.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v2_extensions.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v2_issuer_and_subject_unique_id.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v2_issuer_unique_id.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v2_no_optionals.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v3_all_optionals.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v3_data_after_extensions.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v3_extensions.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v3_extensions_not_sequence.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v3_no_optionals.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v3_real.pem
+-  pki/testdata/parse_certificate_unittest/tbs_v4.pem
+-  pki/testdata/parse_certificate_unittest/tbs_validity_both_generalized_time.pem
+-  pki/testdata/parse_certificate_unittest/tbs_validity_both_utc_time.pem
+-  pki/testdata/parse_certificate_unittest/tbs_validity_generalized_time_and_utc_time.pem
+-  pki/testdata/parse_certificate_unittest/tbs_validity_relaxed.pem
+-  pki/testdata/parse_certificate_unittest/tbs_validity_utc_time_and_generalized_time.pem
+-  pki/testdata/parse_certificate_unittest/v1_explicit_version.pem
+-  pki/testdata/path_builder_unittest/key_id_name_and_serial_prioritization/int_match_name_only.pem
+-  pki/testdata/path_builder_unittest/key_id_name_and_serial_prioritization/int_matching.pem
+-  pki/testdata/path_builder_unittest/key_id_name_and_serial_prioritization/int_mismatch.pem
+-  pki/testdata/path_builder_unittest/key_id_name_and_serial_prioritization/root.pem
+-  pki/testdata/path_builder_unittest/key_id_name_and_serial_prioritization/root2.pem
+-  pki/testdata/path_builder_unittest/key_id_name_and_serial_prioritization/target.pem
+-  pki/testdata/path_builder_unittest/key_id_prioritization/int_different_ski_a.pem
+-  pki/testdata/path_builder_unittest/key_id_prioritization/int_different_ski_b.pem
+-  pki/testdata/path_builder_unittest/key_id_prioritization/int_different_ski_c.pem
+-  pki/testdata/path_builder_unittest/key_id_prioritization/int_matching_ski_a.pem
+-  pki/testdata/path_builder_unittest/key_id_prioritization/int_matching_ski_b.pem
+-  pki/testdata/path_builder_unittest/key_id_prioritization/int_matching_ski_c.pem
+-  pki/testdata/path_builder_unittest/key_id_prioritization/int_no_ski_a.pem
+-  pki/testdata/path_builder_unittest/key_id_prioritization/int_no_ski_b.pem
+-  pki/testdata/path_builder_unittest/key_id_prioritization/int_no_ski_c.pem
+-  pki/testdata/path_builder_unittest/key_id_prioritization/root.pem
+-  pki/testdata/path_builder_unittest/key_id_prioritization/target.pem
+-  pki/testdata/path_builder_unittest/multi-root-A-by-B.pem
+-  pki/testdata/path_builder_unittest/multi-root-B-by-C.pem
+-  pki/testdata/path_builder_unittest/multi-root-B-by-F.pem
+-  pki/testdata/path_builder_unittest/multi-root-C-by-D.pem
+-  pki/testdata/path_builder_unittest/multi-root-C-by-E.pem
+-  pki/testdata/path_builder_unittest/multi-root-D-by-D.pem
+-  pki/testdata/path_builder_unittest/multi-root-E-by-E.pem
+-  pki/testdata/path_builder_unittest/multi-root-F-by-E.pem
+-  pki/testdata/path_builder_unittest/precertificate/precertificate.pem
+-  pki/testdata/path_builder_unittest/precertificate/root.pem
+-  pki/testdata/path_builder_unittest/self_issued_prioritization/root1.pem
+-  pki/testdata/path_builder_unittest/self_issued_prioritization/root1_cross.pem
+-  pki/testdata/path_builder_unittest/self_issued_prioritization/root2.pem
+-  pki/testdata/path_builder_unittest/self_issued_prioritization/target.pem
+-  pki/testdata/path_builder_unittest/validity_date_prioritization/int_ac.pem
+-  pki/testdata/path_builder_unittest/validity_date_prioritization/int_ad.pem
+-  pki/testdata/path_builder_unittest/validity_date_prioritization/int_bc.pem
+-  pki/testdata/path_builder_unittest/validity_date_prioritization/int_bd.pem
+-  pki/testdata/path_builder_unittest/validity_date_prioritization/root.pem
+-  pki/testdata/path_builder_unittest/validity_date_prioritization/target.pem
+-  pki/testdata/verify_certificate_chain_unittest/basic-constraints-pathlen-0-self-issued/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/basic-constraints-pathlen-0-self-issued/main.test
+-  pki/testdata/verify_certificate_chain_unittest/expired-intermediate/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/expired-intermediate/not-after.test
+-  pki/testdata/verify_certificate_chain_unittest/expired-intermediate/not-before.test
+-  pki/testdata/verify_certificate_chain_unittest/expired-root/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/expired-root/not-after-ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/expired-root/not-after-ta-with-expiration-and-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/expired-root/not-after-ta-with-expiration.test
+-  pki/testdata/verify_certificate_chain_unittest/expired-root/not-after.test
+-  pki/testdata/verify_certificate_chain_unittest/expired-root/not-before-ta-with-expiration.test
+-  pki/testdata/verify_certificate_chain_unittest/expired-root/not-before.test
+-  pki/testdata/verify_certificate_chain_unittest/expired-target/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/expired-target/not-after.test
+-  pki/testdata/verify_certificate_chain_unittest/expired-target/not-before.test
+-  pki/testdata/verify_certificate_chain_unittest/incorrect-trust-anchor/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/incorrect-trust-anchor/main.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-and-target-wrong-signature/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-and-target-wrong-signature/main.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-basic-constraints-ca-false/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-basic-constraints-ca-false/main.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-basic-constraints-not-critical/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-basic-constraints-not-critical/main.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/any.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/clientauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/clientauth.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/serverauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/serverauth.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/any.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/clientauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/clientauth.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/serverauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/serverauth.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-eku-any.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-eku-clientAuth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-eku-clientAuth.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-eku-serverAuth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-eku-serverAuth.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-any.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-clientAuth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-clientAuth.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-serverAuth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-serverAuth.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-basic-constraints/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-basic-constraints/main.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-signing-key-usage/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-signing-key-usage/main.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-signed-with-sha1/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-signed-with-sha1/main.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-unknown-critical-extension/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-unknown-critical-extension/main.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-unknown-non-critical-extension/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-unknown-non-critical-extension/main.test
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-wrong-signature-no-authority-key-identifier/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/intermediate-wrong-signature-no-authority-key-identifier/main.test
+-  pki/testdata/verify_certificate_chain_unittest/issuer-and-subject-not-byte-for-byte-equal/anchor.pem
+-  pki/testdata/verify_certificate_chain_unittest/issuer-and-subject-not-byte-for-byte-equal/anchor.test
+-  pki/testdata/verify_certificate_chain_unittest/issuer-and-subject-not-byte-for-byte-equal/target.pem
+-  pki/testdata/verify_certificate_chain_unittest/issuer-and-subject-not-byte-for-byte-equal/target.test
+-  pki/testdata/verify_certificate_chain_unittest/key-rollover/longrolloverchain.pem
+-  pki/testdata/verify_certificate_chain_unittest/key-rollover/longrolloverchain.test
+-  pki/testdata/verify_certificate_chain_unittest/key-rollover/newchain.pem
+-  pki/testdata/verify_certificate_chain_unittest/key-rollover/newchain.test
+-  pki/testdata/verify_certificate_chain_unittest/key-rollover/oldchain.pem
+-  pki/testdata/verify_certificate_chain_unittest/key-rollover/oldchain.test
+-  pki/testdata/verify_certificate_chain_unittest/key-rollover/rolloverchain.pem
+-  pki/testdata/verify_certificate_chain_unittest/key-rollover/rolloverchain.test
+-  pki/testdata/verify_certificate_chain_unittest/many-names/ok-all-types.pem
+-  pki/testdata/verify_certificate_chain_unittest/many-names/ok-all-types.test
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-all-types.pem
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-all-types.test
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dirnames-excluded.pem
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dirnames-excluded.test
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dirnames-permitted.pem
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dirnames-permitted.test
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dns-excluded.pem
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dns-excluded.test
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dns-permitted.pem
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dns-permitted.test
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-ips-excluded.pem
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-ips-excluded.test
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-ips-permitted.pem
+-  pki/testdata/verify_certificate_chain_unittest/many-names/toomany-ips-permitted.test
+-  pki/testdata/verify_certificate_chain_unittest/non-self-signed-root/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/non-self-signed-root/main.test
+-  pki/testdata/verify_certificate_chain_unittest/non-self-signed-root/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.1.2.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.1.3.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.1.4.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.1.5.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.1.6.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.1.2.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.1.3.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.10.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.13.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.2.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.3.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.4.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.5.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.6.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.7.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.8.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.1.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.10.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.11.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.3.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.5.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.6.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.8.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.9.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.1.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.10.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.3.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.4.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.5.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.6.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.8.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.10.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.12.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.13.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.15.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.16.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.17.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.2.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.20.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.21.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.22.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.23.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.24.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.25.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.26.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.27.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.28.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.29.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.3.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.31.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.33.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.34.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.35.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.36.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.37.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.38.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.7.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.8.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.9.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.16.2.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.2.1.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.2.2.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.2.5.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.2.6.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.2.7.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.3.1.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.3.2.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.1.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.10.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.11.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.12.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.16.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.2.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.3.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.5.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.6.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.9.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.7.1.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.7.2.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.1.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.12.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.14.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.2.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.3.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.4.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.5.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.6.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.7.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.8.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.9.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.9.3.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.9.5.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.9.7.txt
+-  pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.9.8.txt
+-  pki/testdata/verify_certificate_chain_unittest/policies-inhibit-anypolicy-by-root-fail/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/policies-inhibit-anypolicy-by-root-fail/main.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-inhibit-anypolicy-by-root-fail/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-inhibit-anypolicy-by-root-ok/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/policies-inhibit-anypolicy-by-root-ok/main.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-inhibit-anypolicy-by-root-ok/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-inhibit-mapping-by-root-fail/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/policies-inhibit-mapping-by-root-fail/main.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-inhibit-mapping-by-root-fail/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-inhibit-mapping-by-root-ok/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/policies-inhibit-mapping-by-root-ok/main.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-inhibit-mapping-by-root-ok/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-ok/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/policies-ok/main.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-ok/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-on-root-ok/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/policies-on-root-ok/main.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-on-root-ok/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-on-root-wrong/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/policies-on-root-wrong/main.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-on-root-wrong/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-required-by-root-fail/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/policies-required-by-root-fail/main.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-required-by-root-fail/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-required-by-root-ok/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/policies-required-by-root-ok/main.test
+-  pki/testdata/verify_certificate_chain_unittest/policies-required-by-root-ok/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/policy-mappings-on-root-fail/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/policy-mappings-on-root-fail/main.test
+-  pki/testdata/verify_certificate_chain_unittest/policy-mappings-on-root-fail/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/policy-mappings-on-root-ok/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/policy-mappings-on-root-ok/main.test
+-  pki/testdata/verify_certificate_chain_unittest/policy-mappings-on-root-ok/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/root-basic-constraints-ca-false/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/root-basic-constraints-ca-false/main.test
+-  pki/testdata/verify_certificate_chain_unittest/root-basic-constraints-ca-false/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/serverauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/serverauth-ta-with-constraints-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/serverauth-ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/serverauth-ta-with-expiration-and-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/serverauth-ta-with-expiration.test
+-  pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/serverauth.test
+-  pki/testdata/verify_certificate_chain_unittest/root-lacks-basic-constraints/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/root-lacks-basic-constraints/main.test
+-  pki/testdata/verify_certificate_chain_unittest/root-lacks-basic-constraints/ta-with-constraints-require-basic-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/root-lacks-basic-constraints/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/root-lacks-basic-constraints/ta-with-require-basic-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/root-lacks-keycertsign-key-usage/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/root-lacks-keycertsign-key-usage/main.test
+-  pki/testdata/verify_certificate_chain_unittest/root-lacks-keycertsign-key-usage/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/distrusted-root-expired.test
+-  pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/distrusted-root.test
+-  pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/ta-with-constraints.test
+-  pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/ta-with-expiration.test
+-  pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/trusted_leaf-and-trust_anchor.test
+-  pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/trusted_leaf-root.test
+-  pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/unspecified-trust-root.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-any/any.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-any/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-any/clientauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-any/clientauth.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-any/serverauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-any/serverauth.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/any.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/clientauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/clientauth.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/serverauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/serverauth.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-many/any.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-many/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-many/clientauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-many/clientauth.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-many/serverauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-many/serverauth.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-none/any.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-none/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-none/clientauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-none/clientauth.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-none/serverauth-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/target-eku-none/serverauth.test
+-  pki/testdata/verify_certificate_chain_unittest/target-has-512bit-rsa-key/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-has-512bit-rsa-key/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-has-ca-basic-constraints/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-has-ca-basic-constraints/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-has-ca-basic-constraints/strict.test
+-  pki/testdata/verify_certificate_chain_unittest/target-has-ca-basic-constraints/target_only-trusted_leaf-strict.test
+-  pki/testdata/verify_certificate_chain_unittest/target-has-ca-basic-constraints/target_only-trusted_leaf.test
+-  pki/testdata/verify_certificate_chain_unittest/target-has-ca-basic-constraints/target_only.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-has-keycertsign-but-not-ca/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-has-keycertsign-but-not-ca/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-has-pathlen-but-not-ca/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-has-pathlen-but-not-ca/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-msapplicationpolicies-and-eku/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-msapplicationpolicies-and-eku/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-msapplicationpolicies-no-eku/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-msapplicationpolicies-no-eku/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/strict.test
+-  pki/testdata/verify_certificate_chain_unittest/target-only/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-only/trusted_anchor.test
+-  pki/testdata/verify_certificate_chain_unittest/target-only/trusted_leaf-and-trust_anchor.test
+-  pki/testdata/verify_certificate_chain_unittest/target-only/trusted_leaf-not_after.test
+-  pki/testdata/verify_certificate_chain_unittest/target-only/trusted_leaf-wrong_eku.test
+-  pki/testdata/verify_certificate_chain_unittest/target-only/trusted_leaf.test
+-  pki/testdata/verify_certificate_chain_unittest/target-only/trusted_leaf_require_self_signed.test
+-  pki/testdata/verify_certificate_chain_unittest/target-selfissued/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-selfissued/trusted_anchor.test
+-  pki/testdata/verify_certificate_chain_unittest/target-selfissued/trusted_leaf-and-trust_anchor.test
+-  pki/testdata/verify_certificate_chain_unittest/target-selfissued/trusted_leaf.test
+-  pki/testdata/verify_certificate_chain_unittest/target-selfissued/trusted_leaf_require_self_signed.test
+-  pki/testdata/verify_certificate_chain_unittest/target-selfsigned/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-selfsigned/trusted_leaf-and-trust_anchor.test
+-  pki/testdata/verify_certificate_chain_unittest/target-selfsigned/trusted_leaf-not_after.test
+-  pki/testdata/verify_certificate_chain_unittest/target-selfsigned/trusted_leaf-wrong_eku.test
+-  pki/testdata/verify_certificate_chain_unittest/target-selfsigned/trusted_leaf.test
+-  pki/testdata/verify_certificate_chain_unittest/target-selfsigned/trusted_leaf_require_self_signed.test
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-decipherOnly.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-decipherOnly.test
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-digitalSignature.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-digitalSignature.test
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-keyAgreement.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-keyAgreement.test
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-keyEncipherment.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-keyEncipherment.test
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-decipherOnly.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-decipherOnly.test
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-digitalSignature.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-digitalSignature.test
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-keyAgreement.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-keyAgreement.test
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-keyEncipherment.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-keyEncipherment.test
+-  pki/testdata/verify_certificate_chain_unittest/target-signed-by-512bit-rsa/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-signed-by-512bit-rsa/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-signed-using-ecdsa/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-signed-using-ecdsa/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-signed-with-sha1/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-signed-with-sha1/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-unknown-critical-extension/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-unknown-critical-extension/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-unknown-critical-extension/target_only-trusted_leaf.test
+-  pki/testdata/verify_certificate_chain_unittest/target-unknown-critical-extension/target_only.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-wrong-signature-no-authority-key-identifier/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-wrong-signature-no-authority-key-identifier/main.test
+-  pki/testdata/verify_certificate_chain_unittest/target-wrong-signature/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/target-wrong-signature/main.test
+-  pki/testdata/verify_certificate_chain_unittest/unknown-critical-policy-qualifier/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/unknown-critical-policy-qualifier/main.test
+-  pki/testdata/verify_certificate_chain_unittest/unknown-non-critical-policy-qualifier/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/unknown-non-critical-policy-qualifier/main.test
+-  pki/testdata/verify_certificate_chain_unittest/violates-basic-constraints-pathlen-0/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/violates-basic-constraints-pathlen-0/main.test
+-  pki/testdata/verify_certificate_chain_unittest/violates-pathlen-1-from-root/chain.pem
+-  pki/testdata/verify_certificate_chain_unittest/violates-pathlen-1-from-root/main.test
+-  pki/testdata/verify_certificate_chain_unittest/violates-pathlen-1-from-root/ta-with-constraints.test
+-  pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-case_swap-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-case_swap-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-case_swap-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-case_swap.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-extra_whitespace-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-extra_whitespace-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-extra_whitespace-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-extra_whitespace.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-unmangled-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-unmangled-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-unmangled-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-unmangled.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-case_swap-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-case_swap-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-case_swap-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-case_swap.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-extra_whitespace-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-extra_whitespace-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-extra_whitespace-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-extra_whitespace.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-rdn_sorting_1.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-rdn_sorting_2.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-unmangled-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-unmangled-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-unmangled-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-unmangled.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-case_swap-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-case_swap-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-case_swap-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-case_swap.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-extra_whitespace-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-extra_whitespace-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-extra_whitespace-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-extra_whitespace.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-unmangled-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-unmangled-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-unmangled-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-unmangled.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-case_swap-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-case_swap-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-case_swap-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-case_swap.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-extra_whitespace-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-extra_whitespace-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-extra_whitespace-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-extra_whitespace.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-unmangled-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-unmangled-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-unmangled-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-unmangled.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UTF8-case_swap-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UTF8-case_swap-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UTF8-case_swap-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UTF8-case_swap.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UTF8-extra_whitespace-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UTF8-extra_whitespace-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UTF8-extra_whitespace-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UTF8-extra_whitespace.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UTF8-unmangled-dupe_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UTF8-unmangled-extra_attr.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UTF8-unmangled-extra_rdn.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-UTF8-unmangled.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-mixed-rdn_dupetype_sorting_1.pem
+-  pki/testdata/verify_name_match_unittest/names/ascii-mixed-rdn_dupetype_sorting_2.pem
+-  pki/testdata/verify_name_match_unittest/names/custom-custom-normalized.pem
+-  pki/testdata/verify_name_match_unittest/names/invalid-AttributeTypeAndValue-badAttributeType.pem
+-  pki/testdata/verify_name_match_unittest/names/invalid-AttributeTypeAndValue-empty.pem
+-  pki/testdata/verify_name_match_unittest/names/invalid-AttributeTypeAndValue-extradata.pem
+-  pki/testdata/verify_name_match_unittest/names/invalid-AttributeTypeAndValue-onlyOneElement.pem
+-  pki/testdata/verify_name_match_unittest/names/invalid-AttributeTypeAndValue-setNotSequence.pem
+-  pki/testdata/verify_name_match_unittest/names/invalid-Name-setInsteadOfSequence.pem
+-  pki/testdata/verify_name_match_unittest/names/invalid-RDN-empty.pem
+-  pki/testdata/verify_name_match_unittest/names/invalid-RDN-sequenceInsteadOfSet.pem
+-  pki/testdata/verify_name_match_unittest/names/unicode-mixed-normalized.pem
+-  pki/testdata/verify_name_match_unittest/names/unicode-mixed-unnormalized.pem
+-  pki/testdata/verify_name_match_unittest/names/unicode_bmp-BMPSTRING-unmangled.pem
+-  pki/testdata/verify_name_match_unittest/names/unicode_bmp-UNIVERSALSTRING-unmangled.pem
+-  pki/testdata/verify_name_match_unittest/names/unicode_bmp-UTF8-unmangled.pem
+-  pki/testdata/verify_name_match_unittest/names/unicode_supplementary-UNIVERSALSTRING-unmangled.pem
+-  pki/testdata/verify_name_match_unittest/names/unicode_supplementary-UTF8-unmangled.pem
+-  pki/testdata/verify_name_match_unittest/names/valid-Name-empty.pem
+-  pki/testdata/verify_name_match_unittest/names/valid-minimal.pem
+-  pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512-spki-params-null.pem
+-  pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512-unused-bits-signature.pem
+-  pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512-using-ecdh-key.pem
+-  pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512-using-ecmqv-key.pem
+-  pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512-using-rsa-algorithm.pem
+-  pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512-wrong-signature-format.pem
+-  pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512.pem
+-  pki/testdata/verify_signed_data_unittest/ecdsa-secp384r1-sha256-corrupted-data.pem
+-  pki/testdata/verify_signed_data_unittest/ecdsa-secp384r1-sha256.pem
+-  pki/testdata/verify_signed_data_unittest/ecdsa-using-rsa-key.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha1-bad-key-der-length.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha1-bad-key-der-null.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha1-key-params-absent.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha1-using-pss-key-no-params.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha1-wrong-algorithm.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha1.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha256-key-encoded-ber.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha256-spki-non-null-params.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha256-using-ecdsa-algorithm.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha256-using-id-ea-rsa.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha256.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pss-sha256-using-pss-key-with-params.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pss-sha256-wrong-salt.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-pss-sha256.pem
+-  pki/testdata/verify_signed_data_unittest/rsa-using-ec-key.pem
+-  pki/testdata/verify_signed_data_unittest/rsa2048-pkcs1-sha512.pem
+   pki/testdata/verify_unittest/google-leaf.der
+   pki/testdata/verify_unittest/self-issued.pem
+ )
+@@ -2689,6 +1266,7 @@
+   gen/test_support/trampoline-armv8-apple.S
+   gen/test_support/trampoline-armv8-linux.S
+   gen/test_support/trampoline-armv8-win.S
++  gen/test_support/trampoline-ppc-linux.S
+   gen/test_support/trampoline-x86-apple.S
+   gen/test_support/trampoline-x86-linux.S
+   gen/test_support/trampoline-x86_64-apple.S
+diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.json chromium-125.0.6422.41/third_party/boringssl/src/gen/sources.json
+--- chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/sources.json	2024-05-08 20:30:38.000000000 +0000
++++ chromium-125.0.6422.41/third_party/boringssl/src/gen/sources.json	2024-05-14 17:55:16.022270997 +0000
+@@ -88,6 +88,7 @@
+       "gen/bcm/aesni-x86-linux.S",
+       "gen/bcm/aesni-x86_64-apple.S",
+       "gen/bcm/aesni-x86_64-linux.S",
++      "gen/bcm/aesp8-ppc-linux.S",
+       "gen/bcm/aesv8-armv7-linux.S",
+       "gen/bcm/aesv8-armv8-apple.S",
+       "gen/bcm/aesv8-armv8-linux.S",
+@@ -119,6 +120,7 @@
+       "gen/bcm/ghash-x86-linux.S",
+       "gen/bcm/ghash-x86_64-apple.S",
+       "gen/bcm/ghash-x86_64-linux.S",
++      "gen/bcm/ghashp8-ppc-linux.S",
+       "gen/bcm/ghashv8-armv7-linux.S",
+       "gen/bcm/ghashv8-armv8-apple.S",
+       "gen/bcm/ghashv8-armv8-linux.S",
+@@ -306,6 +308,7 @@
+       "crypto/cpu_arm_freebsd.c",
+       "crypto/cpu_arm_linux.c",
+       "crypto/cpu_intel.c",
++      "crypto/cpu_ppc64le.c",
+       "crypto/crypto.c",
+       "crypto/curve25519/curve25519.c",
+       "crypto/curve25519/curve25519_64_adx.c",
+@@ -729,37 +732,6 @@
+     ],
+     "data": [
+       "crypto/blake2/blake2b256_tests.txt",
+-      "crypto/cipher_extra/test/aes_128_cbc_sha1_tls_implicit_iv_tests.txt",
+-      "crypto/cipher_extra/test/aes_128_cbc_sha1_tls_tests.txt",
+-      "crypto/cipher_extra/test/aes_128_ccm_bluetooth_8_tests.txt",
+-      "crypto/cipher_extra/test/aes_128_ccm_bluetooth_tests.txt",
+-      "crypto/cipher_extra/test/aes_128_ccm_matter_tests.txt",
+-      "crypto/cipher_extra/test/aes_128_ctr_hmac_sha256.txt",
+-      "crypto/cipher_extra/test/aes_128_gcm_randnonce_tests.txt",
+-      "crypto/cipher_extra/test/aes_128_gcm_siv_tests.txt",
+-      "crypto/cipher_extra/test/aes_128_gcm_tests.txt",
+-      "crypto/cipher_extra/test/aes_192_gcm_tests.txt",
+-      "crypto/cipher_extra/test/aes_256_cbc_sha1_tls_implicit_iv_tests.txt",
+-      "crypto/cipher_extra/test/aes_256_cbc_sha1_tls_tests.txt",
+-      "crypto/cipher_extra/test/aes_256_ctr_hmac_sha256.txt",
+-      "crypto/cipher_extra/test/aes_256_gcm_randnonce_tests.txt",
+-      "crypto/cipher_extra/test/aes_256_gcm_siv_tests.txt",
+-      "crypto/cipher_extra/test/aes_256_gcm_tests.txt",
+-      "crypto/cipher_extra/test/chacha20_poly1305_tests.txt",
+-      "crypto/cipher_extra/test/cipher_tests.txt",
+-      "crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_implicit_iv_tests.txt",
+-      "crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_tests.txt",
+-      "crypto/cipher_extra/test/nist_cavp/aes_128_cbc.txt",
+-      "crypto/cipher_extra/test/nist_cavp/aes_128_ctr.txt",
+-      "crypto/cipher_extra/test/nist_cavp/aes_128_gcm.txt",
+-      "crypto/cipher_extra/test/nist_cavp/aes_192_cbc.txt",
+-      "crypto/cipher_extra/test/nist_cavp/aes_192_ctr.txt",
+-      "crypto/cipher_extra/test/nist_cavp/aes_256_cbc.txt",
+-      "crypto/cipher_extra/test/nist_cavp/aes_256_ctr.txt",
+-      "crypto/cipher_extra/test/nist_cavp/aes_256_gcm.txt",
+-      "crypto/cipher_extra/test/nist_cavp/tdes_cbc.txt",
+-      "crypto/cipher_extra/test/nist_cavp/tdes_ecb.txt",
+-      "crypto/cipher_extra/test/xchacha20_poly1305_tests.txt",
+       "crypto/curve25519/ed25519_tests.txt",
+       "crypto/ecdh_extra/ecdh_tests.txt",
+       "crypto/evp/evp_tests.txt",
+@@ -1123,1401 +1095,6 @@
+       "pki/verify_signed_data_unittest.cc"
+     ],
+     "data": [
+-      "pki/testdata/cert_issuer_source_static_unittest/c1.pem",
+-      "pki/testdata/cert_issuer_source_static_unittest/c2.pem",
+-      "pki/testdata/cert_issuer_source_static_unittest/d.pem",
+-      "pki/testdata/cert_issuer_source_static_unittest/e1.pem",
+-      "pki/testdata/cert_issuer_source_static_unittest/e2.pem",
+-      "pki/testdata/cert_issuer_source_static_unittest/i1_1.pem",
+-      "pki/testdata/cert_issuer_source_static_unittest/i1_2.pem",
+-      "pki/testdata/cert_issuer_source_static_unittest/i2.pem",
+-      "pki/testdata/cert_issuer_source_static_unittest/i3_1.pem",
+-      "pki/testdata/cert_issuer_source_static_unittest/i3_2.pem",
+-      "pki/testdata/cert_issuer_source_static_unittest/root.pem",
+-      "pki/testdata/certificate_policies_unittest/anypolicy.pem",
+-      "pki/testdata/certificate_policies_unittest/anypolicy_with_qualifier.pem",
+-      "pki/testdata/certificate_policies_unittest/invalid-anypolicy_with_custom_qualifier.pem",
+-      "pki/testdata/certificate_policies_unittest/invalid-empty.pem",
+-      "pki/testdata/certificate_policies_unittest/invalid-policy_1_2_3_dupe.pem",
+-      "pki/testdata/certificate_policies_unittest/invalid-policy_1_2_3_policyinformation_unconsumed_data.pem",
+-      "pki/testdata/certificate_policies_unittest/invalid-policy_1_2_3_policyqualifierinfo_unconsumed_data.pem",
+-      "pki/testdata/certificate_policies_unittest/invalid-policy_1_2_3_with_empty_qualifiers_sequence.pem",
+-      "pki/testdata/certificate_policies_unittest/invalid-policy_identifier_not_oid.pem",
+-      "pki/testdata/certificate_policies_unittest/policy_1_2_3.pem",
+-      "pki/testdata/certificate_policies_unittest/policy_1_2_3_and_1_2_4.pem",
+-      "pki/testdata/certificate_policies_unittest/policy_1_2_3_and_1_2_4_with_qualifiers.pem",
+-      "pki/testdata/certificate_policies_unittest/policy_1_2_3_with_custom_qualifier.pem",
+-      "pki/testdata/certificate_policies_unittest/policy_1_2_3_with_qualifier.pem",
+-      "pki/testdata/crl_unittest/bad_crldp_has_crlissuer.pem",
+-      "pki/testdata/crl_unittest/bad_fake_critical_crlentryextension.pem",
+-      "pki/testdata/crl_unittest/bad_fake_critical_extension.pem",
+-      "pki/testdata/crl_unittest/bad_idp_contains_wrong_uri.pem",
+-      "pki/testdata/crl_unittest/bad_idp_indirectcrl.pem",
+-      "pki/testdata/crl_unittest/bad_idp_onlycontainscacerts.pem",
+-      "pki/testdata/crl_unittest/bad_idp_onlycontainscacerts_no_basic_constraints.pem",
+-      "pki/testdata/crl_unittest/bad_idp_onlycontainsusercerts.pem",
+-      "pki/testdata/crl_unittest/bad_idp_uri_and_onlycontainscacerts.pem",
+-      "pki/testdata/crl_unittest/bad_idp_uri_and_onlycontainsusercerts.pem",
+-      "pki/testdata/crl_unittest/bad_key_rollover_signature.pem",
+-      "pki/testdata/crl_unittest/bad_nextupdate_too_old.pem",
+-      "pki/testdata/crl_unittest/bad_signature.pem",
+-      "pki/testdata/crl_unittest/bad_thisupdate_in_future.pem",
+-      "pki/testdata/crl_unittest/bad_thisupdate_too_old.pem",
+-      "pki/testdata/crl_unittest/bad_wrong_issuer.pem",
+-      "pki/testdata/crl_unittest/good.pem",
+-      "pki/testdata/crl_unittest/good_fake_extension.pem",
+-      "pki/testdata/crl_unittest/good_fake_extension_no_nextupdate.pem",
+-      "pki/testdata/crl_unittest/good_generalizedtime.pem",
+-      "pki/testdata/crl_unittest/good_idp_contains_uri.pem",
+-      "pki/testdata/crl_unittest/good_idp_onlycontainscacerts.pem",
+-      "pki/testdata/crl_unittest/good_idp_onlycontainsusercerts.pem",
+-      "pki/testdata/crl_unittest/good_idp_onlycontainsusercerts_no_basic_constraints.pem",
+-      "pki/testdata/crl_unittest/good_idp_uri_and_onlycontainscacerts.pem",
+-      "pki/testdata/crl_unittest/good_idp_uri_and_onlycontainsusercerts.pem",
+-      "pki/testdata/crl_unittest/good_issuer_name_normalization.pem",
+-      "pki/testdata/crl_unittest/good_issuer_no_keyusage.pem",
+-      "pki/testdata/crl_unittest/good_key_rollover.pem",
+-      "pki/testdata/crl_unittest/good_no_crldp.pem",
+-      "pki/testdata/crl_unittest/good_no_nextupdate.pem",
+-      "pki/testdata/crl_unittest/good_no_version.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_after_crlentryextensions.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_after_extensions.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_after_nextupdate.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_after_revocationdate.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_after_revokedcerts.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_after_signaturevalue.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_after_thisupdate.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_crlentry.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_issuer_name.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_revocationdate.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_revoked_serial_number.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_signaturealgorithm.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_signaturevalue.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_tbs_signature_algorithm.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_tbscertlist.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_thisupdate.pem",
+-      "pki/testdata/crl_unittest/invalid_garbage_version.pem",
+-      "pki/testdata/crl_unittest/invalid_idp_dpname_choice_extra_data.pem",
+-      "pki/testdata/crl_unittest/invalid_idp_empty_sequence.pem",
+-      "pki/testdata/crl_unittest/invalid_idp_onlycontains_user_and_ca_certs.pem",
+-      "pki/testdata/crl_unittest/invalid_idp_onlycontainsusercerts_v1_leaf.pem",
+-      "pki/testdata/crl_unittest/invalid_issuer_keyusage_no_crlsign.pem",
+-      "pki/testdata/crl_unittest/invalid_key_rollover_issuer_keyusage_no_crlsign.pem",
+-      "pki/testdata/crl_unittest/invalid_mismatched_signature_algorithm.pem",
+-      "pki/testdata/crl_unittest/invalid_revoked_empty_sequence.pem",
+-      "pki/testdata/crl_unittest/invalid_v1_explicit.pem",
+-      "pki/testdata/crl_unittest/invalid_v1_with_crlentryextension.pem",
+-      "pki/testdata/crl_unittest/invalid_v1_with_extension.pem",
+-      "pki/testdata/crl_unittest/invalid_v3.pem",
+-      "pki/testdata/crl_unittest/revoked.pem",
+-      "pki/testdata/crl_unittest/revoked_fake_crlentryextension.pem",
+-      "pki/testdata/crl_unittest/revoked_generalized_revocationdate.pem",
+-      "pki/testdata/crl_unittest/revoked_key_rollover.pem",
+-      "pki/testdata/crl_unittest/revoked_no_nextupdate.pem",
+-      "pki/testdata/name_constraints_unittest/directoryname-excludeall.pem",
+-      "pki/testdata/name_constraints_unittest/directoryname-excluded.pem",
+-      "pki/testdata/name_constraints_unittest/directoryname.pem",
+-      "pki/testdata/name_constraints_unittest/directoryname_and_dnsname.pem",
+-      "pki/testdata/name_constraints_unittest/directoryname_and_dnsname_and_ipaddress.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname-exclude_dot.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname-excludeall.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname-excluded.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname-excluded_with_leading_dot.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname-permitted_two_dot.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname-permitted_with_leading_dot.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname-with_max.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname-with_min_0.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname-with_min_0_and_max.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname-with_min_1.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname-with_min_1_and_max.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname.pem",
+-      "pki/testdata/name_constraints_unittest/dnsname2.pem",
+-      "pki/testdata/name_constraints_unittest/edipartyname-excluded.pem",
+-      "pki/testdata/name_constraints_unittest/edipartyname-permitted.pem",
+-      "pki/testdata/name_constraints_unittest/invalid-empty_excluded_subtree.pem",
+-      "pki/testdata/name_constraints_unittest/invalid-empty_permitted_subtree.pem",
+-      "pki/testdata/name_constraints_unittest/invalid-no_subtrees.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress-excludeall.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress-excluded.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress-invalid_addr.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress-invalid_mask_not_contiguous_1.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress-invalid_mask_not_contiguous_2.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress-invalid_mask_not_contiguous_3.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress-invalid_mask_not_contiguous_4.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress-mapped_addrs.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress-permit_all.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress-permit_prefix1.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress-permit_prefix31.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress-permit_singlehost.pem",
+-      "pki/testdata/name_constraints_unittest/ipaddress.pem",
+-      "pki/testdata/name_constraints_unittest/name-ca.pem",
+-      "pki/testdata/name_constraints_unittest/name-de.pem",
+-      "pki/testdata/name_constraints_unittest/name-empty.pem",
+-      "pki/testdata/name_constraints_unittest/name-jp-tokyo.pem",
+-      "pki/testdata/name_constraints_unittest/name-jp.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-arizona-1.1.1.1.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-arizona-192.168.1.1.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-arizona-email-invalidstring.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-arizona-email-localpartcase.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-arizona-email-multiple.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-arizona-email.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-arizona-foo.com.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-arizona-ipv6.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-arizona-permitted.example.com.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-arizona.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-california-192.168.1.1.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-california-mountain_view.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-california-permitted.example.com.pem",
+-      "pki/testdata/name_constraints_unittest/name-us-california.pem",
+-      "pki/testdata/name_constraints_unittest/name-us.pem",
+-      "pki/testdata/name_constraints_unittest/othername-excluded.pem",
+-      "pki/testdata/name_constraints_unittest/othername-permitted.pem",
+-      "pki/testdata/name_constraints_unittest/registeredid-excluded.pem",
+-      "pki/testdata/name_constraints_unittest/registeredid-permitted.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-excluded-empty.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-excluded-hostname.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-excluded-hostnamewithat.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-excluded-ipv4.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-excluded-quoted.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-excluded-subdomains.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-excluded.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-permitted-empty.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-permitted-hostname.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-permitted-hostnamewithat.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-permitted-ipv4.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-permitted-quoted.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-permitted-subdomains.pem",
+-      "pki/testdata/name_constraints_unittest/rfc822name-permitted.pem",
+-      "pki/testdata/name_constraints_unittest/san-directoryname.pem",
+-      "pki/testdata/name_constraints_unittest/san-dnsname.pem",
+-      "pki/testdata/name_constraints_unittest/san-edipartyname.pem",
+-      "pki/testdata/name_constraints_unittest/san-excluded-directoryname.pem",
+-      "pki/testdata/name_constraints_unittest/san-excluded-dnsname.pem",
+-      "pki/testdata/name_constraints_unittest/san-excluded-ipaddress.pem",
+-      "pki/testdata/name_constraints_unittest/san-invalid-empty.pem",
+-      "pki/testdata/name_constraints_unittest/san-invalid-ipaddress.pem",
+-      "pki/testdata/name_constraints_unittest/san-ipaddress4.pem",
+-      "pki/testdata/name_constraints_unittest/san-ipaddress6.pem",
+-      "pki/testdata/name_constraints_unittest/san-othername.pem",
+-      "pki/testdata/name_constraints_unittest/san-permitted.pem",
+-      "pki/testdata/name_constraints_unittest/san-registeredid.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-domaincase.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-empty-localpart.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-empty.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-ipv4.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-localpartcase.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-multiple.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-no-at.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-quoted.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-subdomain-no-at.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-subdomain-two-ats.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-subdomain.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-subdomaincase.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name-two-ats.pem",
+-      "pki/testdata/name_constraints_unittest/san-rfc822name.pem",
+-      "pki/testdata/name_constraints_unittest/san-uri.pem",
+-      "pki/testdata/name_constraints_unittest/san-x400address.pem",
+-      "pki/testdata/name_constraints_unittest/uri-excluded.pem",
+-      "pki/testdata/name_constraints_unittest/uri-permitted.pem",
+-      "pki/testdata/name_constraints_unittest/x400address-excluded.pem",
+-      "pki/testdata/name_constraints_unittest/x400address-permitted.pem",
+-      "pki/testdata/nist-pkits/certs/AllCertificatesNoPoliciesTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/AllCertificatesSamePoliciesTest10EE.crt",
+-      "pki/testdata/nist-pkits/certs/AllCertificatesSamePoliciesTest13EE.crt",
+-      "pki/testdata/nist-pkits/certs/AllCertificatesanyPolicyTest11EE.crt",
+-      "pki/testdata/nist-pkits/certs/AnyPolicyTest14EE.crt",
+-      "pki/testdata/nist-pkits/certs/BadCRLIssuerNameCACert.crt",
+-      "pki/testdata/nist-pkits/certs/BadCRLSignatureCACert.crt",
+-      "pki/testdata/nist-pkits/certs/BadSignedCACert.crt",
+-      "pki/testdata/nist-pkits/certs/BadnotAfterDateCACert.crt",
+-      "pki/testdata/nist-pkits/certs/BadnotBeforeDateCACert.crt",
+-      "pki/testdata/nist-pkits/certs/BasicSelfIssuedCRLSigningKeyCACert.crt",
+-      "pki/testdata/nist-pkits/certs/BasicSelfIssuedCRLSigningKeyCRLCert.crt",
+-      "pki/testdata/nist-pkits/certs/BasicSelfIssuedNewKeyCACert.crt",
+-      "pki/testdata/nist-pkits/certs/BasicSelfIssuedNewKeyOldWithNewCACert.crt",
+-      "pki/testdata/nist-pkits/certs/BasicSelfIssuedOldKeyCACert.crt",
+-      "pki/testdata/nist-pkits/certs/BasicSelfIssuedOldKeyNewWithOldCACert.crt",
+-      "pki/testdata/nist-pkits/certs/CPSPointerQualifierTest20EE.crt",
+-      "pki/testdata/nist-pkits/certs/DSACACert.crt",
+-      "pki/testdata/nist-pkits/certs/DSAParametersInheritedCACert.crt",
+-      "pki/testdata/nist-pkits/certs/DifferentPoliciesTest12EE.crt",
+-      "pki/testdata/nist-pkits/certs/DifferentPoliciesTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/DifferentPoliciesTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/DifferentPoliciesTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/DifferentPoliciesTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/DifferentPoliciesTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/DifferentPoliciesTest9EE.crt",
+-      "pki/testdata/nist-pkits/certs/GeneralizedTimeCRLnextUpdateCACert.crt",
+-      "pki/testdata/nist-pkits/certs/GoodCACert.crt",
+-      "pki/testdata/nist-pkits/certs/GoodsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/GoodsubCAPanyPolicyMapping1to2CACert.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidBadCRLIssuerNameTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidBadCRLSignatureTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidBasicSelfIssuedCRLSigningKeyTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidBasicSelfIssuedCRLSigningKeyTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidBasicSelfIssuedNewWithOldTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidBasicSelfIssuedOldWithNewTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidCASignatureTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidCAnotAfterDateTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidCAnotBeforeDateTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNSnameConstraintsTest31EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNSnameConstraintsTest33EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNSnameConstraintsTest38EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNandRFC822nameConstraintsTest28EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNandRFC822nameConstraintsTest29EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest10EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest12EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest13EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest15EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest16EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest17EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest20EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDNnameConstraintsTest9EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidDSASignatureTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidEESignatureTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidEEnotAfterDateTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidEEnotBeforeDateTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidIDPwithindirectCRLTest23EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidIDPwithindirectCRLTest26EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidLongSerialNumberTest18EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidMappingFromanyPolicyTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidMappingToanyPolicyTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidMissingCRLTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidMissingbasicConstraintsTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidNameChainingOrderTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidNameChainingTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidNegativeSerialNumberTest15EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidOldCRLnextUpdateTest11EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidPolicyMappingTest10EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidPolicyMappingTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidPolicyMappingTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidRFC822nameConstraintsTest22EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidRFC822nameConstraintsTest24EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidRFC822nameConstraintsTest26EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidRevokedCATest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidRevokedEETest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidSelfIssuedinhibitAnyPolicyTest10EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidSelfIssuedinhibitAnyPolicyTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidSelfIssuedinhibitPolicyMappingTest10EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidSelfIssuedinhibitPolicyMappingTest11EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidSelfIssuedinhibitPolicyMappingTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidSelfIssuedinhibitPolicyMappingTest9EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidSelfIssuedpathLenConstraintTest16EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidSelfIssuedrequireExplicitPolicyTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidSelfIssuedrequireExplicitPolicyTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidSeparateCertificateandCRLKeysTest20EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidSeparateCertificateandCRLKeysTest21EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidURInameConstraintsTest35EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidURInameConstraintsTest37EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidUnknownCRLEntryExtensionTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidUnknownCRLExtensionTest10EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidUnknownCRLExtensionTest9EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidUnknownCriticalCertificateExtensionTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidWrongCRLTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidcAFalseTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidcAFalseTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidcRLIssuerTest27EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidcRLIssuerTest31EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidcRLIssuerTest32EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidcRLIssuerTest34EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidcRLIssuerTest35EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvaliddeltaCRLIndicatorNoBaseTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvaliddeltaCRLTest10EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvaliddeltaCRLTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvaliddeltaCRLTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvaliddeltaCRLTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvaliddeltaCRLTest9EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvaliddistributionPointTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvaliddistributionPointTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvaliddistributionPointTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvaliddistributionPointTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvaliddistributionPointTest9EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidinhibitAnyPolicyTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidinhibitAnyPolicyTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidinhibitAnyPolicyTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidinhibitAnyPolicyTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidinhibitPolicyMappingTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidinhibitPolicyMappingTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidinhibitPolicyMappingTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidinhibitPolicyMappingTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidkeyUsageCriticalcRLSignFalseTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidkeyUsageCriticalkeyCertSignFalseTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidkeyUsageNotCriticalcRLSignFalseTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidonlyContainsAttributeCertsTest14EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidonlyContainsCACertsTest12EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidonlyContainsUserCertsTest11EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidonlySomeReasonsTest15EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidonlySomeReasonsTest16EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidonlySomeReasonsTest17EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidonlySomeReasonsTest20EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidonlySomeReasonsTest21EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidpathLenConstraintTest10EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidpathLenConstraintTest11EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidpathLenConstraintTest12EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidpathLenConstraintTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidpathLenConstraintTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidpathLenConstraintTest9EE.crt",
+-      "pki/testdata/nist-pkits/certs/Invalidpre2000CRLnextUpdateTest12EE.crt",
+-      "pki/testdata/nist-pkits/certs/Invalidpre2000UTCEEnotAfterDateTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidrequireExplicitPolicyTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/InvalidrequireExplicitPolicyTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/LongSerialNumberCACert.crt",
+-      "pki/testdata/nist-pkits/certs/Mapping1to2CACert.crt",
+-      "pki/testdata/nist-pkits/certs/MappingFromanyPolicyCACert.crt",
+-      "pki/testdata/nist-pkits/certs/MappingToanyPolicyCACert.crt",
+-      "pki/testdata/nist-pkits/certs/MissingbasicConstraintsCACert.crt",
+-      "pki/testdata/nist-pkits/certs/NameOrderingCACert.crt",
+-      "pki/testdata/nist-pkits/certs/NegativeSerialNumberCACert.crt",
+-      "pki/testdata/nist-pkits/certs/NoCRLCACert.crt",
+-      "pki/testdata/nist-pkits/certs/NoPoliciesCACert.crt",
+-      "pki/testdata/nist-pkits/certs/NoissuingDistributionPointCACert.crt",
+-      "pki/testdata/nist-pkits/certs/OldCRLnextUpdateCACert.crt",
+-      "pki/testdata/nist-pkits/certs/OverlappingPoliciesTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/P12Mapping1to3CACert.crt",
+-      "pki/testdata/nist-pkits/certs/P12Mapping1to3subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/P12Mapping1to3subsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/P1Mapping1to234CACert.crt",
+-      "pki/testdata/nist-pkits/certs/P1Mapping1to234subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/P1anyPolicyMapping1to2CACert.crt",
+-      "pki/testdata/nist-pkits/certs/PanyPolicyMapping1to2CACert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP1234CACert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP1234subCAP123Cert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP1234subsubCAP123P12Cert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP123CACert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP123subCAP12Cert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP123subsubCAP12P1Cert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP123subsubCAP12P2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP123subsubsubCAP12P2P1Cert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP12CACert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP12subCAP1Cert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP12subsubCAP1P2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP2subCA2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP2subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/PoliciesP3CACert.crt",
+-      "pki/testdata/nist-pkits/certs/RFC3280MandatoryAttributeTypesCACert.crt",
+-      "pki/testdata/nist-pkits/certs/RFC3280OptionalAttributeTypesCACert.crt",
+-      "pki/testdata/nist-pkits/certs/RevokedsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/RolloverfromPrintableStringtoUTF8StringCACert.crt",
+-      "pki/testdata/nist-pkits/certs/SeparateCertificateandCRLKeysCA2CRLSigningCert.crt",
+-      "pki/testdata/nist-pkits/certs/SeparateCertificateandCRLKeysCA2CertificateSigningCACert.crt",
+-      "pki/testdata/nist-pkits/certs/SeparateCertificateandCRLKeysCRLSigningCert.crt",
+-      "pki/testdata/nist-pkits/certs/SeparateCertificateandCRLKeysCertificateSigningCACert.crt",
+-      "pki/testdata/nist-pkits/certs/TrustAnchorRootCertificate.crt",
+-      "pki/testdata/nist-pkits/certs/TwoCRLsCACert.crt",
+-      "pki/testdata/nist-pkits/certs/UIDCACert.crt",
+-      "pki/testdata/nist-pkits/certs/UTF8StringCaseInsensitiveMatchCACert.crt",
+-      "pki/testdata/nist-pkits/certs/UTF8StringEncodedNamesCACert.crt",
+-      "pki/testdata/nist-pkits/certs/UnknownCRLEntryExtensionCACert.crt",
+-      "pki/testdata/nist-pkits/certs/UnknownCRLExtensionCACert.crt",
+-      "pki/testdata/nist-pkits/certs/UserNoticeQualifierTest15EE.crt",
+-      "pki/testdata/nist-pkits/certs/UserNoticeQualifierTest16EE.crt",
+-      "pki/testdata/nist-pkits/certs/UserNoticeQualifierTest17EE.crt",
+-      "pki/testdata/nist-pkits/certs/UserNoticeQualifierTest18EE.crt",
+-      "pki/testdata/nist-pkits/certs/UserNoticeQualifierTest19EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidBasicSelfIssuedCRLSigningKeyTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidBasicSelfIssuedNewWithOldTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidBasicSelfIssuedNewWithOldTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidBasicSelfIssuedOldWithNewTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidCertificatePathTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDNSnameConstraintsTest30EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDNSnameConstraintsTest32EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDNandRFC822nameConstraintsTest27EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest11EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest14EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest18EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest19EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDNnameConstraintsTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDSAParameterInheritanceTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidDSASignaturesTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidGeneralizedTimeCRLnextUpdateTest13EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidGeneralizedTimenotAfterDateTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidGeneralizedTimenotBeforeDateTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidIDPwithindirectCRLTest22EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidIDPwithindirectCRLTest24EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidIDPwithindirectCRLTest25EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidLongSerialNumberTest16EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidLongSerialNumberTest17EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidNameChainingCapitalizationTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidNameChainingWhitespaceTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidNameChainingWhitespaceTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidNameUIDsTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidNegativeSerialNumberTest14EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidNoissuingDistributionPointTest10EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidPolicyMappingTest11EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidPolicyMappingTest12EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidPolicyMappingTest13EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidPolicyMappingTest14EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidPolicyMappingTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidPolicyMappingTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidPolicyMappingTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidPolicyMappingTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidPolicyMappingTest9EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidRFC3280MandatoryAttributeTypesTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidRFC3280OptionalAttributeTypesTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidRFC822nameConstraintsTest21EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidRFC822nameConstraintsTest23EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidRFC822nameConstraintsTest25EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidRolloverfromPrintableStringtoUTF8StringTest10EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidSelfIssuedinhibitAnyPolicyTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidSelfIssuedinhibitAnyPolicyTest9EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidSelfIssuedinhibitPolicyMappingTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidSelfIssuedpathLenConstraintTest15EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidSelfIssuedpathLenConstraintTest17EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidSelfIssuedrequireExplicitPolicyTest6EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidSeparateCertificateandCRLKeysTest19EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidTwoCRLsTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidURInameConstraintsTest34EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidURInameConstraintsTest36EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidUTF8StringCaseInsensitiveMatchTest11EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidUTF8StringEncodedNamesTest9EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidUnknownNotCriticalCertificateExtensionTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidbasicConstraintsNotCriticalTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidcRLIssuerTest28EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidcRLIssuerTest29EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidcRLIssuerTest30EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidcRLIssuerTest33EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValiddeltaCRLTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValiddeltaCRLTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValiddeltaCRLTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValiddeltaCRLTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValiddistributionPointTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValiddistributionPointTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValiddistributionPointTest5EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValiddistributionPointTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidinhibitAnyPolicyTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidinhibitPolicyMappingTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidinhibitPolicyMappingTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidkeyUsageNotCriticalTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidonlyContainsCACertsTest13EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidonlySomeReasonsTest18EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidonlySomeReasonsTest19EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidpathLenConstraintTest13EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidpathLenConstraintTest14EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidpathLenConstraintTest7EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidpathLenConstraintTest8EE.crt",
+-      "pki/testdata/nist-pkits/certs/Validpre2000UTCnotBeforeDateTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidrequireExplicitPolicyTest1EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidrequireExplicitPolicyTest2EE.crt",
+-      "pki/testdata/nist-pkits/certs/ValidrequireExplicitPolicyTest4EE.crt",
+-      "pki/testdata/nist-pkits/certs/WrongCRLCACert.crt",
+-      "pki/testdata/nist-pkits/certs/anyPolicyCACert.crt",
+-      "pki/testdata/nist-pkits/certs/basicConstraintsCriticalcAFalseCACert.crt",
+-      "pki/testdata/nist-pkits/certs/basicConstraintsNotCriticalCACert.crt",
+-      "pki/testdata/nist-pkits/certs/basicConstraintsNotCriticalcAFalseCACert.crt",
+-      "pki/testdata/nist-pkits/certs/deltaCRLCA1Cert.crt",
+-      "pki/testdata/nist-pkits/certs/deltaCRLCA2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/deltaCRLCA3Cert.crt",
+-      "pki/testdata/nist-pkits/certs/deltaCRLIndicatorNoBaseCACert.crt",
+-      "pki/testdata/nist-pkits/certs/distributionPoint1CACert.crt",
+-      "pki/testdata/nist-pkits/certs/distributionPoint2CACert.crt",
+-      "pki/testdata/nist-pkits/certs/indirectCRLCA1Cert.crt",
+-      "pki/testdata/nist-pkits/certs/indirectCRLCA2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/indirectCRLCA3Cert.crt",
+-      "pki/testdata/nist-pkits/certs/indirectCRLCA3cRLIssuerCert.crt",
+-      "pki/testdata/nist-pkits/certs/indirectCRLCA4Cert.crt",
+-      "pki/testdata/nist-pkits/certs/indirectCRLCA4cRLIssuerCert.crt",
+-      "pki/testdata/nist-pkits/certs/indirectCRLCA5Cert.crt",
+-      "pki/testdata/nist-pkits/certs/indirectCRLCA6Cert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitAnyPolicy0CACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitAnyPolicy1CACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitAnyPolicy1SelfIssuedCACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitAnyPolicy1SelfIssuedsubCA2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitAnyPolicy1subCA1Cert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitAnyPolicy1subCA2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitAnyPolicy1subCAIAP5Cert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitAnyPolicy1subsubCA2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitAnyPolicy5CACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitAnyPolicy5subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitAnyPolicy5subsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitAnyPolicyTest3EE.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping0CACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping0subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P12CACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P12subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P12subCAIPM5Cert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P12subsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P12subsubCAIPM5Cert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P1CACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P1SelfIssuedCACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P1SelfIssuedsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P1subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping1P1subsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping5CACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping5subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping5subsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/inhibitPolicyMapping5subsubsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/keyUsageCriticalcRLSignFalseCACert.crt",
+-      "pki/testdata/nist-pkits/certs/keyUsageCriticalkeyCertSignFalseCACert.crt",
+-      "pki/testdata/nist-pkits/certs/keyUsageNotCriticalCACert.crt",
+-      "pki/testdata/nist-pkits/certs/keyUsageNotCriticalcRLSignFalseCACert.crt",
+-      "pki/testdata/nist-pkits/certs/keyUsageNotCriticalkeyCertSignFalseCACert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDN1CACert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDN1SelfIssuedCACert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDN1subCA1Cert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDN1subCA2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDN1subCA3Cert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDN2CACert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDN3CACert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDN3subCA1Cert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDN3subCA2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDN4CACert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDN5CACert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDNS1CACert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsDNS2CACert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsRFC822CA1Cert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsRFC822CA2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsRFC822CA3Cert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsURI1CACert.crt",
+-      "pki/testdata/nist-pkits/certs/nameConstraintsURI2CACert.crt",
+-      "pki/testdata/nist-pkits/certs/onlyContainsAttributeCertsCACert.crt",
+-      "pki/testdata/nist-pkits/certs/onlyContainsCACertsCACert.crt",
+-      "pki/testdata/nist-pkits/certs/onlyContainsUserCertsCACert.crt",
+-      "pki/testdata/nist-pkits/certs/onlySomeReasonsCA1Cert.crt",
+-      "pki/testdata/nist-pkits/certs/onlySomeReasonsCA2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/onlySomeReasonsCA3Cert.crt",
+-      "pki/testdata/nist-pkits/certs/onlySomeReasonsCA4Cert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint0CACert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint0SelfIssuedCACert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint0subCA2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint0subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint1CACert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint1SelfIssuedCACert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint1SelfIssuedsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint1subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint6CACert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint6subCA0Cert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint6subCA1Cert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint6subCA4Cert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint6subsubCA00Cert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint6subsubCA11Cert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint6subsubCA41Cert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint6subsubsubCA11XCert.crt",
+-      "pki/testdata/nist-pkits/certs/pathLenConstraint6subsubsubCA41XCert.crt",
+-      "pki/testdata/nist-pkits/certs/pre2000CRLnextUpdateCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy0CACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy0subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy0subsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy0subsubsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy10CACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy10subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy10subsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy10subsubsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy2CACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy2SelfIssuedCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy2SelfIssuedsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy2subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy4CACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy4subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy4subsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy4subsubsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy5CACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy5subCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy5subsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy5subsubsubCACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy7CACert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy7subCARE2Cert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy7subsubCARE2RE4Cert.crt",
+-      "pki/testdata/nist-pkits/certs/requireExplicitPolicy7subsubsubCARE2RE4Cert.crt",
+-      "pki/testdata/nist-pkits/crls/BadCRLIssuerNameCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/BadCRLSignatureCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/BadSignedCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/BadnotAfterDateCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/BadnotBeforeDateCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/BasicSelfIssuedCRLSigningKeyCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/BasicSelfIssuedCRLSigningKeyCRLCertCRL.crl",
+-      "pki/testdata/nist-pkits/crls/BasicSelfIssuedNewKeyCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/BasicSelfIssuedOldKeyCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/BasicSelfIssuedOldKeySelfIssuedCertCRL.crl",
+-      "pki/testdata/nist-pkits/crls/DSACACRL.crl",
+-      "pki/testdata/nist-pkits/crls/DSAParametersInheritedCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/GeneralizedTimeCRLnextUpdateCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/GoodCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/GoodsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/GoodsubCAPanyPolicyMapping1to2CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/LongSerialNumberCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/Mapping1to2CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/MappingFromanyPolicyCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/MappingToanyPolicyCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/MissingbasicConstraintsCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/NameOrderCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/NegativeSerialNumberCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/NoPoliciesCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/NoissuingDistributionPointCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/OldCRLnextUpdateCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/P12Mapping1to3CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/P12Mapping1to3subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/P12Mapping1to3subsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/P1Mapping1to234CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/P1Mapping1to234subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/P1anyPolicyMapping1to2CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/PanyPolicyMapping1to2CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP1234CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP1234subCAP123CRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP1234subsubCAP123P12CRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP123CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP123subCAP12CRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP123subsubCAP12P1CRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP123subsubCAP2P2CRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP123subsubsubCAP12P2P1CRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP12CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP12subCAP1CRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP12subsubCAP1P2CRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP2subCA2CRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP2subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/PoliciesP3CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/RFC3280MandatoryAttributeTypesCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/RFC3280OptionalAttributeTypesCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/RevokedsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/RolloverfromPrintableStringtoUTF8StringCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/SeparateCertificateandCRLKeysCA2CRL.crl",
+-      "pki/testdata/nist-pkits/crls/SeparateCertificateandCRLKeysCRL.crl",
+-      "pki/testdata/nist-pkits/crls/TrustAnchorRootCRL.crl",
+-      "pki/testdata/nist-pkits/crls/TwoCRLsCABadCRL.crl",
+-      "pki/testdata/nist-pkits/crls/TwoCRLsCAGoodCRL.crl",
+-      "pki/testdata/nist-pkits/crls/UIDCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/UTF8StringCaseInsensitiveMatchCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/UTF8StringEncodedNamesCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/UnknownCRLEntryExtensionCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/UnknownCRLExtensionCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/WrongCRLCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/anyPolicyCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/basicConstraintsCriticalcAFalseCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/basicConstraintsNotCriticalCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/basicConstraintsNotCriticalcAFalseCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/deltaCRLCA1CRL.crl",
+-      "pki/testdata/nist-pkits/crls/deltaCRLCA1deltaCRL.crl",
+-      "pki/testdata/nist-pkits/crls/deltaCRLCA2CRL.crl",
+-      "pki/testdata/nist-pkits/crls/deltaCRLCA2deltaCRL.crl",
+-      "pki/testdata/nist-pkits/crls/deltaCRLCA3CRL.crl",
+-      "pki/testdata/nist-pkits/crls/deltaCRLCA3deltaCRL.crl",
+-      "pki/testdata/nist-pkits/crls/deltaCRLIndicatorNoBaseCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/distributionPoint1CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/distributionPoint2CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/indirectCRLCA1CRL.crl",
+-      "pki/testdata/nist-pkits/crls/indirectCRLCA3CRL.crl",
+-      "pki/testdata/nist-pkits/crls/indirectCRLCA3cRLIssuerCRL.crl",
+-      "pki/testdata/nist-pkits/crls/indirectCRLCA4cRLIssuerCRL.crl",
+-      "pki/testdata/nist-pkits/crls/indirectCRLCA5CRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitAnyPolicy0CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitAnyPolicy1CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitAnyPolicy1subCA1CRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitAnyPolicy1subCA2CRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitAnyPolicy1subCAIAP5CRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitAnyPolicy1subsubCA2CRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitAnyPolicy5CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitAnyPolicy5subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitAnyPolicy5subsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping0CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping0subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P12CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P12subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P12subCAIPM5CRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P12subsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P12subsubCAIPM5CRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P1CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P1subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping1P1subsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping5CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping5subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping5subsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/inhibitPolicyMapping5subsubsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/keyUsageCriticalcRLSignFalseCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/keyUsageCriticalkeyCertSignFalseCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/keyUsageNotCriticalCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/keyUsageNotCriticalcRLSignFalseCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/keyUsageNotCriticalkeyCertSignFalseCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsDN1CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsDN1subCA1CRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsDN1subCA2CRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsDN1subCA3CRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsDN2CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsDN3CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsDN3subCA1CRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsDN3subCA2CRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsDN4CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsDN5CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsDNS1CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsDNS2CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsRFC822CA1CRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsRFC822CA2CRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsRFC822CA3CRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsURI1CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/nameConstraintsURI2CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/onlyContainsAttributeCertsCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/onlyContainsCACertsCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/onlyContainsUserCertsCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/onlySomeReasonsCA1compromiseCRL.crl",
+-      "pki/testdata/nist-pkits/crls/onlySomeReasonsCA1otherreasonsCRL.crl",
+-      "pki/testdata/nist-pkits/crls/onlySomeReasonsCA2CRL1.crl",
+-      "pki/testdata/nist-pkits/crls/onlySomeReasonsCA2CRL2.crl",
+-      "pki/testdata/nist-pkits/crls/onlySomeReasonsCA3compromiseCRL.crl",
+-      "pki/testdata/nist-pkits/crls/onlySomeReasonsCA3otherreasonsCRL.crl",
+-      "pki/testdata/nist-pkits/crls/onlySomeReasonsCA4compromiseCRL.crl",
+-      "pki/testdata/nist-pkits/crls/onlySomeReasonsCA4otherreasonsCRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint0CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint0subCA2CRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint0subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint1CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint1subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint6CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint6subCA0CRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint6subCA1CRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint6subCA4CRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint6subsubCA00CRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint6subsubCA11CRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint6subsubCA41CRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint6subsubsubCA11XCRL.crl",
+-      "pki/testdata/nist-pkits/crls/pathLenConstraint6subsubsubCA41XCRL.crl",
+-      "pki/testdata/nist-pkits/crls/pre2000CRLnextUpdateCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy0CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy0subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy0subsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy0subsubsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy10CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy10subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy10subsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy10subsubsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy2CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy2subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy4CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy4subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy4subsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy4subsubsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy5CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy5subCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy5subsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy5subsubsubCACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy7CACRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy7subCARE2CRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy7subsubCARE2RE4CRL.crl",
+-      "pki/testdata/nist-pkits/crls/requireExplicitPolicy7subsubsubCARE2RE4CRL.crl",
+-      "pki/testdata/ocsp_unittest/bad_ocsp_type.pem",
+-      "pki/testdata/ocsp_unittest/bad_signature.pem",
+-      "pki/testdata/ocsp_unittest/bad_status.pem",
+-      "pki/testdata/ocsp_unittest/good_response.pem",
+-      "pki/testdata/ocsp_unittest/good_response_next_update.pem",
+-      "pki/testdata/ocsp_unittest/good_response_sha256.pem",
+-      "pki/testdata/ocsp_unittest/has_critical_ct_extension.pem",
+-      "pki/testdata/ocsp_unittest/has_critical_response_extension.pem",
+-      "pki/testdata/ocsp_unittest/has_critical_single_extension.pem",
+-      "pki/testdata/ocsp_unittest/has_extension.pem",
+-      "pki/testdata/ocsp_unittest/has_single_extension.pem",
+-      "pki/testdata/ocsp_unittest/has_version.pem",
+-      "pki/testdata/ocsp_unittest/malformed_request.pem",
+-      "pki/testdata/ocsp_unittest/missing_response.pem",
+-      "pki/testdata/ocsp_unittest/multiple_response.pem",
+-      "pki/testdata/ocsp_unittest/no_response.pem",
+-      "pki/testdata/ocsp_unittest/ocsp_extra_certs.pem",
+-      "pki/testdata/ocsp_unittest/ocsp_sign_bad_indirect.pem",
+-      "pki/testdata/ocsp_unittest/ocsp_sign_direct.pem",
+-      "pki/testdata/ocsp_unittest/ocsp_sign_indirect.pem",
+-      "pki/testdata/ocsp_unittest/ocsp_sign_indirect_missing.pem",
+-      "pki/testdata/ocsp_unittest/other_response.pem",
+-      "pki/testdata/ocsp_unittest/responder_id.pem",
+-      "pki/testdata/ocsp_unittest/responder_name.pem",
+-      "pki/testdata/ocsp_unittest/revoke_response.pem",
+-      "pki/testdata/ocsp_unittest/revoke_response_reason.pem",
+-      "pki/testdata/ocsp_unittest/unknown_response.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/empty_sequence.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/extra_contents_after_extension_sequence.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/extra_contents_after_issuer_and_serial.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/invalid_contents.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/invalid_issuer.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/invalid_key_identifier.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/invalid_serial.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/issuer_and_serial.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/issuer_only.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/key_identifier.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/key_identifier_and_issuer_and_serial.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/serial_only.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier/url_issuer_and_serial.pem",
+-      "pki/testdata/parse_certificate_unittest/authority_key_identifier_not_sequence.pem",
+-      "pki/testdata/parse_certificate_unittest/bad_key_usage.pem",
+-      "pki/testdata/parse_certificate_unittest/bad_policy_qualifiers.pem",
+-      "pki/testdata/parse_certificate_unittest/bad_signature_algorithm_oid.pem",
+-      "pki/testdata/parse_certificate_unittest/bad_validity.pem",
+-      "pki/testdata/parse_certificate_unittest/basic_constraints_ca_false.pem",
+-      "pki/testdata/parse_certificate_unittest/basic_constraints_ca_no_path.pem",
+-      "pki/testdata/parse_certificate_unittest/basic_constraints_ca_path_9.pem",
+-      "pki/testdata/parse_certificate_unittest/basic_constraints_negative_path.pem",
+-      "pki/testdata/parse_certificate_unittest/basic_constraints_not_ca.pem",
+-      "pki/testdata/parse_certificate_unittest/basic_constraints_path_too_large.pem",
+-      "pki/testdata/parse_certificate_unittest/basic_constraints_pathlen_255.pem",
+-      "pki/testdata/parse_certificate_unittest/basic_constraints_pathlen_256.pem",
+-      "pki/testdata/parse_certificate_unittest/basic_constraints_pathlen_not_ca.pem",
+-      "pki/testdata/parse_certificate_unittest/basic_constraints_unconsumed_data.pem",
+-      "pki/testdata/parse_certificate_unittest/cert_algorithm_not_sequence.pem",
+-      "pki/testdata/parse_certificate_unittest/cert_data_after_signature.pem",
+-      "pki/testdata/parse_certificate_unittest/cert_empty_sequence.pem",
+-      "pki/testdata/parse_certificate_unittest/cert_missing_signature.pem",
+-      "pki/testdata/parse_certificate_unittest/cert_not_sequence.pem",
+-      "pki/testdata/parse_certificate_unittest/cert_signature_not_bit_string.pem",
+-      "pki/testdata/parse_certificate_unittest/cert_skeleton.pem",
+-      "pki/testdata/parse_certificate_unittest/cert_version3.pem",
+-      "pki/testdata/parse_certificate_unittest/crldp_1uri_noissuer.pem",
+-      "pki/testdata/parse_certificate_unittest/crldp_3uri_noissuer.pem",
+-      "pki/testdata/parse_certificate_unittest/crldp_full_name_as_dirname.pem",
+-      "pki/testdata/parse_certificate_unittest/crldp_issuer_as_dirname.pem",
+-      "pki/testdata/parse_certificate_unittest/extended_key_usage.pem",
+-      "pki/testdata/parse_certificate_unittest/extension_critical.pem",
+-      "pki/testdata/parse_certificate_unittest/extension_critical_0.pem",
+-      "pki/testdata/parse_certificate_unittest/extension_critical_3.pem",
+-      "pki/testdata/parse_certificate_unittest/extension_not_critical.pem",
+-      "pki/testdata/parse_certificate_unittest/extensions_data_after_sequence.pem",
+-      "pki/testdata/parse_certificate_unittest/extensions_duplicate_key_usage.pem",
+-      "pki/testdata/parse_certificate_unittest/extensions_empty_sequence.pem",
+-      "pki/testdata/parse_certificate_unittest/extensions_not_sequence.pem",
+-      "pki/testdata/parse_certificate_unittest/extensions_real.pem",
+-      "pki/testdata/parse_certificate_unittest/failed_signature_algorithm.pem",
+-      "pki/testdata/parse_certificate_unittest/inhibit_any_policy.pem",
+-      "pki/testdata/parse_certificate_unittest/issuer_bad_printable_string.pem",
+-      "pki/testdata/parse_certificate_unittest/key_usage.pem",
+-      "pki/testdata/parse_certificate_unittest/name_constraints_bad_ip.pem",
+-      "pki/testdata/parse_certificate_unittest/policies.pem",
+-      "pki/testdata/parse_certificate_unittest/policy_constraints_empty.pem",
+-      "pki/testdata/parse_certificate_unittest/policy_constraints_inhibit.pem",
+-      "pki/testdata/parse_certificate_unittest/policy_constraints_inhibit_require.pem",
+-      "pki/testdata/parse_certificate_unittest/policy_constraints_require.pem",
+-      "pki/testdata/parse_certificate_unittest/policy_qualifiers_empty_sequence.pem",
+-      "pki/testdata/parse_certificate_unittest/serial_37_bytes.pem",
+-      "pki/testdata/parse_certificate_unittest/serial_negative.pem",
+-      "pki/testdata/parse_certificate_unittest/serial_not_minimal.pem",
+-      "pki/testdata/parse_certificate_unittest/serial_not_number.pem",
+-      "pki/testdata/parse_certificate_unittest/serial_zero.pem",
+-      "pki/testdata/parse_certificate_unittest/serial_zero_padded.pem",
+-      "pki/testdata/parse_certificate_unittest/serial_zero_padded_21_bytes.pem",
+-      "pki/testdata/parse_certificate_unittest/signature_algorithm_null.pem",
+-      "pki/testdata/parse_certificate_unittest/subject_alt_name.pem",
+-      "pki/testdata/parse_certificate_unittest/subject_blank_subjectaltname_not_critical.pem",
+-      "pki/testdata/parse_certificate_unittest/subject_key_identifier_not_octet_string.pem",
+-      "pki/testdata/parse_certificate_unittest/subject_not_ascii.pem",
+-      "pki/testdata/parse_certificate_unittest/subject_not_printable_string.pem",
+-      "pki/testdata/parse_certificate_unittest/subject_printable_string_containing_utf8_client_cert.pem",
+-      "pki/testdata/parse_certificate_unittest/subject_t61string.pem",
+-      "pki/testdata/parse_certificate_unittest/subject_t61string_1-32.pem",
+-      "pki/testdata/parse_certificate_unittest/subject_t61string_126-160.pem",
+-      "pki/testdata/parse_certificate_unittest/subject_t61string_actual.pem",
+-      "pki/testdata/parse_certificate_unittest/subjectaltname_bad_ip.pem",
+-      "pki/testdata/parse_certificate_unittest/subjectaltname_dns_not_ascii.pem",
+-      "pki/testdata/parse_certificate_unittest/subjectaltname_general_names_empty_sequence.pem",
+-      "pki/testdata/parse_certificate_unittest/subjectaltname_trailing_data.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_explicit_v1.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v1.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v1_extensions.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v2_extensions.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v2_issuer_and_subject_unique_id.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v2_issuer_unique_id.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v2_no_optionals.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v3_all_optionals.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v3_data_after_extensions.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v3_extensions.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v3_extensions_not_sequence.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v3_no_optionals.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v3_real.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_v4.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_validity_both_generalized_time.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_validity_both_utc_time.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_validity_generalized_time_and_utc_time.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_validity_relaxed.pem",
+-      "pki/testdata/parse_certificate_unittest/tbs_validity_utc_time_and_generalized_time.pem",
+-      "pki/testdata/parse_certificate_unittest/v1_explicit_version.pem",
+-      "pki/testdata/path_builder_unittest/key_id_name_and_serial_prioritization/int_match_name_only.pem",
+-      "pki/testdata/path_builder_unittest/key_id_name_and_serial_prioritization/int_matching.pem",
+-      "pki/testdata/path_builder_unittest/key_id_name_and_serial_prioritization/int_mismatch.pem",
+-      "pki/testdata/path_builder_unittest/key_id_name_and_serial_prioritization/root.pem",
+-      "pki/testdata/path_builder_unittest/key_id_name_and_serial_prioritization/root2.pem",
+-      "pki/testdata/path_builder_unittest/key_id_name_and_serial_prioritization/target.pem",
+-      "pki/testdata/path_builder_unittest/key_id_prioritization/int_different_ski_a.pem",
+-      "pki/testdata/path_builder_unittest/key_id_prioritization/int_different_ski_b.pem",
+-      "pki/testdata/path_builder_unittest/key_id_prioritization/int_different_ski_c.pem",
+-      "pki/testdata/path_builder_unittest/key_id_prioritization/int_matching_ski_a.pem",
+-      "pki/testdata/path_builder_unittest/key_id_prioritization/int_matching_ski_b.pem",
+-      "pki/testdata/path_builder_unittest/key_id_prioritization/int_matching_ski_c.pem",
+-      "pki/testdata/path_builder_unittest/key_id_prioritization/int_no_ski_a.pem",
+-      "pki/testdata/path_builder_unittest/key_id_prioritization/int_no_ski_b.pem",
+-      "pki/testdata/path_builder_unittest/key_id_prioritization/int_no_ski_c.pem",
+-      "pki/testdata/path_builder_unittest/key_id_prioritization/root.pem",
+-      "pki/testdata/path_builder_unittest/key_id_prioritization/target.pem",
+-      "pki/testdata/path_builder_unittest/multi-root-A-by-B.pem",
+-      "pki/testdata/path_builder_unittest/multi-root-B-by-C.pem",
+-      "pki/testdata/path_builder_unittest/multi-root-B-by-F.pem",
+-      "pki/testdata/path_builder_unittest/multi-root-C-by-D.pem",
+-      "pki/testdata/path_builder_unittest/multi-root-C-by-E.pem",
+-      "pki/testdata/path_builder_unittest/multi-root-D-by-D.pem",
+-      "pki/testdata/path_builder_unittest/multi-root-E-by-E.pem",
+-      "pki/testdata/path_builder_unittest/multi-root-F-by-E.pem",
+-      "pki/testdata/path_builder_unittest/precertificate/precertificate.pem",
+-      "pki/testdata/path_builder_unittest/precertificate/root.pem",
+-      "pki/testdata/path_builder_unittest/self_issued_prioritization/root1.pem",
+-      "pki/testdata/path_builder_unittest/self_issued_prioritization/root1_cross.pem",
+-      "pki/testdata/path_builder_unittest/self_issued_prioritization/root2.pem",
+-      "pki/testdata/path_builder_unittest/self_issued_prioritization/target.pem",
+-      "pki/testdata/path_builder_unittest/validity_date_prioritization/int_ac.pem",
+-      "pki/testdata/path_builder_unittest/validity_date_prioritization/int_ad.pem",
+-      "pki/testdata/path_builder_unittest/validity_date_prioritization/int_bc.pem",
+-      "pki/testdata/path_builder_unittest/validity_date_prioritization/int_bd.pem",
+-      "pki/testdata/path_builder_unittest/validity_date_prioritization/root.pem",
+-      "pki/testdata/path_builder_unittest/validity_date_prioritization/target.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/basic-constraints-pathlen-0-self-issued/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/basic-constraints-pathlen-0-self-issued/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-intermediate/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-intermediate/not-after.test",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-intermediate/not-before.test",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-root/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-root/not-after-ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-root/not-after-ta-with-expiration-and-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-root/not-after-ta-with-expiration.test",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-root/not-after.test",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-root/not-before-ta-with-expiration.test",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-root/not-before.test",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-target/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-target/not-after.test",
+-      "pki/testdata/verify_certificate_chain_unittest/expired-target/not-before.test",
+-      "pki/testdata/verify_certificate_chain_unittest/incorrect-trust-anchor/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/incorrect-trust-anchor/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-and-target-wrong-signature/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-and-target-wrong-signature/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-basic-constraints-ca-false/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-basic-constraints-ca-false/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-basic-constraints-not-critical/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-basic-constraints-not-critical/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/any.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/clientauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/clientauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/serverauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-any-and-clientauth/serverauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/any.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/clientauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/clientauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/serverauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-clientauth/serverauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-eku-any.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-eku-clientAuth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-eku-clientAuth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-eku-serverAuth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha1-eku-serverAuth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-any.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-clientAuth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-clientAuth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-serverAuth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-eku-server-gated-crypto/sha256-eku-serverAuth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-basic-constraints/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-basic-constraints/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-signing-key-usage/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-lacks-signing-key-usage/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-signed-with-sha1/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-signed-with-sha1/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-unknown-critical-extension/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-unknown-critical-extension/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-unknown-non-critical-extension/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-unknown-non-critical-extension/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-wrong-signature-no-authority-key-identifier/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/intermediate-wrong-signature-no-authority-key-identifier/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/issuer-and-subject-not-byte-for-byte-equal/anchor.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/issuer-and-subject-not-byte-for-byte-equal/anchor.test",
+-      "pki/testdata/verify_certificate_chain_unittest/issuer-and-subject-not-byte-for-byte-equal/target.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/issuer-and-subject-not-byte-for-byte-equal/target.test",
+-      "pki/testdata/verify_certificate_chain_unittest/key-rollover/longrolloverchain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/key-rollover/longrolloverchain.test",
+-      "pki/testdata/verify_certificate_chain_unittest/key-rollover/newchain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/key-rollover/newchain.test",
+-      "pki/testdata/verify_certificate_chain_unittest/key-rollover/oldchain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/key-rollover/oldchain.test",
+-      "pki/testdata/verify_certificate_chain_unittest/key-rollover/rolloverchain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/key-rollover/rolloverchain.test",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/ok-all-types.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/ok-all-types.test",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-all-types.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-all-types.test",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dirnames-excluded.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dirnames-excluded.test",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dirnames-permitted.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dirnames-permitted.test",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dns-excluded.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dns-excluded.test",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dns-permitted.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-dns-permitted.test",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-ips-excluded.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-ips-excluded.test",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-ips-permitted.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/many-names/toomany-ips-permitted.test",
+-      "pki/testdata/verify_certificate_chain_unittest/non-self-signed-root/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/non-self-signed-root/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/non-self-signed-root/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.1.2.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.1.3.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.1.4.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.1.5.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.1.6.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.1.2.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.1.3.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.10.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.13.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.2.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.3.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.4.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.5.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.6.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.7.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.10.8.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.1.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.10.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.11.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.3.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.5.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.6.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.8.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.11.9.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.1.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.10.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.3.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.4.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.5.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.6.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.12.8.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.10.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.12.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.13.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.15.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.16.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.17.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.2.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.20.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.21.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.22.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.23.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.24.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.25.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.26.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.27.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.28.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.29.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.3.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.31.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.33.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.34.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.35.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.36.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.37.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.38.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.7.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.8.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.13.9.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.16.2.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.2.1.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.2.2.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.2.5.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.2.6.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.2.7.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.3.1.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.3.2.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.1.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.10.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.11.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.12.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.16.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.2.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.3.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.5.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.6.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.6.9.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.7.1.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.7.2.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.1.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.12.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.14.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.2.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.3.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.4.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.5.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.6.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.7.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.8.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.8.9.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.9.3.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.9.5.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.9.7.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/pkits_errors/4.9.8.txt",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-inhibit-anypolicy-by-root-fail/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-inhibit-anypolicy-by-root-fail/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-inhibit-anypolicy-by-root-fail/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-inhibit-anypolicy-by-root-ok/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-inhibit-anypolicy-by-root-ok/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-inhibit-anypolicy-by-root-ok/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-inhibit-mapping-by-root-fail/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-inhibit-mapping-by-root-fail/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-inhibit-mapping-by-root-fail/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-inhibit-mapping-by-root-ok/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-inhibit-mapping-by-root-ok/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-inhibit-mapping-by-root-ok/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-ok/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-ok/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-ok/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-on-root-ok/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-on-root-ok/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-on-root-ok/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-on-root-wrong/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-on-root-wrong/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-on-root-wrong/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-required-by-root-fail/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-required-by-root-fail/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-required-by-root-fail/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-required-by-root-ok/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-required-by-root-ok/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policies-required-by-root-ok/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policy-mappings-on-root-fail/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/policy-mappings-on-root-fail/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policy-mappings-on-root-fail/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policy-mappings-on-root-ok/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/policy-mappings-on-root-ok/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/policy-mappings-on-root-ok/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-basic-constraints-ca-false/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/root-basic-constraints-ca-false/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-basic-constraints-ca-false/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/serverauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/serverauth-ta-with-constraints-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/serverauth-ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/serverauth-ta-with-expiration-and-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/serverauth-ta-with-expiration.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-eku-clientauth/serverauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-lacks-basic-constraints/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/root-lacks-basic-constraints/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-lacks-basic-constraints/ta-with-constraints-require-basic-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-lacks-basic-constraints/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-lacks-basic-constraints/ta-with-require-basic-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-lacks-keycertsign-key-usage/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/root-lacks-keycertsign-key-usage/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/root-lacks-keycertsign-key-usage/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/distrusted-root-expired.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/distrusted-root.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/ta-with-constraints.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/ta-with-expiration.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/trusted_leaf-and-trust_anchor.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/trusted_leaf-root.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-and-intermediate/unspecified-trust-root.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-any/any.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-any/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-any/clientauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-any/clientauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-any/serverauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-any/serverauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/any.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/clientauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/clientauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/serverauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-clientauth/serverauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-many/any.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-many/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-many/clientauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-many/clientauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-many/serverauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-many/serverauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-none/any.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-none/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-none/clientauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-none/clientauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-none/serverauth-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-eku-none/serverauth.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-has-512bit-rsa-key/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-has-512bit-rsa-key/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-has-ca-basic-constraints/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-has-ca-basic-constraints/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-has-ca-basic-constraints/strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-has-ca-basic-constraints/target_only-trusted_leaf-strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-has-ca-basic-constraints/target_only-trusted_leaf.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-has-ca-basic-constraints/target_only.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-has-keycertsign-but-not-ca/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-has-keycertsign-but-not-ca/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-has-pathlen-but-not-ca/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-has-pathlen-but-not-ca/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-msapplicationpolicies-and-eku/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-msapplicationpolicies-and-eku/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-msapplicationpolicies-no-eku/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-msapplicationpolicies-no-eku/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-not-end-entity/strict.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-only/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-only/trusted_anchor.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-only/trusted_leaf-and-trust_anchor.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-only/trusted_leaf-not_after.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-only/trusted_leaf-wrong_eku.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-only/trusted_leaf.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-only/trusted_leaf_require_self_signed.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-selfissued/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-selfissued/trusted_anchor.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-selfissued/trusted_leaf-and-trust_anchor.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-selfissued/trusted_leaf.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-selfissued/trusted_leaf_require_self_signed.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-selfsigned/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-selfsigned/trusted_leaf-and-trust_anchor.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-selfsigned/trusted_leaf-not_after.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-selfsigned/trusted_leaf-wrong_eku.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-selfsigned/trusted_leaf.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-selfsigned/trusted_leaf_require_self_signed.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-decipherOnly.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-decipherOnly.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-digitalSignature.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-digitalSignature.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-keyAgreement.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-keyAgreement.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-keyEncipherment.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/ec-keyEncipherment.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-decipherOnly.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-decipherOnly.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-digitalSignature.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-digitalSignature.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-keyAgreement.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-keyAgreement.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-keyEncipherment.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-serverauth-various-keyusages/rsa-keyEncipherment.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-signed-by-512bit-rsa/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-signed-by-512bit-rsa/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-signed-using-ecdsa/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-signed-using-ecdsa/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-signed-with-sha1/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-signed-with-sha1/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-unknown-critical-extension/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-unknown-critical-extension/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-unknown-critical-extension/target_only-trusted_leaf.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-unknown-critical-extension/target_only.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-wrong-signature-no-authority-key-identifier/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-wrong-signature-no-authority-key-identifier/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/target-wrong-signature/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/target-wrong-signature/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/unknown-critical-policy-qualifier/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/unknown-critical-policy-qualifier/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/unknown-non-critical-policy-qualifier/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/unknown-non-critical-policy-qualifier/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/violates-basic-constraints-pathlen-0/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/violates-basic-constraints-pathlen-0/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/violates-pathlen-1-from-root/chain.pem",
+-      "pki/testdata/verify_certificate_chain_unittest/violates-pathlen-1-from-root/main.test",
+-      "pki/testdata/verify_certificate_chain_unittest/violates-pathlen-1-from-root/ta-with-constraints.test",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-case_swap-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-case_swap-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-case_swap-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-case_swap.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-extra_whitespace-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-extra_whitespace-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-extra_whitespace-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-extra_whitespace.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-unmangled-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-unmangled-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-unmangled-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-BMPSTRING-unmangled.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-case_swap-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-case_swap-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-case_swap-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-case_swap.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-extra_whitespace-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-extra_whitespace-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-extra_whitespace-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-extra_whitespace.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-rdn_sorting_1.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-rdn_sorting_2.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-unmangled-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-unmangled-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-unmangled-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-PRINTABLESTRING-unmangled.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-case_swap-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-case_swap-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-case_swap-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-case_swap.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-extra_whitespace-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-extra_whitespace-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-extra_whitespace-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-extra_whitespace.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-unmangled-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-unmangled-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-unmangled-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-T61STRING-unmangled.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-case_swap-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-case_swap-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-case_swap-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-case_swap.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-extra_whitespace-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-extra_whitespace-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-extra_whitespace-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-extra_whitespace.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-unmangled-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-unmangled-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-unmangled-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UNIVERSALSTRING-unmangled.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UTF8-case_swap-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UTF8-case_swap-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UTF8-case_swap-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UTF8-case_swap.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UTF8-extra_whitespace-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UTF8-extra_whitespace-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UTF8-extra_whitespace-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UTF8-extra_whitespace.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UTF8-unmangled-dupe_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UTF8-unmangled-extra_attr.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UTF8-unmangled-extra_rdn.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-UTF8-unmangled.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-mixed-rdn_dupetype_sorting_1.pem",
+-      "pki/testdata/verify_name_match_unittest/names/ascii-mixed-rdn_dupetype_sorting_2.pem",
+-      "pki/testdata/verify_name_match_unittest/names/custom-custom-normalized.pem",
+-      "pki/testdata/verify_name_match_unittest/names/invalid-AttributeTypeAndValue-badAttributeType.pem",
+-      "pki/testdata/verify_name_match_unittest/names/invalid-AttributeTypeAndValue-empty.pem",
+-      "pki/testdata/verify_name_match_unittest/names/invalid-AttributeTypeAndValue-extradata.pem",
+-      "pki/testdata/verify_name_match_unittest/names/invalid-AttributeTypeAndValue-onlyOneElement.pem",
+-      "pki/testdata/verify_name_match_unittest/names/invalid-AttributeTypeAndValue-setNotSequence.pem",
+-      "pki/testdata/verify_name_match_unittest/names/invalid-Name-setInsteadOfSequence.pem",
+-      "pki/testdata/verify_name_match_unittest/names/invalid-RDN-empty.pem",
+-      "pki/testdata/verify_name_match_unittest/names/invalid-RDN-sequenceInsteadOfSet.pem",
+-      "pki/testdata/verify_name_match_unittest/names/unicode-mixed-normalized.pem",
+-      "pki/testdata/verify_name_match_unittest/names/unicode-mixed-unnormalized.pem",
+-      "pki/testdata/verify_name_match_unittest/names/unicode_bmp-BMPSTRING-unmangled.pem",
+-      "pki/testdata/verify_name_match_unittest/names/unicode_bmp-UNIVERSALSTRING-unmangled.pem",
+-      "pki/testdata/verify_name_match_unittest/names/unicode_bmp-UTF8-unmangled.pem",
+-      "pki/testdata/verify_name_match_unittest/names/unicode_supplementary-UNIVERSALSTRING-unmangled.pem",
+-      "pki/testdata/verify_name_match_unittest/names/unicode_supplementary-UTF8-unmangled.pem",
+-      "pki/testdata/verify_name_match_unittest/names/valid-Name-empty.pem",
+-      "pki/testdata/verify_name_match_unittest/names/valid-minimal.pem",
+-      "pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512-spki-params-null.pem",
+-      "pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512-unused-bits-signature.pem",
+-      "pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512-using-ecdh-key.pem",
+-      "pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512-using-ecmqv-key.pem",
+-      "pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512-using-rsa-algorithm.pem",
+-      "pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512-wrong-signature-format.pem",
+-      "pki/testdata/verify_signed_data_unittest/ecdsa-prime256v1-sha512.pem",
+-      "pki/testdata/verify_signed_data_unittest/ecdsa-secp384r1-sha256-corrupted-data.pem",
+-      "pki/testdata/verify_signed_data_unittest/ecdsa-secp384r1-sha256.pem",
+-      "pki/testdata/verify_signed_data_unittest/ecdsa-using-rsa-key.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha1-bad-key-der-length.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha1-bad-key-der-null.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha1-key-params-absent.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha1-using-pss-key-no-params.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha1-wrong-algorithm.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha1.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha256-key-encoded-ber.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha256-spki-non-null-params.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha256-using-ecdsa-algorithm.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha256-using-id-ea-rsa.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pkcs1-sha256.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pss-sha256-using-pss-key-with-params.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pss-sha256-wrong-salt.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-pss-sha256.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa-using-ec-key.pem",
+-      "pki/testdata/verify_signed_data_unittest/rsa2048-pkcs1-sha512.pem",
+       "pki/testdata/verify_unittest/google-leaf.der",
+       "pki/testdata/verify_unittest/self-issued.pem"
+     ]
+@@ -2615,6 +1192,7 @@
+       "gen/test_support/trampoline-armv8-apple.S",
+       "gen/test_support/trampoline-armv8-linux.S",
+       "gen/test_support/trampoline-armv8-win.S",
++      "gen/test_support/trampoline-ppc-linux.S",
+       "gen/test_support/trampoline-x86-apple.S",
+       "gen/test_support/trampoline-x86-linux.S",
+       "gen/test_support/trampoline-x86_64-apple.S",
+diff -urN chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/test_support/trampoline-ppc-linux.S chromium-125.0.6422.41/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
+--- chromium-125.0.6422.41/third_party/boringssl/src/gen.orig/test_support/trampoline-ppc-linux.S	1970-01-01 00:00:00.000000000 +0000
++++ chromium-125.0.6422.41/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S	2024-05-14 17:55:16.090263221 +0000
+@@ -0,0 +1,1413 @@
++// This file is generated from a similarly-named Perl script in the BoringSSL
++// source tree. Do not edit by hand.
++
++#if defined(__has_feature)
++#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
++#define OPENSSL_NO_ASM
++#endif
++#endif
++
++#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) && defined(__ELF__)
++.machine	"any"
++.abiversion	2
++.text
++
++
++
++
++
++
++
++.globl	abi_test_trampoline
++.type	abi_test_trampoline,@function
++.align	5
++abi_test_trampoline:
++.localentry	abi_test_trampoline,0
++
++
++	mflr	0
++	std	0, 16(1)
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++	stdu	1, -528(1)
++
++	mfcr	0
++	std	0, 8(1)
++	std	2, 24(1)
++	std	4, 32(1)
++	li	11, 48
++	stvx	20, 11, 1
++	li	11, 64
++	stvx	21, 11, 1
++	li	11, 80
++	stvx	22, 11, 1
++	li	11, 96
++	stvx	23, 11, 1
++	li	11, 112
++	stvx	24, 11, 1
++	li	11, 128
++	stvx	25, 11, 1
++	li	11, 144
++	stvx	26, 11, 1
++	li	11, 160
++	stvx	27, 11, 1
++	li	11, 176
++	stvx	28, 11, 1
++	li	11, 192
++	stvx	29, 11, 1
++	li	11, 208
++	stvx	30, 11, 1
++	li	11, 224
++	stvx	31, 11, 1
++	std	14, 240(1)
++	std	15, 248(1)
++	std	16, 256(1)
++	std	17, 264(1)
++	std	18, 272(1)
++	std	19, 280(1)
++	std	20, 288(1)
++	std	21, 296(1)
++	std	22, 304(1)
++	std	23, 312(1)
++	std	24, 320(1)
++	std	25, 328(1)
++	std	26, 336(1)
++	std	27, 344(1)
++	std	28, 352(1)
++	std	29, 360(1)
++	std	30, 368(1)
++	std	31, 376(1)
++	stfd	14, 384(1)
++	stfd	15, 392(1)
++	stfd	16, 400(1)
++	stfd	17, 408(1)
++	stfd	18, 416(1)
++	stfd	19, 424(1)
++	stfd	20, 432(1)
++	stfd	21, 440(1)
++	stfd	22, 448(1)
++	stfd	23, 456(1)
++	stfd	24, 464(1)
++	stfd	25, 472(1)
++	stfd	26, 480(1)
++	stfd	27, 488(1)
++	stfd	28, 496(1)
++	stfd	29, 504(1)
++	stfd	30, 512(1)
++	stfd	31, 520(1)
++	li	11, 0
++	lvx	20, 11, 4
++	li	11, 16
++	lvx	21, 11, 4
++	li	11, 32
++	lvx	22, 11, 4
++	li	11, 48
++	lvx	23, 11, 4
++	li	11, 64
++	lvx	24, 11, 4
++	li	11, 80
++	lvx	25, 11, 4
++	li	11, 96
++	lvx	26, 11, 4
++	li	11, 112
++	lvx	27, 11, 4
++	li	11, 128
++	lvx	28, 11, 4
++	li	11, 144
++	lvx	29, 11, 4
++	li	11, 160
++	lvx	30, 11, 4
++	li	11, 176
++	lvx	31, 11, 4
++	ld	14, 192(4)
++	ld	15, 200(4)
++	ld	16, 208(4)
++	ld	17, 216(4)
++	ld	18, 224(4)
++	ld	19, 232(4)
++	ld	20, 240(4)
++	ld	21, 248(4)
++	ld	22, 256(4)
++	ld	23, 264(4)
++	ld	24, 272(4)
++	ld	25, 280(4)
++	ld	26, 288(4)
++	ld	27, 296(4)
++	ld	28, 304(4)
++	ld	29, 312(4)
++	ld	30, 320(4)
++	ld	31, 328(4)
++	lfd	14, 336(4)
++	lfd	15, 344(4)
++	lfd	16, 352(4)
++	lfd	17, 360(4)
++	lfd	18, 368(4)
++	lfd	19, 376(4)
++	lfd	20, 384(4)
++	lfd	21, 392(4)
++	lfd	22, 400(4)
++	lfd	23, 408(4)
++	lfd	24, 416(4)
++	lfd	25, 424(4)
++	lfd	26, 432(4)
++	lfd	27, 440(4)
++	lfd	28, 448(4)
++	lfd	29, 456(4)
++	lfd	30, 464(4)
++	lfd	31, 472(4)
++
++	ld	0, 480(4)
++	mtcr	0
++
++
++	addi	11, 5, -8
++	mr	12, 3
++
++
++	cmpdi	6, 0
++	beq	.Largs_done
++	mtctr	6
++	ldu	3, 8(11)
++	bdz	.Largs_done
++	ldu	4, 8(11)
++	bdz	.Largs_done
++	ldu	5, 8(11)
++	bdz	.Largs_done
++	ldu	6, 8(11)
++	bdz	.Largs_done
++	ldu	7, 8(11)
++	bdz	.Largs_done
++	ldu	8, 8(11)
++	bdz	.Largs_done
++	ldu	9, 8(11)
++	bdz	.Largs_done
++	ldu	10, 8(11)
++
++.Largs_done:
++	li	2, 0
++	mtctr	12
++	bctrl	
++	ld	2, 24(1)
++
++	ld	4, 32(1)
++	li	11, 0
++	stvx	20, 11, 4
++	li	11, 16
++	stvx	21, 11, 4
++	li	11, 32
++	stvx	22, 11, 4
++	li	11, 48
++	stvx	23, 11, 4
++	li	11, 64
++	stvx	24, 11, 4
++	li	11, 80
++	stvx	25, 11, 4
++	li	11, 96
++	stvx	26, 11, 4
++	li	11, 112
++	stvx	27, 11, 4
++	li	11, 128
++	stvx	28, 11, 4
++	li	11, 144
++	stvx	29, 11, 4
++	li	11, 160
++	stvx	30, 11, 4
++	li	11, 176
++	stvx	31, 11, 4
++	std	14, 192(4)
++	std	15, 200(4)
++	std	16, 208(4)
++	std	17, 216(4)
++	std	18, 224(4)
++	std	19, 232(4)
++	std	20, 240(4)
++	std	21, 248(4)
++	std	22, 256(4)
++	std	23, 264(4)
++	std	24, 272(4)
++	std	25, 280(4)
++	std	26, 288(4)
++	std	27, 296(4)
++	std	28, 304(4)
++	std	29, 312(4)
++	std	30, 320(4)
++	std	31, 328(4)
++	stfd	14, 336(4)
++	stfd	15, 344(4)
++	stfd	16, 352(4)
++	stfd	17, 360(4)
++	stfd	18, 368(4)
++	stfd	19, 376(4)
++	stfd	20, 384(4)
++	stfd	21, 392(4)
++	stfd	22, 400(4)
++	stfd	23, 408(4)
++	stfd	24, 416(4)
++	stfd	25, 424(4)
++	stfd	26, 432(4)
++	stfd	27, 440(4)
++	stfd	28, 448(4)
++	stfd	29, 456(4)
++	stfd	30, 464(4)
++	stfd	31, 472(4)
++	li	11, 48
++	lvx	20, 11, 1
++	li	11, 64
++	lvx	21, 11, 1
++	li	11, 80
++	lvx	22, 11, 1
++	li	11, 96
++	lvx	23, 11, 1
++	li	11, 112
++	lvx	24, 11, 1
++	li	11, 128
++	lvx	25, 11, 1
++	li	11, 144
++	lvx	26, 11, 1
++	li	11, 160
++	lvx	27, 11, 1
++	li	11, 176
++	lvx	28, 11, 1
++	li	11, 192
++	lvx	29, 11, 1
++	li	11, 208
++	lvx	30, 11, 1
++	li	11, 224
++	lvx	31, 11, 1
++	ld	14, 240(1)
++	ld	15, 248(1)
++	ld	16, 256(1)
++	ld	17, 264(1)
++	ld	18, 272(1)
++	ld	19, 280(1)
++	ld	20, 288(1)
++	ld	21, 296(1)
++	ld	22, 304(1)
++	ld	23, 312(1)
++	ld	24, 320(1)
++	ld	25, 328(1)
++	ld	26, 336(1)
++	ld	27, 344(1)
++	ld	28, 352(1)
++	ld	29, 360(1)
++	ld	30, 368(1)
++	ld	31, 376(1)
++	lfd	14, 384(1)
++	lfd	15, 392(1)
++	lfd	16, 400(1)
++	lfd	17, 408(1)
++	lfd	18, 416(1)
++	lfd	19, 424(1)
++	lfd	20, 432(1)
++	lfd	21, 440(1)
++	lfd	22, 448(1)
++	lfd	23, 456(1)
++	lfd	24, 464(1)
++	lfd	25, 472(1)
++	lfd	26, 480(1)
++	lfd	27, 488(1)
++	lfd	28, 496(1)
++	lfd	29, 504(1)
++	lfd	30, 512(1)
++	lfd	31, 520(1)
++	mfcr	0
++	std	0, 480(4)
++	ld	0, 8(1)
++	mtcrf	0b00111000, 0
++	addi	1, 1, 528
++	ld	0, 16(1)
++	mtlr	0
++	blr	
++.size	abi_test_trampoline,.-abi_test_trampoline
++.globl	abi_test_clobber_r0
++.type	abi_test_clobber_r0,@function
++.align	5
++abi_test_clobber_r0:
++.localentry	abi_test_clobber_r0,0
++
++	li	0, 0
++	blr	
++.size	abi_test_clobber_r0,.-abi_test_clobber_r0
++.globl	abi_test_clobber_r2
++.type	abi_test_clobber_r2,@function
++.align	5
++abi_test_clobber_r2:
++.localentry	abi_test_clobber_r2,0
++
++	li	2, 0
++	blr	
++.size	abi_test_clobber_r2,.-abi_test_clobber_r2
++.globl	abi_test_clobber_r3
++.type	abi_test_clobber_r3,@function
++.align	5
++abi_test_clobber_r3:
++.localentry	abi_test_clobber_r3,0
++
++	li	3, 0
++	blr	
++.size	abi_test_clobber_r3,.-abi_test_clobber_r3
++.globl	abi_test_clobber_r4
++.type	abi_test_clobber_r4,@function
++.align	5
++abi_test_clobber_r4:
++.localentry	abi_test_clobber_r4,0
++
++	li	4, 0
++	blr	
++.size	abi_test_clobber_r4,.-abi_test_clobber_r4
++.globl	abi_test_clobber_r5
++.type	abi_test_clobber_r5,@function
++.align	5
++abi_test_clobber_r5:
++.localentry	abi_test_clobber_r5,0
++
++	li	5, 0
++	blr	
++.size	abi_test_clobber_r5,.-abi_test_clobber_r5
++.globl	abi_test_clobber_r6
++.type	abi_test_clobber_r6,@function
++.align	5
++abi_test_clobber_r6:
++.localentry	abi_test_clobber_r6,0
++
++	li	6, 0
++	blr	
++.size	abi_test_clobber_r6,.-abi_test_clobber_r6
++.globl	abi_test_clobber_r7
++.type	abi_test_clobber_r7,@function
++.align	5
++abi_test_clobber_r7:
++.localentry	abi_test_clobber_r7,0
++
++	li	7, 0
++	blr	
++.size	abi_test_clobber_r7,.-abi_test_clobber_r7
++.globl	abi_test_clobber_r8
++.type	abi_test_clobber_r8,@function
++.align	5
++abi_test_clobber_r8:
++.localentry	abi_test_clobber_r8,0
++
++	li	8, 0
++	blr	
++.size	abi_test_clobber_r8,.-abi_test_clobber_r8
++.globl	abi_test_clobber_r9
++.type	abi_test_clobber_r9,@function
++.align	5
++abi_test_clobber_r9:
++.localentry	abi_test_clobber_r9,0
++
++	li	9, 0
++	blr	
++.size	abi_test_clobber_r9,.-abi_test_clobber_r9
++.globl	abi_test_clobber_r10
++.type	abi_test_clobber_r10,@function
++.align	5
++abi_test_clobber_r10:
++.localentry	abi_test_clobber_r10,0
++
++	li	10, 0
++	blr	
++.size	abi_test_clobber_r10,.-abi_test_clobber_r10
++.globl	abi_test_clobber_r11
++.type	abi_test_clobber_r11,@function
++.align	5
++abi_test_clobber_r11:
++.localentry	abi_test_clobber_r11,0
++
++	li	11, 0
++	blr	
++.size	abi_test_clobber_r11,.-abi_test_clobber_r11
++.globl	abi_test_clobber_r12
++.type	abi_test_clobber_r12,@function
++.align	5
++abi_test_clobber_r12:
++.localentry	abi_test_clobber_r12,0
++
++	li	12, 0
++	blr	
++.size	abi_test_clobber_r12,.-abi_test_clobber_r12
++.globl	abi_test_clobber_r14
++.type	abi_test_clobber_r14,@function
++.align	5
++abi_test_clobber_r14:
++.localentry	abi_test_clobber_r14,0
++
++	li	14, 0
++	blr	
++.size	abi_test_clobber_r14,.-abi_test_clobber_r14
++.globl	abi_test_clobber_r15
++.type	abi_test_clobber_r15,@function
++.align	5
++abi_test_clobber_r15:
++.localentry	abi_test_clobber_r15,0
++
++	li	15, 0
++	blr	
++.size	abi_test_clobber_r15,.-abi_test_clobber_r15
++.globl	abi_test_clobber_r16
++.type	abi_test_clobber_r16,@function
++.align	5
++abi_test_clobber_r16:
++.localentry	abi_test_clobber_r16,0
++
++	li	16, 0
++	blr	
++.size	abi_test_clobber_r16,.-abi_test_clobber_r16
++.globl	abi_test_clobber_r17
++.type	abi_test_clobber_r17,@function
++.align	5
++abi_test_clobber_r17:
++.localentry	abi_test_clobber_r17,0
++
++	li	17, 0
++	blr	
++.size	abi_test_clobber_r17,.-abi_test_clobber_r17
++.globl	abi_test_clobber_r18
++.type	abi_test_clobber_r18,@function
++.align	5
++abi_test_clobber_r18:
++.localentry	abi_test_clobber_r18,0
++
++	li	18, 0
++	blr	
++.size	abi_test_clobber_r18,.-abi_test_clobber_r18
++.globl	abi_test_clobber_r19
++.type	abi_test_clobber_r19,@function
++.align	5
++abi_test_clobber_r19:
++.localentry	abi_test_clobber_r19,0
++
++	li	19, 0
++	blr	
++.size	abi_test_clobber_r19,.-abi_test_clobber_r19
++.globl	abi_test_clobber_r20
++.type	abi_test_clobber_r20,@function
++.align	5
++abi_test_clobber_r20:
++.localentry	abi_test_clobber_r20,0
++
++	li	20, 0
++	blr	
++.size	abi_test_clobber_r20,.-abi_test_clobber_r20
++.globl	abi_test_clobber_r21
++.type	abi_test_clobber_r21,@function
++.align	5
++abi_test_clobber_r21:
++.localentry	abi_test_clobber_r21,0
++
++	li	21, 0
++	blr	
++.size	abi_test_clobber_r21,.-abi_test_clobber_r21
++.globl	abi_test_clobber_r22
++.type	abi_test_clobber_r22,@function
++.align	5
++abi_test_clobber_r22:
++.localentry	abi_test_clobber_r22,0
++
++	li	22, 0
++	blr	
++.size	abi_test_clobber_r22,.-abi_test_clobber_r22
++.globl	abi_test_clobber_r23
++.type	abi_test_clobber_r23,@function
++.align	5
++abi_test_clobber_r23:
++.localentry	abi_test_clobber_r23,0
++
++	li	23, 0
++	blr	
++.size	abi_test_clobber_r23,.-abi_test_clobber_r23
++.globl	abi_test_clobber_r24
++.type	abi_test_clobber_r24,@function
++.align	5
++abi_test_clobber_r24:
++.localentry	abi_test_clobber_r24,0
++
++	li	24, 0
++	blr	
++.size	abi_test_clobber_r24,.-abi_test_clobber_r24
++.globl	abi_test_clobber_r25
++.type	abi_test_clobber_r25,@function
++.align	5
++abi_test_clobber_r25:
++.localentry	abi_test_clobber_r25,0
++
++	li	25, 0
++	blr	
++.size	abi_test_clobber_r25,.-abi_test_clobber_r25
++.globl	abi_test_clobber_r26
++.type	abi_test_clobber_r26,@function
++.align	5
++abi_test_clobber_r26:
++.localentry	abi_test_clobber_r26,0
++
++	li	26, 0
++	blr	
++.size	abi_test_clobber_r26,.-abi_test_clobber_r26
++.globl	abi_test_clobber_r27
++.type	abi_test_clobber_r27,@function
++.align	5
++abi_test_clobber_r27:
++.localentry	abi_test_clobber_r27,0
++
++	li	27, 0
++	blr	
++.size	abi_test_clobber_r27,.-abi_test_clobber_r27
++.globl	abi_test_clobber_r28
++.type	abi_test_clobber_r28,@function
++.align	5
++abi_test_clobber_r28:
++.localentry	abi_test_clobber_r28,0
++
++	li	28, 0
++	blr	
++.size	abi_test_clobber_r28,.-abi_test_clobber_r28
++.globl	abi_test_clobber_r29
++.type	abi_test_clobber_r29,@function
++.align	5
++abi_test_clobber_r29:
++.localentry	abi_test_clobber_r29,0
++
++	li	29, 0
++	blr	
++.size	abi_test_clobber_r29,.-abi_test_clobber_r29
++.globl	abi_test_clobber_r30
++.type	abi_test_clobber_r30,@function
++.align	5
++abi_test_clobber_r30:
++.localentry	abi_test_clobber_r30,0
++
++	li	30, 0
++	blr	
++.size	abi_test_clobber_r30,.-abi_test_clobber_r30
++.globl	abi_test_clobber_r31
++.type	abi_test_clobber_r31,@function
++.align	5
++abi_test_clobber_r31:
++.localentry	abi_test_clobber_r31,0
++
++	li	31, 0
++	blr	
++.size	abi_test_clobber_r31,.-abi_test_clobber_r31
++.globl	abi_test_clobber_f0
++.type	abi_test_clobber_f0,@function
++.align	4
++abi_test_clobber_f0:
++.localentry	abi_test_clobber_f0,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	0, -8(1)
++	blr	
++.size	abi_test_clobber_f0,.-abi_test_clobber_f0
++.globl	abi_test_clobber_f1
++.type	abi_test_clobber_f1,@function
++.align	4
++abi_test_clobber_f1:
++.localentry	abi_test_clobber_f1,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	1, -8(1)
++	blr	
++.size	abi_test_clobber_f1,.-abi_test_clobber_f1
++.globl	abi_test_clobber_f2
++.type	abi_test_clobber_f2,@function
++.align	4
++abi_test_clobber_f2:
++.localentry	abi_test_clobber_f2,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	2, -8(1)
++	blr	
++.size	abi_test_clobber_f2,.-abi_test_clobber_f2
++.globl	abi_test_clobber_f3
++.type	abi_test_clobber_f3,@function
++.align	4
++abi_test_clobber_f3:
++.localentry	abi_test_clobber_f3,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	3, -8(1)
++	blr	
++.size	abi_test_clobber_f3,.-abi_test_clobber_f3
++.globl	abi_test_clobber_f4
++.type	abi_test_clobber_f4,@function
++.align	4
++abi_test_clobber_f4:
++.localentry	abi_test_clobber_f4,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	4, -8(1)
++	blr	
++.size	abi_test_clobber_f4,.-abi_test_clobber_f4
++.globl	abi_test_clobber_f5
++.type	abi_test_clobber_f5,@function
++.align	4
++abi_test_clobber_f5:
++.localentry	abi_test_clobber_f5,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	5, -8(1)
++	blr	
++.size	abi_test_clobber_f5,.-abi_test_clobber_f5
++.globl	abi_test_clobber_f6
++.type	abi_test_clobber_f6,@function
++.align	4
++abi_test_clobber_f6:
++.localentry	abi_test_clobber_f6,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	6, -8(1)
++	blr	
++.size	abi_test_clobber_f6,.-abi_test_clobber_f6
++.globl	abi_test_clobber_f7
++.type	abi_test_clobber_f7,@function
++.align	4
++abi_test_clobber_f7:
++.localentry	abi_test_clobber_f7,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	7, -8(1)
++	blr	
++.size	abi_test_clobber_f7,.-abi_test_clobber_f7
++.globl	abi_test_clobber_f8
++.type	abi_test_clobber_f8,@function
++.align	4
++abi_test_clobber_f8:
++.localentry	abi_test_clobber_f8,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	8, -8(1)
++	blr	
++.size	abi_test_clobber_f8,.-abi_test_clobber_f8
++.globl	abi_test_clobber_f9
++.type	abi_test_clobber_f9,@function
++.align	4
++abi_test_clobber_f9:
++.localentry	abi_test_clobber_f9,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	9, -8(1)
++	blr	
++.size	abi_test_clobber_f9,.-abi_test_clobber_f9
++.globl	abi_test_clobber_f10
++.type	abi_test_clobber_f10,@function
++.align	4
++abi_test_clobber_f10:
++.localentry	abi_test_clobber_f10,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	10, -8(1)
++	blr	
++.size	abi_test_clobber_f10,.-abi_test_clobber_f10
++.globl	abi_test_clobber_f11
++.type	abi_test_clobber_f11,@function
++.align	4
++abi_test_clobber_f11:
++.localentry	abi_test_clobber_f11,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	11, -8(1)
++	blr	
++.size	abi_test_clobber_f11,.-abi_test_clobber_f11
++.globl	abi_test_clobber_f12
++.type	abi_test_clobber_f12,@function
++.align	4
++abi_test_clobber_f12:
++.localentry	abi_test_clobber_f12,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	12, -8(1)
++	blr	
++.size	abi_test_clobber_f12,.-abi_test_clobber_f12
++.globl	abi_test_clobber_f13
++.type	abi_test_clobber_f13,@function
++.align	4
++abi_test_clobber_f13:
++.localentry	abi_test_clobber_f13,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	13, -8(1)
++	blr	
++.size	abi_test_clobber_f13,.-abi_test_clobber_f13
++.globl	abi_test_clobber_f14
++.type	abi_test_clobber_f14,@function
++.align	4
++abi_test_clobber_f14:
++.localentry	abi_test_clobber_f14,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	14, -8(1)
++	blr	
++.size	abi_test_clobber_f14,.-abi_test_clobber_f14
++.globl	abi_test_clobber_f15
++.type	abi_test_clobber_f15,@function
++.align	4
++abi_test_clobber_f15:
++.localentry	abi_test_clobber_f15,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	15, -8(1)
++	blr	
++.size	abi_test_clobber_f15,.-abi_test_clobber_f15
++.globl	abi_test_clobber_f16
++.type	abi_test_clobber_f16,@function
++.align	4
++abi_test_clobber_f16:
++.localentry	abi_test_clobber_f16,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	16, -8(1)
++	blr	
++.size	abi_test_clobber_f16,.-abi_test_clobber_f16
++.globl	abi_test_clobber_f17
++.type	abi_test_clobber_f17,@function
++.align	4
++abi_test_clobber_f17:
++.localentry	abi_test_clobber_f17,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	17, -8(1)
++	blr	
++.size	abi_test_clobber_f17,.-abi_test_clobber_f17
++.globl	abi_test_clobber_f18
++.type	abi_test_clobber_f18,@function
++.align	4
++abi_test_clobber_f18:
++.localentry	abi_test_clobber_f18,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	18, -8(1)
++	blr	
++.size	abi_test_clobber_f18,.-abi_test_clobber_f18
++.globl	abi_test_clobber_f19
++.type	abi_test_clobber_f19,@function
++.align	4
++abi_test_clobber_f19:
++.localentry	abi_test_clobber_f19,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	19, -8(1)
++	blr	
++.size	abi_test_clobber_f19,.-abi_test_clobber_f19
++.globl	abi_test_clobber_f20
++.type	abi_test_clobber_f20,@function
++.align	4
++abi_test_clobber_f20:
++.localentry	abi_test_clobber_f20,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	20, -8(1)
++	blr	
++.size	abi_test_clobber_f20,.-abi_test_clobber_f20
++.globl	abi_test_clobber_f21
++.type	abi_test_clobber_f21,@function
++.align	4
++abi_test_clobber_f21:
++.localentry	abi_test_clobber_f21,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	21, -8(1)
++	blr	
++.size	abi_test_clobber_f21,.-abi_test_clobber_f21
++.globl	abi_test_clobber_f22
++.type	abi_test_clobber_f22,@function
++.align	4
++abi_test_clobber_f22:
++.localentry	abi_test_clobber_f22,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	22, -8(1)
++	blr	
++.size	abi_test_clobber_f22,.-abi_test_clobber_f22
++.globl	abi_test_clobber_f23
++.type	abi_test_clobber_f23,@function
++.align	4
++abi_test_clobber_f23:
++.localentry	abi_test_clobber_f23,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	23, -8(1)
++	blr	
++.size	abi_test_clobber_f23,.-abi_test_clobber_f23
++.globl	abi_test_clobber_f24
++.type	abi_test_clobber_f24,@function
++.align	4
++abi_test_clobber_f24:
++.localentry	abi_test_clobber_f24,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	24, -8(1)
++	blr	
++.size	abi_test_clobber_f24,.-abi_test_clobber_f24
++.globl	abi_test_clobber_f25
++.type	abi_test_clobber_f25,@function
++.align	4
++abi_test_clobber_f25:
++.localentry	abi_test_clobber_f25,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	25, -8(1)
++	blr	
++.size	abi_test_clobber_f25,.-abi_test_clobber_f25
++.globl	abi_test_clobber_f26
++.type	abi_test_clobber_f26,@function
++.align	4
++abi_test_clobber_f26:
++.localentry	abi_test_clobber_f26,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	26, -8(1)
++	blr	
++.size	abi_test_clobber_f26,.-abi_test_clobber_f26
++.globl	abi_test_clobber_f27
++.type	abi_test_clobber_f27,@function
++.align	4
++abi_test_clobber_f27:
++.localentry	abi_test_clobber_f27,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	27, -8(1)
++	blr	
++.size	abi_test_clobber_f27,.-abi_test_clobber_f27
++.globl	abi_test_clobber_f28
++.type	abi_test_clobber_f28,@function
++.align	4
++abi_test_clobber_f28:
++.localentry	abi_test_clobber_f28,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	28, -8(1)
++	blr	
++.size	abi_test_clobber_f28,.-abi_test_clobber_f28
++.globl	abi_test_clobber_f29
++.type	abi_test_clobber_f29,@function
++.align	4
++abi_test_clobber_f29:
++.localentry	abi_test_clobber_f29,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	29, -8(1)
++	blr	
++.size	abi_test_clobber_f29,.-abi_test_clobber_f29
++.globl	abi_test_clobber_f30
++.type	abi_test_clobber_f30,@function
++.align	4
++abi_test_clobber_f30:
++.localentry	abi_test_clobber_f30,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	30, -8(1)
++	blr	
++.size	abi_test_clobber_f30,.-abi_test_clobber_f30
++.globl	abi_test_clobber_f31
++.type	abi_test_clobber_f31,@function
++.align	4
++abi_test_clobber_f31:
++.localentry	abi_test_clobber_f31,0
++
++	li	0, 0
++
++	std	0, -8(1)
++	lfd	31, -8(1)
++	blr	
++.size	abi_test_clobber_f31,.-abi_test_clobber_f31
++.globl	abi_test_clobber_v0
++.type	abi_test_clobber_v0,@function
++.align	4
++abi_test_clobber_v0:
++.localentry	abi_test_clobber_v0,0
++
++	vxor	0, 0, 0
++	blr	
++.size	abi_test_clobber_v0,.-abi_test_clobber_v0
++.globl	abi_test_clobber_v1
++.type	abi_test_clobber_v1,@function
++.align	4
++abi_test_clobber_v1:
++.localentry	abi_test_clobber_v1,0
++
++	vxor	1, 1, 1
++	blr	
++.size	abi_test_clobber_v1,.-abi_test_clobber_v1
++.globl	abi_test_clobber_v2
++.type	abi_test_clobber_v2,@function
++.align	4
++abi_test_clobber_v2:
++.localentry	abi_test_clobber_v2,0
++
++	vxor	2, 2, 2
++	blr	
++.size	abi_test_clobber_v2,.-abi_test_clobber_v2
++.globl	abi_test_clobber_v3
++.type	abi_test_clobber_v3,@function
++.align	4
++abi_test_clobber_v3:
++.localentry	abi_test_clobber_v3,0
++
++	vxor	3, 3, 3
++	blr	
++.size	abi_test_clobber_v3,.-abi_test_clobber_v3
++.globl	abi_test_clobber_v4
++.type	abi_test_clobber_v4,@function
++.align	4
++abi_test_clobber_v4:
++.localentry	abi_test_clobber_v4,0
++
++	vxor	4, 4, 4
++	blr	
++.size	abi_test_clobber_v4,.-abi_test_clobber_v4
++.globl	abi_test_clobber_v5
++.type	abi_test_clobber_v5,@function
++.align	4
++abi_test_clobber_v5:
++.localentry	abi_test_clobber_v5,0
++
++	vxor	5, 5, 5
++	blr	
++.size	abi_test_clobber_v5,.-abi_test_clobber_v5
++.globl	abi_test_clobber_v6
++.type	abi_test_clobber_v6,@function
++.align	4
++abi_test_clobber_v6:
++.localentry	abi_test_clobber_v6,0
++
++	vxor	6, 6, 6
++	blr	
++.size	abi_test_clobber_v6,.-abi_test_clobber_v6
++.globl	abi_test_clobber_v7
++.type	abi_test_clobber_v7,@function
++.align	4
++abi_test_clobber_v7:
++.localentry	abi_test_clobber_v7,0
++
++	vxor	7, 7, 7
++	blr	
++.size	abi_test_clobber_v7,.-abi_test_clobber_v7
++.globl	abi_test_clobber_v8
++.type	abi_test_clobber_v8,@function
++.align	4
++abi_test_clobber_v8:
++.localentry	abi_test_clobber_v8,0
++
++	vxor	8, 8, 8
++	blr	
++.size	abi_test_clobber_v8,.-abi_test_clobber_v8
++.globl	abi_test_clobber_v9
++.type	abi_test_clobber_v9,@function
++.align	4
++abi_test_clobber_v9:
++.localentry	abi_test_clobber_v9,0
++
++	vxor	9, 9, 9
++	blr	
++.size	abi_test_clobber_v9,.-abi_test_clobber_v9
++.globl	abi_test_clobber_v10
++.type	abi_test_clobber_v10,@function
++.align	4
++abi_test_clobber_v10:
++.localentry	abi_test_clobber_v10,0
++
++	vxor	10, 10, 10
++	blr	
++.size	abi_test_clobber_v10,.-abi_test_clobber_v10
++.globl	abi_test_clobber_v11
++.type	abi_test_clobber_v11,@function
++.align	4
++abi_test_clobber_v11:
++.localentry	abi_test_clobber_v11,0
++
++	vxor	11, 11, 11
++	blr	
++.size	abi_test_clobber_v11,.-abi_test_clobber_v11
++.globl	abi_test_clobber_v12
++.type	abi_test_clobber_v12,@function
++.align	4
++abi_test_clobber_v12:
++.localentry	abi_test_clobber_v12,0
++
++	vxor	12, 12, 12
++	blr	
++.size	abi_test_clobber_v12,.-abi_test_clobber_v12
++.globl	abi_test_clobber_v13
++.type	abi_test_clobber_v13,@function
++.align	4
++abi_test_clobber_v13:
++.localentry	abi_test_clobber_v13,0
++
++	vxor	13, 13, 13
++	blr	
++.size	abi_test_clobber_v13,.-abi_test_clobber_v13
++.globl	abi_test_clobber_v14
++.type	abi_test_clobber_v14,@function
++.align	4
++abi_test_clobber_v14:
++.localentry	abi_test_clobber_v14,0
++
++	vxor	14, 14, 14
++	blr	
++.size	abi_test_clobber_v14,.-abi_test_clobber_v14
++.globl	abi_test_clobber_v15
++.type	abi_test_clobber_v15,@function
++.align	4
++abi_test_clobber_v15:
++.localentry	abi_test_clobber_v15,0
++
++	vxor	15, 15, 15
++	blr	
++.size	abi_test_clobber_v15,.-abi_test_clobber_v15
++.globl	abi_test_clobber_v16
++.type	abi_test_clobber_v16,@function
++.align	4
++abi_test_clobber_v16:
++.localentry	abi_test_clobber_v16,0
++
++	vxor	16, 16, 16
++	blr	
++.size	abi_test_clobber_v16,.-abi_test_clobber_v16
++.globl	abi_test_clobber_v17
++.type	abi_test_clobber_v17,@function
++.align	4
++abi_test_clobber_v17:
++.localentry	abi_test_clobber_v17,0
++
++	vxor	17, 17, 17
++	blr	
++.size	abi_test_clobber_v17,.-abi_test_clobber_v17
++.globl	abi_test_clobber_v18
++.type	abi_test_clobber_v18,@function
++.align	4
++abi_test_clobber_v18:
++.localentry	abi_test_clobber_v18,0
++
++	vxor	18, 18, 18
++	blr	
++.size	abi_test_clobber_v18,.-abi_test_clobber_v18
++.globl	abi_test_clobber_v19
++.type	abi_test_clobber_v19,@function
++.align	4
++abi_test_clobber_v19:
++.localentry	abi_test_clobber_v19,0
++
++	vxor	19, 19, 19
++	blr	
++.size	abi_test_clobber_v19,.-abi_test_clobber_v19
++.globl	abi_test_clobber_v20
++.type	abi_test_clobber_v20,@function
++.align	4
++abi_test_clobber_v20:
++.localentry	abi_test_clobber_v20,0
++
++	vxor	20, 20, 20
++	blr	
++.size	abi_test_clobber_v20,.-abi_test_clobber_v20
++.globl	abi_test_clobber_v21
++.type	abi_test_clobber_v21,@function
++.align	4
++abi_test_clobber_v21:
++.localentry	abi_test_clobber_v21,0
++
++	vxor	21, 21, 21
++	blr	
++.size	abi_test_clobber_v21,.-abi_test_clobber_v21
++.globl	abi_test_clobber_v22
++.type	abi_test_clobber_v22,@function
++.align	4
++abi_test_clobber_v22:
++.localentry	abi_test_clobber_v22,0
++
++	vxor	22, 22, 22
++	blr	
++.size	abi_test_clobber_v22,.-abi_test_clobber_v22
++.globl	abi_test_clobber_v23
++.type	abi_test_clobber_v23,@function
++.align	4
++abi_test_clobber_v23:
++.localentry	abi_test_clobber_v23,0
++
++	vxor	23, 23, 23
++	blr	
++.size	abi_test_clobber_v23,.-abi_test_clobber_v23
++.globl	abi_test_clobber_v24
++.type	abi_test_clobber_v24,@function
++.align	4
++abi_test_clobber_v24:
++.localentry	abi_test_clobber_v24,0
++
++	vxor	24, 24, 24
++	blr	
++.size	abi_test_clobber_v24,.-abi_test_clobber_v24
++.globl	abi_test_clobber_v25
++.type	abi_test_clobber_v25,@function
++.align	4
++abi_test_clobber_v25:
++.localentry	abi_test_clobber_v25,0
++
++	vxor	25, 25, 25
++	blr	
++.size	abi_test_clobber_v25,.-abi_test_clobber_v25
++.globl	abi_test_clobber_v26
++.type	abi_test_clobber_v26,@function
++.align	4
++abi_test_clobber_v26:
++.localentry	abi_test_clobber_v26,0
++
++	vxor	26, 26, 26
++	blr	
++.size	abi_test_clobber_v26,.-abi_test_clobber_v26
++.globl	abi_test_clobber_v27
++.type	abi_test_clobber_v27,@function
++.align	4
++abi_test_clobber_v27:
++.localentry	abi_test_clobber_v27,0
++
++	vxor	27, 27, 27
++	blr	
++.size	abi_test_clobber_v27,.-abi_test_clobber_v27
++.globl	abi_test_clobber_v28
++.type	abi_test_clobber_v28,@function
++.align	4
++abi_test_clobber_v28:
++.localentry	abi_test_clobber_v28,0
++
++	vxor	28, 28, 28
++	blr	
++.size	abi_test_clobber_v28,.-abi_test_clobber_v28
++.globl	abi_test_clobber_v29
++.type	abi_test_clobber_v29,@function
++.align	4
++abi_test_clobber_v29:
++.localentry	abi_test_clobber_v29,0
++
++	vxor	29, 29, 29
++	blr	
++.size	abi_test_clobber_v29,.-abi_test_clobber_v29
++.globl	abi_test_clobber_v30
++.type	abi_test_clobber_v30,@function
++.align	4
++abi_test_clobber_v30:
++.localentry	abi_test_clobber_v30,0
++
++	vxor	30, 30, 30
++	blr	
++.size	abi_test_clobber_v30,.-abi_test_clobber_v30
++.globl	abi_test_clobber_v31
++.type	abi_test_clobber_v31,@function
++.align	4
++abi_test_clobber_v31:
++.localentry	abi_test_clobber_v31,0
++
++	vxor	31, 31, 31
++	blr	
++.size	abi_test_clobber_v31,.-abi_test_clobber_v31
++.globl	abi_test_clobber_cr0
++.type	abi_test_clobber_cr0,@function
++.align	4
++abi_test_clobber_cr0:
++.localentry	abi_test_clobber_cr0,0
++
++
++
++	mfcr	0
++	not	0, 0
++	mtcrf	128, 0
++	blr	
++.size	abi_test_clobber_cr0,.-abi_test_clobber_cr0
++.globl	abi_test_clobber_cr1
++.type	abi_test_clobber_cr1,@function
++.align	4
++abi_test_clobber_cr1:
++.localentry	abi_test_clobber_cr1,0
++
++
++
++	mfcr	0
++	not	0, 0
++	mtcrf	64, 0
++	blr	
++.size	abi_test_clobber_cr1,.-abi_test_clobber_cr1
++.globl	abi_test_clobber_cr2
++.type	abi_test_clobber_cr2,@function
++.align	4
++abi_test_clobber_cr2:
++.localentry	abi_test_clobber_cr2,0
++
++
++
++	mfcr	0
++	not	0, 0
++	mtcrf	32, 0
++	blr	
++.size	abi_test_clobber_cr2,.-abi_test_clobber_cr2
++.globl	abi_test_clobber_cr3
++.type	abi_test_clobber_cr3,@function
++.align	4
++abi_test_clobber_cr3:
++.localentry	abi_test_clobber_cr3,0
++
++
++
++	mfcr	0
++	not	0, 0
++	mtcrf	16, 0
++	blr	
++.size	abi_test_clobber_cr3,.-abi_test_clobber_cr3
++.globl	abi_test_clobber_cr4
++.type	abi_test_clobber_cr4,@function
++.align	4
++abi_test_clobber_cr4:
++.localentry	abi_test_clobber_cr4,0
++
++
++
++	mfcr	0
++	not	0, 0
++	mtcrf	8, 0
++	blr	
++.size	abi_test_clobber_cr4,.-abi_test_clobber_cr4
++.globl	abi_test_clobber_cr5
++.type	abi_test_clobber_cr5,@function
++.align	4
++abi_test_clobber_cr5:
++.localentry	abi_test_clobber_cr5,0
++
++
++
++	mfcr	0
++	not	0, 0
++	mtcrf	4, 0
++	blr	
++.size	abi_test_clobber_cr5,.-abi_test_clobber_cr5
++.globl	abi_test_clobber_cr6
++.type	abi_test_clobber_cr6,@function
++.align	4
++abi_test_clobber_cr6:
++.localentry	abi_test_clobber_cr6,0
++
++
++
++	mfcr	0
++	not	0, 0
++	mtcrf	2, 0
++	blr	
++.size	abi_test_clobber_cr6,.-abi_test_clobber_cr6
++.globl	abi_test_clobber_cr7
++.type	abi_test_clobber_cr7,@function
++.align	4
++abi_test_clobber_cr7:
++.localentry	abi_test_clobber_cr7,0
++
++
++
++	mfcr	0
++	not	0, 0
++	mtcrf	1, 0
++	blr	
++.size	abi_test_clobber_cr7,.-abi_test_clobber_cr7
++.globl	abi_test_clobber_ctr
++.type	abi_test_clobber_ctr,@function
++.align	4
++abi_test_clobber_ctr:
++.localentry	abi_test_clobber_ctr,0
++
++	li	0, 0
++	mtctr	0
++	blr	
++.size	abi_test_clobber_ctr,.-abi_test_clobber_ctr
++
++.globl	abi_test_clobber_lr
++.type	abi_test_clobber_lr,@function
++.align	4
++abi_test_clobber_lr:
++.localentry	abi_test_clobber_lr,0
++
++	mflr	0
++	mtctr	0
++	li	0, 0
++	mtlr	0
++	bctr	
++.size	abi_test_clobber_lr,.-abi_test_clobber_lr
++
++#endif  // !OPENSSL_NO_ASM && __powerpc64__ && __ELF__
++#if defined(__ELF__)
++// See https://www.airs.com/blog/archives/518.
++.section .note.GNU-stack,"",%progbits
++#endif

diff --git a/0002-third-party-boringssl-add-generated-files.patch b/0002-third-party-boringssl-add-generated-files.patch
deleted file mode 100644
index 11f9e4c..0000000
--- a/0002-third-party-boringssl-add-generated-files.patch
+++ /dev/null
@@ -1,5709 +0,0 @@
-diff -up chromium-125.0.6422.41/third_party/boringssl/BUILD.generated.gni.0002-third-party-boringssl-add-generated-files chromium-125.0.6422.41/third_party/boringssl/BUILD.generated.gni
---- chromium-125.0.6422.41/third_party/boringssl/BUILD.generated.gni.0002-third-party-boringssl-add-generated-files	2024-05-08 22:30:22.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/boringssl/BUILD.generated.gni	2024-05-13 23:31:29.026580692 +0200
-@@ -93,6 +93,7 @@ crypto_sources = [
-   "src/crypto/cpu_arm_linux.c",
-   "src/crypto/cpu_arm_linux.h",
-   "src/crypto/cpu_intel.c",
-+  "src/crypto/cpu_ppc64le.c",
-   "src/crypto/crypto.c",
-   "src/crypto/curve25519/curve25519.c",
-   "src/crypto/curve25519/curve25519_64_adx.c",
-@@ -434,6 +435,9 @@ crypto_sources_asm = [
-   "src/gen/crypto/chacha20_poly1305_x86_64-apple.S",
-   "src/gen/crypto/chacha20_poly1305_x86_64-linux.S",
-   "src/gen/test_support/trampoline-armv4-linux.S",
-+  "linux-ppc64le/crypto/fipsmodule/aesp8-ppc-linux.S",
-+  "linux-ppc64le/crypto/fipsmodule/ghashp8-ppc-linux.S",
-+  "linux-ppc64le/crypto/test/trampoline-ppc-linux.S",
-   "src/gen/test_support/trampoline-armv8-apple.S",
-   "src/gen/test_support/trampoline-armv8-linux.S",
-   "src/gen/test_support/trampoline-armv8-win.S",
-diff -up chromium-125.0.6422.41/third_party/boringssl/linux-ppc64le/crypto/fipsmodule/aesp8-ppc-linux.S.0002-third-party-boringssl-add-generated-files chromium-125.0.6422.41/third_party/boringssl/linux-ppc64le/crypto/fipsmodule/aesp8-ppc-linux.S
---- chromium-125.0.6422.41/third_party/boringssl/linux-ppc64le/crypto/fipsmodule/aesp8-ppc-linux.S.0002-third-party-boringssl-add-generated-files	2024-05-13 21:28:13.295879825 +0200
-+++ chromium-125.0.6422.41/third_party/boringssl/linux-ppc64le/crypto/fipsmodule/aesp8-ppc-linux.S	2024-05-13 21:28:13.294879802 +0200
-@@ -0,0 +1,3673 @@
-+// This file is generated from a similarly-named Perl script in the BoringSSL
-+// source tree. Do not edit by hand.
-+
-+#if defined(__has_feature)
-+#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
-+#define OPENSSL_NO_ASM
-+#endif
-+#endif
-+
-+#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) && defined(__ELF__)
-+.machine	"any"
-+
-+.abiversion	2
-+.text
-+
-+.align	7
-+.Lrcon:
-+.byte	0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01
-+.byte	0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1b
-+.byte	0x0c,0x0f,0x0e,0x0d,0x0c,0x0f,0x0e,0x0d,0x0c,0x0f,0x0e,0x0d,0x0c,0x0f,0x0e,0x0d
-+.byte	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
-+.Lconsts:
-+	mflr	0
-+	bcl	20,31,$+4
-+	mflr	6
-+	addi	6,6,-0x48
-+	mtlr	0
-+	blr	
-+.long	0
-+.byte	0,12,0x14,0,0,0,0,0
-+.byte	65,69,83,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
-+.align	2
-+
-+.globl	aes_hw_set_encrypt_key
-+.type	aes_hw_set_encrypt_key,@function
-+.align	5
-+aes_hw_set_encrypt_key:
-+.localentry	aes_hw_set_encrypt_key,0
-+
-+.Lset_encrypt_key:
-+	mflr	11
-+	std	11,16(1)
-+
-+	li	6,-1
-+	cmpldi	3,0
-+	beq-	.Lenc_key_abort
-+	cmpldi	5,0
-+	beq-	.Lenc_key_abort
-+	li	6,-2
-+	cmpwi	4,128
-+	blt-	.Lenc_key_abort
-+	cmpwi	4,256
-+	bgt-	.Lenc_key_abort
-+	andi.	0,4,0x3f
-+	bne-	.Lenc_key_abort
-+
-+	lis	0,0xfff0
-+	li	12,-1
-+	or	0,0,0
-+
-+	bl	.Lconsts
-+	mtlr	11
-+
-+	neg	9,3
-+	lvx	1,0,3
-+	addi	3,3,15
-+	lvsr	3,0,9
-+	li	8,0x20
-+	cmpwi	4,192
-+	lvx	2,0,3
-+	vspltisb	5,0x0f
-+	lvx	4,0,6
-+	vxor	3,3,5
-+	lvx	5,8,6
-+	addi	6,6,0x10
-+	vperm	1,1,2,3
-+	li	7,8
-+	vxor	0,0,0
-+	mtctr	7
-+
-+	lvsl	8,0,5
-+	vspltisb	9,-1
-+	lvx	10,0,5
-+	vperm	9,9,0,8
-+
-+	blt	.Loop128
-+	addi	3,3,8
-+	beq	.L192
-+	addi	3,3,8
-+	b	.L256
-+
-+.align	4
-+.Loop128:
-+	vperm	3,1,1,5
-+	vsldoi	6,0,1,12
-+	vperm	11,1,1,8
-+	vsel	7,10,11,9
-+	vor	10,11,11
-+	.long	0x10632509
-+	stvx	7,0,5
-+	addi	5,5,16
-+
-+	vxor	1,1,6
-+	vsldoi	6,0,6,12
-+	vxor	1,1,6
-+	vsldoi	6,0,6,12
-+	vxor	1,1,6
-+	vadduwm	4,4,4
-+	vxor	1,1,3
-+	bdnz	.Loop128
-+
-+	lvx	4,0,6
-+
-+	vperm	3,1,1,5
-+	vsldoi	6,0,1,12
-+	vperm	11,1,1,8
-+	vsel	7,10,11,9
-+	vor	10,11,11
-+	.long	0x10632509
-+	stvx	7,0,5
-+	addi	5,5,16
-+
-+	vxor	1,1,6
-+	vsldoi	6,0,6,12
-+	vxor	1,1,6
-+	vsldoi	6,0,6,12
-+	vxor	1,1,6
-+	vadduwm	4,4,4
-+	vxor	1,1,3
-+
-+	vperm	3,1,1,5
-+	vsldoi	6,0,1,12
-+	vperm	11,1,1,8
-+	vsel	7,10,11,9
-+	vor	10,11,11
-+	.long	0x10632509
-+	stvx	7,0,5
-+	addi	5,5,16
-+
-+	vxor	1,1,6
-+	vsldoi	6,0,6,12
-+	vxor	1,1,6
-+	vsldoi	6,0,6,12
-+	vxor	1,1,6
-+	vxor	1,1,3
-+	vperm	11,1,1,8
-+	vsel	7,10,11,9
-+	vor	10,11,11
-+	stvx	7,0,5
-+
-+	addi	3,5,15
-+	addi	5,5,0x50
-+
-+	li	8,10
-+	b	.Ldone
-+
-+.align	4
-+.L192:
-+	lvx	6,0,3
-+	li	7,4
-+	vperm	11,1,1,8
-+	vsel	7,10,11,9
-+	vor	10,11,11
-+	stvx	7,0,5
-+	addi	5,5,16
-+	vperm	2,2,6,3
-+	vspltisb	3,8
-+	mtctr	7
-+	vsububm	5,5,3
-+
-+.Loop192:
-+	vperm	3,2,2,5
-+	vsldoi	6,0,1,12
-+	.long	0x10632509
-+
-+	vxor	1,1,6
-+	vsldoi	6,0,6,12
-+	vxor	1,1,6
-+	vsldoi	6,0,6,12
-+	vxor	1,1,6
-+
-+	vsldoi	7,0,2,8
-+	vspltw	6,1,3
-+	vxor	6,6,2
-+	vsldoi	2,0,2,12
-+	vadduwm	4,4,4
-+	vxor	2,2,6
-+	vxor	1,1,3
-+	vxor	2,2,3
-+	vsldoi	7,7,1,8
-+
-+	vperm	3,2,2,5
-+	vsldoi	6,0,1,12
-+	vperm	11,7,7,8
-+	vsel	7,10,11,9
-+	vor	10,11,11
-+	.long	0x10632509
-+	stvx	7,0,5
-+	addi	5,5,16
-+
-+	vsldoi	7,1,2,8
-+	vxor	1,1,6
-+	vsldoi	6,0,6,12
-+	vperm	11,7,7,8
-+	vsel	7,10,11,9
-+	vor	10,11,11
-+	vxor	1,1,6
-+	vsldoi	6,0,6,12
-+	vxor	1,1,6
-+	stvx	7,0,5
-+	addi	5,5,16
-+
-+	vspltw	6,1,3
-+	vxor	6,6,2
-+	vsldoi	2,0,2,12
-+	vadduwm	4,4,4
-+	vxor	2,2,6
-+	vxor	1,1,3
-+	vxor	2,2,3
-+	vperm	11,1,1,8
-+	vsel	7,10,11,9
-+	vor	10,11,11
-+	stvx	7,0,5
-+	addi	3,5,15
-+	addi	5,5,16
-+	bdnz	.Loop192
-+
-+	li	8,12
-+	addi	5,5,0x20
-+	b	.Ldone
-+
-+.align	4
-+.L256:
-+	lvx	6,0,3
-+	li	7,7
-+	li	8,14
-+	vperm	11,1,1,8
-+	vsel	7,10,11,9
-+	vor	10,11,11
-+	stvx	7,0,5
-+	addi	5,5,16
-+	vperm	2,2,6,3
-+	mtctr	7
-+
-+.Loop256:
-+	vperm	3,2,2,5
-+	vsldoi	6,0,1,12
-+	vperm	11,2,2,8
-+	vsel	7,10,11,9
-+	vor	10,11,11
-+	.long	0x10632509
-+	stvx	7,0,5
-+	addi	5,5,16
-+
-+	vxor	1,1,6
-+	vsldoi	6,0,6,12
-+	vxor	1,1,6
-+	vsldoi	6,0,6,12
-+	vxor	1,1,6
-+	vadduwm	4,4,4
-+	vxor	1,1,3
-+	vperm	11,1,1,8
-+	vsel	7,10,11,9
-+	vor	10,11,11
-+	stvx	7,0,5
-+	addi	3,5,15
-+	addi	5,5,16
-+	bdz	.Ldone
-+
-+	vspltw	3,1,3
-+	vsldoi	6,0,2,12
-+	.long	0x106305C8
-+
-+	vxor	2,2,6
-+	vsldoi	6,0,6,12
-+	vxor	2,2,6
-+	vsldoi	6,0,6,12
-+	vxor	2,2,6
-+
-+	vxor	2,2,3
-+	b	.Loop256
-+
-+.align	4
-+.Ldone:
-+	lvx	2,0,3
-+	vsel	2,10,2,9
-+	stvx	2,0,3
-+	li	6,0
-+	or	12,12,12
-+	stw	8,0(5)
-+
-+.Lenc_key_abort:
-+	mr	3,6
-+	blr	
-+.long	0
-+.byte	0,12,0x14,1,0,0,3,0
-+.long	0
-+.size	aes_hw_set_encrypt_key,.-aes_hw_set_encrypt_key
-+
-+.globl	aes_hw_set_decrypt_key
-+.type	aes_hw_set_decrypt_key,@function
-+.align	5
-+aes_hw_set_decrypt_key:
-+.localentry	aes_hw_set_decrypt_key,0
-+
-+	stdu	1,-64(1)
-+	mflr	10
-+	std	10,80(1)
-+	bl	.Lset_encrypt_key
-+	mtlr	10
-+
-+	cmpwi	3,0
-+	bne-	.Ldec_key_abort
-+
-+	slwi	7,8,4
-+	subi	3,5,240
-+	srwi	8,8,1
-+	add	5,3,7
-+	mtctr	8
-+
-+.Ldeckey:
-+	lwz	0, 0(3)
-+	lwz	6, 4(3)
-+	lwz	7, 8(3)
-+	lwz	8, 12(3)
-+	addi	3,3,16
-+	lwz	9, 0(5)
-+	lwz	10,4(5)
-+	lwz	11,8(5)
-+	lwz	12,12(5)
-+	stw	0, 0(5)
-+	stw	6, 4(5)
-+	stw	7, 8(5)
-+	stw	8, 12(5)
-+	subi	5,5,16
-+	stw	9, -16(3)
-+	stw	10,-12(3)
-+	stw	11,-8(3)
-+	stw	12,-4(3)
-+	bdnz	.Ldeckey
-+
-+	xor	3,3,3
-+.Ldec_key_abort:
-+	addi	1,1,64
-+	blr	
-+.long	0
-+.byte	0,12,4,1,0x80,0,3,0
-+.long	0
-+.size	aes_hw_set_decrypt_key,.-aes_hw_set_decrypt_key
-+.globl	aes_hw_encrypt
-+.type	aes_hw_encrypt,@function
-+.align	5
-+aes_hw_encrypt:
-+.localentry	aes_hw_encrypt,0
-+
-+	lwz	6,240(5)
-+	lis	0,0xfc00
-+	li	12,-1
-+	li	7,15
-+	or	0,0,0
-+
-+	lvx	0,0,3
-+	neg	11,4
-+	lvx	1,7,3
-+	lvsl	2,0,3
-+	vspltisb	4,0x0f
-+	lvsr	3,0,11
-+	vxor	2,2,4
-+	li	7,16
-+	vperm	0,0,1,2
-+	lvx	1,0,5
-+	lvsr	5,0,5
-+	srwi	6,6,1
-+	lvx	2,7,5
-+	addi	7,7,16
-+	subi	6,6,1
-+	vperm	1,2,1,5
-+
-+	vxor	0,0,1
-+	lvx	1,7,5
-+	addi	7,7,16
-+	mtctr	6
-+
-+.Loop_enc:
-+	vperm	2,1,2,5
-+	.long	0x10001508
-+	lvx	2,7,5
-+	addi	7,7,16
-+	vperm	1,2,1,5
-+	.long	0x10000D08
-+	lvx	1,7,5
-+	addi	7,7,16
-+	bdnz	.Loop_enc
-+
-+	vperm	2,1,2,5
-+	.long	0x10001508
-+	lvx	2,7,5
-+	vperm	1,2,1,5
-+	.long	0x10000D09
-+
-+	vspltisb	2,-1
-+	vxor	1,1,1
-+	li	7,15
-+	vperm	2,2,1,3
-+	vxor	3,3,4
-+	lvx	1,0,4
-+	vperm	0,0,0,3
-+	vsel	1,1,0,2
-+	lvx	4,7,4
-+	stvx	1,0,4
-+	vsel	0,0,4,2
-+	stvx	0,7,4
-+
-+	or	12,12,12
-+	blr	
-+.long	0
-+.byte	0,12,0x14,0,0,0,3,0
-+.long	0
-+.size	aes_hw_encrypt,.-aes_hw_encrypt
-+.globl	aes_hw_decrypt
-+.type	aes_hw_decrypt,@function
-+.align	5
-+aes_hw_decrypt:
-+.localentry	aes_hw_decrypt,0
-+
-+	lwz	6,240(5)
-+	lis	0,0xfc00
-+	li	12,-1
-+	li	7,15
-+	or	0,0,0
-+
-+	lvx	0,0,3
-+	neg	11,4
-+	lvx	1,7,3
-+	lvsl	2,0,3
-+	vspltisb	4,0x0f
-+	lvsr	3,0,11
-+	vxor	2,2,4
-+	li	7,16
-+	vperm	0,0,1,2
-+	lvx	1,0,5
-+	lvsr	5,0,5
-+	srwi	6,6,1
-+	lvx	2,7,5
-+	addi	7,7,16
-+	subi	6,6,1
-+	vperm	1,2,1,5
-+
-+	vxor	0,0,1
-+	lvx	1,7,5
-+	addi	7,7,16
-+	mtctr	6
-+
-+.Loop_dec:
-+	vperm	2,1,2,5
-+	.long	0x10001548
-+	lvx	2,7,5
-+	addi	7,7,16
-+	vperm	1,2,1,5
-+	.long	0x10000D48
-+	lvx	1,7,5
-+	addi	7,7,16
-+	bdnz	.Loop_dec
-+
-+	vperm	2,1,2,5
-+	.long	0x10001548
-+	lvx	2,7,5
-+	vperm	1,2,1,5
-+	.long	0x10000D49
-+
-+	vspltisb	2,-1
-+	vxor	1,1,1
-+	li	7,15
-+	vperm	2,2,1,3
-+	vxor	3,3,4
-+	lvx	1,0,4
-+	vperm	0,0,0,3
-+	vsel	1,1,0,2
-+	lvx	4,7,4
-+	stvx	1,0,4
-+	vsel	0,0,4,2
-+	stvx	0,7,4
-+
-+	or	12,12,12
-+	blr	
-+.long	0
-+.byte	0,12,0x14,0,0,0,3,0
-+.long	0
-+.size	aes_hw_decrypt,.-aes_hw_decrypt
-+.globl	aes_hw_cbc_encrypt
-+.type	aes_hw_cbc_encrypt,@function
-+.align	5
-+aes_hw_cbc_encrypt:
-+.localentry	aes_hw_cbc_encrypt,0
-+
-+	cmpldi	5,16
-+	.long	0x4dc00020
-+
-+	cmpwi	8,0
-+	lis	0,0xffe0
-+	li	12,-1
-+	or	0,0,0
-+
-+	li	10,15
-+	vxor	0,0,0
-+	vspltisb	3,0x0f
-+
-+	lvx	4,0,7
-+	lvsl	6,0,7
-+	lvx	5,10,7
-+	vxor	6,6,3
-+	vperm	4,4,5,6
-+
-+	neg	11,3
-+	lvsr	10,0,6
-+	lwz	9,240(6)
-+
-+	lvsr	6,0,11
-+	lvx	5,0,3
-+	addi	3,3,15
-+	vxor	6,6,3
-+
-+	lvsl	8,0,4
-+	vspltisb	9,-1
-+	lvx	7,0,4
-+	vperm	9,9,0,8
-+	vxor	8,8,3
-+
-+	srwi	9,9,1
-+	li	10,16
-+	subi	9,9,1
-+	beq	.Lcbc_dec
-+
-+.Lcbc_enc:
-+	vor	2,5,5
-+	lvx	5,0,3
-+	addi	3,3,16
-+	mtctr	9
-+	subi	5,5,16
-+
-+	lvx	0,0,6
-+	vperm	2,2,5,6
-+	lvx	1,10,6
-+	addi	10,10,16
-+	vperm	0,1,0,10
-+	vxor	2,2,0
-+	lvx	0,10,6
-+	addi	10,10,16
-+	vxor	2,2,4
-+
-+.Loop_cbc_enc:
-+	vperm	1,0,1,10
-+	.long	0x10420D08
-+	lvx	1,10,6
-+	addi	10,10,16
-+	vperm	0,1,0,10
-+	.long	0x10420508
-+	lvx	0,10,6
-+	addi	10,10,16
-+	bdnz	.Loop_cbc_enc
-+
-+	vperm	1,0,1,10
-+	.long	0x10420D08
-+	lvx	1,10,6
-+	li	10,16
-+	vperm	0,1,0,10
-+	.long	0x10820509
-+	cmpldi	5,16
-+
-+	vperm	3,4,4,8
-+	vsel	2,7,3,9
-+	vor	7,3,3
-+	stvx	2,0,4
-+	addi	4,4,16
-+	bge	.Lcbc_enc
-+
-+	b	.Lcbc_done
-+
-+.align	4
-+.Lcbc_dec:
-+	cmpldi	5,128
-+	bge	_aesp8_cbc_decrypt8x
-+	vor	3,5,5
-+	lvx	5,0,3
-+	addi	3,3,16
-+	mtctr	9
-+	subi	5,5,16
-+
-+	lvx	0,0,6
-+	vperm	3,3,5,6
-+	lvx	1,10,6
-+	addi	10,10,16
-+	vperm	0,1,0,10
-+	vxor	2,3,0
-+	lvx	0,10,6
-+	addi	10,10,16
-+
-+.Loop_cbc_dec:
-+	vperm	1,0,1,10
-+	.long	0x10420D48
-+	lvx	1,10,6
-+	addi	10,10,16
-+	vperm	0,1,0,10
-+	.long	0x10420548
-+	lvx	0,10,6
-+	addi	10,10,16
-+	bdnz	.Loop_cbc_dec
-+
-+	vperm	1,0,1,10
-+	.long	0x10420D48
-+	lvx	1,10,6
-+	li	10,16
-+	vperm	0,1,0,10
-+	.long	0x10420549
-+	cmpldi	5,16
-+
-+	vxor	2,2,4
-+	vor	4,3,3
-+	vperm	3,2,2,8
-+	vsel	2,7,3,9
-+	vor	7,3,3
-+	stvx	2,0,4
-+	addi	4,4,16
-+	bge	.Lcbc_dec
-+
-+.Lcbc_done:
-+	addi	4,4,-1
-+	lvx	2,0,4
-+	vsel	2,7,2,9
-+	stvx	2,0,4
-+
-+	neg	8,7
-+	li	10,15
-+	vxor	0,0,0
-+	vspltisb	9,-1
-+	vspltisb	3,0x0f
-+	lvsr	8,0,8
-+	vperm	9,9,0,8
-+	vxor	8,8,3
-+	lvx	7,0,7
-+	vperm	4,4,4,8
-+	vsel	2,7,4,9
-+	lvx	5,10,7
-+	stvx	2,0,7
-+	vsel	2,4,5,9
-+	stvx	2,10,7
-+
-+	or	12,12,12
-+	blr	
-+.long	0
-+.byte	0,12,0x14,0,0,0,6,0
-+.long	0
-+.align	5
-+_aesp8_cbc_decrypt8x:
-+	stdu	1,-448(1)
-+	li	10,207
-+	li	11,223
-+	stvx	20,10,1
-+	addi	10,10,32
-+	stvx	21,11,1
-+	addi	11,11,32
-+	stvx	22,10,1
-+	addi	10,10,32
-+	stvx	23,11,1
-+	addi	11,11,32
-+	stvx	24,10,1
-+	addi	10,10,32
-+	stvx	25,11,1
-+	addi	11,11,32
-+	stvx	26,10,1
-+	addi	10,10,32
-+	stvx	27,11,1
-+	addi	11,11,32
-+	stvx	28,10,1
-+	addi	10,10,32
-+	stvx	29,11,1
-+	addi	11,11,32
-+	stvx	30,10,1
-+	stvx	31,11,1
-+	li	0,-1
-+	stw	12,396(1)
-+	li	8,0x10
-+	std	26,400(1)
-+	li	26,0x20
-+	std	27,408(1)
-+	li	27,0x30
-+	std	28,416(1)
-+	li	28,0x40
-+	std	29,424(1)
-+	li	29,0x50
-+	std	30,432(1)
-+	li	30,0x60
-+	std	31,440(1)
-+	li	31,0x70
-+	or	0,0,0
-+
-+	subi	9,9,3
-+	subi	5,5,128
-+
-+	lvx	23,0,6
-+	lvx	30,8,6
-+	addi	6,6,0x20
-+	lvx	31,0,6
-+	vperm	23,30,23,10
-+	addi	11,1,79
-+	mtctr	9
-+
-+.Load_cbc_dec_key:
-+	vperm	24,31,30,10
-+	lvx	30,8,6
-+	addi	6,6,0x20
-+	stvx	24,0,11
-+	vperm	25,30,31,10
-+	lvx	31,0,6
-+	stvx	25,8,11
-+	addi	11,11,0x20
-+	bdnz	.Load_cbc_dec_key
-+
-+	lvx	26,8,6
-+	vperm	24,31,30,10
-+	lvx	27,26,6
-+	stvx	24,0,11
-+	vperm	25,26,31,10
-+	lvx	28,27,6
-+	stvx	25,8,11
-+	addi	11,1,79
-+	vperm	26,27,26,10
-+	lvx	29,28,6
-+	vperm	27,28,27,10
-+	lvx	30,29,6
-+	vperm	28,29,28,10
-+	lvx	31,30,6
-+	vperm	29,30,29,10
-+	lvx	14,31,6
-+	vperm	30,31,30,10
-+	lvx	24,0,11
-+	vperm	31,14,31,10
-+	lvx	25,8,11
-+
-+
-+
-+	subi	3,3,15
-+
-+	li	10,8
-+	.long	0x7C001E99
-+	lvsl	6,0,10
-+	vspltisb	3,0x0f
-+	.long	0x7C281E99
-+	vxor	6,6,3
-+	.long	0x7C5A1E99
-+	vperm	0,0,0,6
-+	.long	0x7C7B1E99
-+	vperm	1,1,1,6
-+	.long	0x7D5C1E99
-+	vperm	2,2,2,6
-+	vxor	14,0,23
-+	.long	0x7D7D1E99
-+	vperm	3,3,3,6
-+	vxor	15,1,23
-+	.long	0x7D9E1E99
-+	vperm	10,10,10,6
-+	vxor	16,2,23
-+	.long	0x7DBF1E99
-+	addi	3,3,0x80
-+	vperm	11,11,11,6
-+	vxor	17,3,23
-+	vperm	12,12,12,6
-+	vxor	18,10,23
-+	vperm	13,13,13,6
-+	vxor	19,11,23
-+	vxor	20,12,23
-+	vxor	21,13,23
-+
-+	mtctr	9
-+	b	.Loop_cbc_dec8x
-+.align	5
-+.Loop_cbc_dec8x:
-+	.long	0x11CEC548
-+	.long	0x11EFC548
-+	.long	0x1210C548
-+	.long	0x1231C548
-+	.long	0x1252C548
-+	.long	0x1273C548
-+	.long	0x1294C548
-+	.long	0x12B5C548
-+	lvx	24,26,11
-+	addi	11,11,0x20
-+
-+	.long	0x11CECD48
-+	.long	0x11EFCD48
-+	.long	0x1210CD48
-+	.long	0x1231CD48
-+	.long	0x1252CD48
-+	.long	0x1273CD48
-+	.long	0x1294CD48
-+	.long	0x12B5CD48
-+	lvx	25,8,11
-+	bdnz	.Loop_cbc_dec8x
-+
-+	subic	5,5,128
-+	.long	0x11CEC548
-+	.long	0x11EFC548
-+	.long	0x1210C548
-+	.long	0x1231C548
-+	.long	0x1252C548
-+	.long	0x1273C548
-+	.long	0x1294C548
-+	.long	0x12B5C548
-+
-+	subfe.	0,0,0
-+	.long	0x11CECD48
-+	.long	0x11EFCD48
-+	.long	0x1210CD48
-+	.long	0x1231CD48
-+	.long	0x1252CD48
-+	.long	0x1273CD48
-+	.long	0x1294CD48
-+	.long	0x12B5CD48
-+
-+	and	0,0,5
-+	.long	0x11CED548
-+	.long	0x11EFD548
-+	.long	0x1210D548
-+	.long	0x1231D548
-+	.long	0x1252D548
-+	.long	0x1273D548
-+	.long	0x1294D548
-+	.long	0x12B5D548
-+
-+	add	3,3,0
-+
-+
-+
-+	.long	0x11CEDD48
-+	.long	0x11EFDD48
-+	.long	0x1210DD48
-+	.long	0x1231DD48
-+	.long	0x1252DD48
-+	.long	0x1273DD48
-+	.long	0x1294DD48
-+	.long	0x12B5DD48
-+
-+	addi	11,1,79
-+	.long	0x11CEE548
-+	.long	0x11EFE548
-+	.long	0x1210E548
-+	.long	0x1231E548
-+	.long	0x1252E548
-+	.long	0x1273E548
-+	.long	0x1294E548
-+	.long	0x12B5E548
-+	lvx	24,0,11
-+
-+	.long	0x11CEED48
-+	.long	0x11EFED48
-+	.long	0x1210ED48
-+	.long	0x1231ED48
-+	.long	0x1252ED48
-+	.long	0x1273ED48
-+	.long	0x1294ED48
-+	.long	0x12B5ED48
-+	lvx	25,8,11
-+
-+	.long	0x11CEF548
-+	vxor	4,4,31
-+	.long	0x11EFF548
-+	vxor	0,0,31
-+	.long	0x1210F548
-+	vxor	1,1,31
-+	.long	0x1231F548
-+	vxor	2,2,31
-+	.long	0x1252F548
-+	vxor	3,3,31
-+	.long	0x1273F548
-+	vxor	10,10,31
-+	.long	0x1294F548
-+	vxor	11,11,31
-+	.long	0x12B5F548
-+	vxor	12,12,31
-+
-+	.long	0x11CE2549
-+	.long	0x11EF0549
-+	.long	0x7C001E99
-+	.long	0x12100D49
-+	.long	0x7C281E99
-+	.long	0x12311549
-+	vperm	0,0,0,6
-+	.long	0x7C5A1E99
-+	.long	0x12521D49
-+	vperm	1,1,1,6
-+	.long	0x7C7B1E99
-+	.long	0x12735549
-+	vperm	2,2,2,6
-+	.long	0x7D5C1E99
-+	.long	0x12945D49
-+	vperm	3,3,3,6
-+	.long	0x7D7D1E99
-+	.long	0x12B56549
-+	vperm	10,10,10,6
-+	.long	0x7D9E1E99
-+	vor	4,13,13
-+	vperm	11,11,11,6
-+	.long	0x7DBF1E99
-+	addi	3,3,0x80
-+
-+	vperm	14,14,14,6
-+	vperm	15,15,15,6
-+	.long	0x7DC02799
-+	vperm	12,12,12,6
-+	vxor	14,0,23
-+	vperm	16,16,16,6
-+	.long	0x7DE82799
-+	vperm	13,13,13,6
-+	vxor	15,1,23
-+	vperm	17,17,17,6
-+	.long	0x7E1A2799
-+	vxor	16,2,23
-+	vperm	18,18,18,6
-+	.long	0x7E3B2799
-+	vxor	17,3,23
-+	vperm	19,19,19,6
-+	.long	0x7E5C2799
-+	vxor	18,10,23
-+	vperm	20,20,20,6
-+	.long	0x7E7D2799
-+	vxor	19,11,23
-+	vperm	21,21,21,6
-+	.long	0x7E9E2799
-+	vxor	20,12,23
-+	.long	0x7EBF2799
-+	addi	4,4,0x80
-+	vxor	21,13,23
-+
-+	mtctr	9
-+	beq	.Loop_cbc_dec8x
-+
-+	addic.	5,5,128
-+	beq	.Lcbc_dec8x_done
-+	nop	
-+	nop	
-+
-+.Loop_cbc_dec8x_tail:
-+	.long	0x11EFC548
-+	.long	0x1210C548
-+	.long	0x1231C548
-+	.long	0x1252C548
-+	.long	0x1273C548
-+	.long	0x1294C548
-+	.long	0x12B5C548
-+	lvx	24,26,11
-+	addi	11,11,0x20
-+
-+	.long	0x11EFCD48
-+	.long	0x1210CD48
-+	.long	0x1231CD48
-+	.long	0x1252CD48
-+	.long	0x1273CD48
-+	.long	0x1294CD48
-+	.long	0x12B5CD48
-+	lvx	25,8,11
-+	bdnz	.Loop_cbc_dec8x_tail
-+
-+	.long	0x11EFC548
-+	.long	0x1210C548
-+	.long	0x1231C548
-+	.long	0x1252C548
-+	.long	0x1273C548
-+	.long	0x1294C548
-+	.long	0x12B5C548
-+
-+	.long	0x11EFCD48
-+	.long	0x1210CD48
-+	.long	0x1231CD48
-+	.long	0x1252CD48
-+	.long	0x1273CD48
-+	.long	0x1294CD48
-+	.long	0x12B5CD48
-+
-+	.long	0x11EFD548
-+	.long	0x1210D548
-+	.long	0x1231D548
-+	.long	0x1252D548
-+	.long	0x1273D548
-+	.long	0x1294D548
-+	.long	0x12B5D548
-+
-+	.long	0x11EFDD48
-+	.long	0x1210DD48
-+	.long	0x1231DD48
-+	.long	0x1252DD48
-+	.long	0x1273DD48
-+	.long	0x1294DD48
-+	.long	0x12B5DD48
-+
-+	.long	0x11EFE548
-+	.long	0x1210E548
-+	.long	0x1231E548
-+	.long	0x1252E548
-+	.long	0x1273E548
-+	.long	0x1294E548
-+	.long	0x12B5E548
-+
-+	.long	0x11EFED48
-+	.long	0x1210ED48
-+	.long	0x1231ED48
-+	.long	0x1252ED48
-+	.long	0x1273ED48
-+	.long	0x1294ED48
-+	.long	0x12B5ED48
-+
-+	.long	0x11EFF548
-+	vxor	4,4,31
-+	.long	0x1210F548
-+	vxor	1,1,31
-+	.long	0x1231F548
-+	vxor	2,2,31
-+	.long	0x1252F548
-+	vxor	3,3,31
-+	.long	0x1273F548
-+	vxor	10,10,31
-+	.long	0x1294F548
-+	vxor	11,11,31
-+	.long	0x12B5F548
-+	vxor	12,12,31
-+
-+	cmplwi	5,32
-+	blt	.Lcbc_dec8x_one
-+	nop	
-+	beq	.Lcbc_dec8x_two
-+	cmplwi	5,64
-+	blt	.Lcbc_dec8x_three
-+	nop	
-+	beq	.Lcbc_dec8x_four
-+	cmplwi	5,96
-+	blt	.Lcbc_dec8x_five
-+	nop	
-+	beq	.Lcbc_dec8x_six
-+
-+.Lcbc_dec8x_seven:
-+	.long	0x11EF2549
-+	.long	0x12100D49
-+	.long	0x12311549
-+	.long	0x12521D49
-+	.long	0x12735549
-+	.long	0x12945D49
-+	.long	0x12B56549
-+	vor	4,13,13
-+
-+	vperm	15,15,15,6
-+	vperm	16,16,16,6
-+	.long	0x7DE02799
-+	vperm	17,17,17,6
-+	.long	0x7E082799
-+	vperm	18,18,18,6
-+	.long	0x7E3A2799
-+	vperm	19,19,19,6
-+	.long	0x7E5B2799
-+	vperm	20,20,20,6
-+	.long	0x7E7C2799
-+	vperm	21,21,21,6
-+	.long	0x7E9D2799
-+	.long	0x7EBE2799
-+	addi	4,4,0x70
-+	b	.Lcbc_dec8x_done
-+
-+.align	5
-+.Lcbc_dec8x_six:
-+	.long	0x12102549
-+	.long	0x12311549
-+	.long	0x12521D49
-+	.long	0x12735549
-+	.long	0x12945D49
-+	.long	0x12B56549
-+	vor	4,13,13
-+
-+	vperm	16,16,16,6
-+	vperm	17,17,17,6
-+	.long	0x7E002799
-+	vperm	18,18,18,6
-+	.long	0x7E282799
-+	vperm	19,19,19,6
-+	.long	0x7E5A2799
-+	vperm	20,20,20,6
-+	.long	0x7E7B2799
-+	vperm	21,21,21,6
-+	.long	0x7E9C2799
-+	.long	0x7EBD2799
-+	addi	4,4,0x60
-+	b	.Lcbc_dec8x_done
-+
-+.align	5
-+.Lcbc_dec8x_five:
-+	.long	0x12312549
-+	.long	0x12521D49
-+	.long	0x12735549
-+	.long	0x12945D49
-+	.long	0x12B56549
-+	vor	4,13,13
-+
-+	vperm	17,17,17,6
-+	vperm	18,18,18,6
-+	.long	0x7E202799
-+	vperm	19,19,19,6
-+	.long	0x7E482799
-+	vperm	20,20,20,6
-+	.long	0x7E7A2799
-+	vperm	21,21,21,6
-+	.long	0x7E9B2799
-+	.long	0x7EBC2799
-+	addi	4,4,0x50
-+	b	.Lcbc_dec8x_done
-+
-+.align	5
-+.Lcbc_dec8x_four:
-+	.long	0x12522549
-+	.long	0x12735549
-+	.long	0x12945D49
-+	.long	0x12B56549
-+	vor	4,13,13
-+
-+	vperm	18,18,18,6
-+	vperm	19,19,19,6
-+	.long	0x7E402799
-+	vperm	20,20,20,6
-+	.long	0x7E682799
-+	vperm	21,21,21,6
-+	.long	0x7E9A2799
-+	.long	0x7EBB2799
-+	addi	4,4,0x40
-+	b	.Lcbc_dec8x_done
-+
-+.align	5
-+.Lcbc_dec8x_three:
-+	.long	0x12732549
-+	.long	0x12945D49
-+	.long	0x12B56549
-+	vor	4,13,13
-+
-+	vperm	19,19,19,6
-+	vperm	20,20,20,6
-+	.long	0x7E602799
-+	vperm	21,21,21,6
-+	.long	0x7E882799
-+	.long	0x7EBA2799
-+	addi	4,4,0x30
-+	b	.Lcbc_dec8x_done
-+
-+.align	5
-+.Lcbc_dec8x_two:
-+	.long	0x12942549
-+	.long	0x12B56549
-+	vor	4,13,13
-+
-+	vperm	20,20,20,6
-+	vperm	21,21,21,6
-+	.long	0x7E802799
-+	.long	0x7EA82799
-+	addi	4,4,0x20
-+	b	.Lcbc_dec8x_done
-+
-+.align	5
-+.Lcbc_dec8x_one:
-+	.long	0x12B52549
-+	vor	4,13,13
-+
-+	vperm	21,21,21,6
-+	.long	0x7EA02799
-+	addi	4,4,0x10
-+
-+.Lcbc_dec8x_done:
-+	vperm	4,4,4,6
-+	.long	0x7C803F99
-+
-+	li	10,79
-+	li	11,95
-+	stvx	6,10,1
-+	addi	10,10,32
-+	stvx	6,11,1
-+	addi	11,11,32
-+	stvx	6,10,1
-+	addi	10,10,32
-+	stvx	6,11,1
-+	addi	11,11,32
-+	stvx	6,10,1
-+	addi	10,10,32
-+	stvx	6,11,1
-+	addi	11,11,32
-+	stvx	6,10,1
-+	addi	10,10,32
-+	stvx	6,11,1
-+	addi	11,11,32
-+
-+	or	12,12,12
-+	lvx	20,10,1
-+	addi	10,10,32
-+	lvx	21,11,1
-+	addi	11,11,32
-+	lvx	22,10,1
-+	addi	10,10,32
-+	lvx	23,11,1
-+	addi	11,11,32
-+	lvx	24,10,1
-+	addi	10,10,32
-+	lvx	25,11,1
-+	addi	11,11,32
-+	lvx	26,10,1
-+	addi	10,10,32
-+	lvx	27,11,1
-+	addi	11,11,32
-+	lvx	28,10,1
-+	addi	10,10,32
-+	lvx	29,11,1
-+	addi	11,11,32
-+	lvx	30,10,1
-+	lvx	31,11,1
-+	ld	26,400(1)
-+	ld	27,408(1)
-+	ld	28,416(1)
-+	ld	29,424(1)
-+	ld	30,432(1)
-+	ld	31,440(1)
-+	addi	1,1,448
-+	blr	
-+.long	0
-+.byte	0,12,0x04,0,0x80,6,6,0
-+.long	0
-+.size	aes_hw_cbc_encrypt,.-aes_hw_cbc_encrypt
-+.globl	aes_hw_ctr32_encrypt_blocks
-+.type	aes_hw_ctr32_encrypt_blocks,@function
-+.align	5
-+aes_hw_ctr32_encrypt_blocks:
-+.localentry	aes_hw_ctr32_encrypt_blocks,0
-+
-+	cmpldi	5,1
-+	.long	0x4dc00020
-+
-+	lis	0,0xfff0
-+	li	12,-1
-+	or	0,0,0
-+
-+	li	10,15
-+	vxor	0,0,0
-+	vspltisb	3,0x0f
-+
-+	lvx	4,0,7
-+	lvsl	6,0,7
-+	lvx	5,10,7
-+	vspltisb	11,1
-+	vxor	6,6,3
-+	vperm	4,4,5,6
-+	vsldoi	11,0,11,1
-+
-+	neg	11,3
-+	lvsr	10,0,6
-+	lwz	9,240(6)
-+
-+	lvsr	6,0,11
-+	lvx	5,0,3
-+	addi	3,3,15
-+	vxor	6,6,3
-+
-+	srwi	9,9,1
-+	li	10,16
-+	subi	9,9,1
-+
-+	cmpldi	5,8
-+	bge	_aesp8_ctr32_encrypt8x
-+
-+	lvsl	8,0,4
-+	vspltisb	9,-1
-+	lvx	7,0,4
-+	vperm	9,9,0,8
-+	vxor	8,8,3
-+
-+	lvx	0,0,6
-+	mtctr	9
-+	lvx	1,10,6
-+	addi	10,10,16
-+	vperm	0,1,0,10
-+	vxor	2,4,0
-+	lvx	0,10,6
-+	addi	10,10,16
-+	b	.Loop_ctr32_enc
-+
-+.align	5
-+.Loop_ctr32_enc:
-+	vperm	1,0,1,10
-+	.long	0x10420D08
-+	lvx	1,10,6
-+	addi	10,10,16
-+	vperm	0,1,0,10
-+	.long	0x10420508
-+	lvx	0,10,6
-+	addi	10,10,16
-+	bdnz	.Loop_ctr32_enc
-+
-+	vadduwm	4,4,11
-+	vor	3,5,5
-+	lvx	5,0,3
-+	addi	3,3,16
-+	subic.	5,5,1
-+
-+	vperm	1,0,1,10
-+	.long	0x10420D08
-+	lvx	1,10,6
-+	vperm	3,3,5,6
-+	li	10,16
-+	vperm	1,1,0,10
-+	lvx	0,0,6
-+	vxor	3,3,1
-+	.long	0x10421D09
-+
-+	lvx	1,10,6
-+	addi	10,10,16
-+	vperm	2,2,2,8
-+	vsel	3,7,2,9
-+	mtctr	9
-+	vperm	0,1,0,10
-+	vor	7,2,2
-+	vxor	2,4,0
-+	lvx	0,10,6
-+	addi	10,10,16
-+	stvx	3,0,4
-+	addi	4,4,16
-+	bne	.Loop_ctr32_enc
-+
-+	addi	4,4,-1
-+	lvx	2,0,4
-+	vsel	2,7,2,9
-+	stvx	2,0,4
-+
-+	or	12,12,12
-+	blr	
-+.long	0
-+.byte	0,12,0x14,0,0,0,6,0
-+.long	0
-+.align	5
-+_aesp8_ctr32_encrypt8x:
-+	stdu	1,-448(1)
-+	li	10,207
-+	li	11,223
-+	stvx	20,10,1
-+	addi	10,10,32
-+	stvx	21,11,1
-+	addi	11,11,32
-+	stvx	22,10,1
-+	addi	10,10,32
-+	stvx	23,11,1
-+	addi	11,11,32
-+	stvx	24,10,1
-+	addi	10,10,32
-+	stvx	25,11,1
-+	addi	11,11,32
-+	stvx	26,10,1
-+	addi	10,10,32
-+	stvx	27,11,1
-+	addi	11,11,32
-+	stvx	28,10,1
-+	addi	10,10,32
-+	stvx	29,11,1
-+	addi	11,11,32
-+	stvx	30,10,1
-+	stvx	31,11,1
-+	li	0,-1
-+	stw	12,396(1)
-+	li	8,0x10
-+	std	26,400(1)
-+	li	26,0x20
-+	std	27,408(1)
-+	li	27,0x30
-+	std	28,416(1)
-+	li	28,0x40
-+	std	29,424(1)
-+	li	29,0x50
-+	std	30,432(1)
-+	li	30,0x60
-+	std	31,440(1)
-+	li	31,0x70
-+	or	0,0,0
-+
-+	subi	9,9,3
-+
-+	lvx	23,0,6
-+	lvx	30,8,6
-+	addi	6,6,0x20
-+	lvx	31,0,6
-+	vperm	23,30,23,10
-+	addi	11,1,79
-+	mtctr	9
-+
-+.Load_ctr32_enc_key:
-+	vperm	24,31,30,10
-+	lvx	30,8,6
-+	addi	6,6,0x20
-+	stvx	24,0,11
-+	vperm	25,30,31,10
-+	lvx	31,0,6
-+	stvx	25,8,11
-+	addi	11,11,0x20
-+	bdnz	.Load_ctr32_enc_key
-+
-+	lvx	26,8,6
-+	vperm	24,31,30,10
-+	lvx	27,26,6
-+	stvx	24,0,11
-+	vperm	25,26,31,10
-+	lvx	28,27,6
-+	stvx	25,8,11
-+	addi	11,1,79
-+	vperm	26,27,26,10
-+	lvx	29,28,6
-+	vperm	27,28,27,10
-+	lvx	30,29,6
-+	vperm	28,29,28,10
-+	lvx	31,30,6
-+	vperm	29,30,29,10
-+	lvx	15,31,6
-+	vperm	30,31,30,10
-+	lvx	24,0,11
-+	vperm	31,15,31,10
-+	lvx	25,8,11
-+
-+	vadduwm	7,11,11
-+	subi	3,3,15
-+	sldi	5,5,4
-+
-+	vadduwm	16,4,11
-+	vadduwm	17,4,7
-+	vxor	15,4,23
-+	li	10,8
-+	vadduwm	18,16,7
-+	vxor	16,16,23
-+	lvsl	6,0,10
-+	vadduwm	19,17,7
-+	vxor	17,17,23
-+	vspltisb	3,0x0f
-+	vadduwm	20,18,7
-+	vxor	18,18,23
-+	vxor	6,6,3
-+	vadduwm	21,19,7
-+	vxor	19,19,23
-+	vadduwm	22,20,7
-+	vxor	20,20,23
-+	vadduwm	4,21,7
-+	vxor	21,21,23
-+	vxor	22,22,23
-+
-+	mtctr	9
-+	b	.Loop_ctr32_enc8x
-+.align	5
-+.Loop_ctr32_enc8x:
-+	.long	0x11EFC508
-+	.long	0x1210C508
-+	.long	0x1231C508
-+	.long	0x1252C508
-+	.long	0x1273C508
-+	.long	0x1294C508
-+	.long	0x12B5C508
-+	.long	0x12D6C508
-+.Loop_ctr32_enc8x_middle:
-+	lvx	24,26,11
-+	addi	11,11,0x20
-+
-+	.long	0x11EFCD08
-+	.long	0x1210CD08
-+	.long	0x1231CD08
-+	.long	0x1252CD08
-+	.long	0x1273CD08
-+	.long	0x1294CD08
-+	.long	0x12B5CD08
-+	.long	0x12D6CD08
-+	lvx	25,8,11
-+	bdnz	.Loop_ctr32_enc8x
-+
-+	subic	11,5,256
-+	.long	0x11EFC508
-+	.long	0x1210C508
-+	.long	0x1231C508
-+	.long	0x1252C508
-+	.long	0x1273C508
-+	.long	0x1294C508
-+	.long	0x12B5C508
-+	.long	0x12D6C508
-+
-+	subfe	0,0,0
-+	.long	0x11EFCD08
-+	.long	0x1210CD08
-+	.long	0x1231CD08
-+	.long	0x1252CD08
-+	.long	0x1273CD08
-+	.long	0x1294CD08
-+	.long	0x12B5CD08
-+	.long	0x12D6CD08
-+
-+	and	0,0,11
-+	addi	11,1,79
-+	.long	0x11EFD508
-+	.long	0x1210D508
-+	.long	0x1231D508
-+	.long	0x1252D508
-+	.long	0x1273D508
-+	.long	0x1294D508
-+	.long	0x12B5D508
-+	.long	0x12D6D508
-+	lvx	24,0,11
-+
-+	subic	5,5,129
-+	.long	0x11EFDD08
-+	addi	5,5,1
-+	.long	0x1210DD08
-+	.long	0x1231DD08
-+	.long	0x1252DD08
-+	.long	0x1273DD08
-+	.long	0x1294DD08
-+	.long	0x12B5DD08
-+	.long	0x12D6DD08
-+	lvx	25,8,11
-+
-+	.long	0x11EFE508
-+	.long	0x7C001E99
-+	.long	0x1210E508
-+	.long	0x7C281E99
-+	.long	0x1231E508
-+	.long	0x7C5A1E99
-+	.long	0x1252E508
-+	.long	0x7C7B1E99
-+	.long	0x1273E508
-+	.long	0x7D5C1E99
-+	.long	0x1294E508
-+	.long	0x7D9D1E99
-+	.long	0x12B5E508
-+	.long	0x7DBE1E99
-+	.long	0x12D6E508
-+	.long	0x7DDF1E99
-+	addi	3,3,0x80
-+
-+	.long	0x11EFED08
-+	vperm	0,0,0,6
-+	.long	0x1210ED08
-+	vperm	1,1,1,6
-+	.long	0x1231ED08
-+	vperm	2,2,2,6
-+	.long	0x1252ED08
-+	vperm	3,3,3,6
-+	.long	0x1273ED08
-+	vperm	10,10,10,6
-+	.long	0x1294ED08
-+	vperm	12,12,12,6
-+	.long	0x12B5ED08
-+	vperm	13,13,13,6
-+	.long	0x12D6ED08
-+	vperm	14,14,14,6
-+
-+	add	3,3,0
-+
-+
-+
-+	subfe.	0,0,0
-+	.long	0x11EFF508
-+	vxor	0,0,31
-+	.long	0x1210F508
-+	vxor	1,1,31
-+	.long	0x1231F508
-+	vxor	2,2,31
-+	.long	0x1252F508
-+	vxor	3,3,31
-+	.long	0x1273F508
-+	vxor	10,10,31
-+	.long	0x1294F508
-+	vxor	12,12,31
-+	.long	0x12B5F508
-+	vxor	13,13,31
-+	.long	0x12D6F508
-+	vxor	14,14,31
-+
-+	bne	.Lctr32_enc8x_break
-+
-+	.long	0x100F0509
-+	.long	0x10300D09
-+	vadduwm	16,4,11
-+	.long	0x10511509
-+	vadduwm	17,4,7
-+	vxor	15,4,23
-+	.long	0x10721D09
-+	vadduwm	18,16,7
-+	vxor	16,16,23
-+	.long	0x11535509
-+	vadduwm	19,17,7
-+	vxor	17,17,23
-+	.long	0x11946509
-+	vadduwm	20,18,7
-+	vxor	18,18,23
-+	.long	0x11B56D09
-+	vadduwm	21,19,7
-+	vxor	19,19,23
-+	.long	0x11D67509
-+	vadduwm	22,20,7
-+	vxor	20,20,23
-+	vperm	0,0,0,6
-+	vadduwm	4,21,7
-+	vxor	21,21,23
-+	vperm	1,1,1,6
-+	vxor	22,22,23
-+	mtctr	9
-+
-+	.long	0x11EFC508
-+	.long	0x7C002799
-+	vperm	2,2,2,6
-+	.long	0x1210C508
-+	.long	0x7C282799
-+	vperm	3,3,3,6
-+	.long	0x1231C508
-+	.long	0x7C5A2799
-+	vperm	10,10,10,6
-+	.long	0x1252C508
-+	.long	0x7C7B2799
-+	vperm	12,12,12,6
-+	.long	0x1273C508
-+	.long	0x7D5C2799
-+	vperm	13,13,13,6
-+	.long	0x1294C508
-+	.long	0x7D9D2799
-+	vperm	14,14,14,6
-+	.long	0x12B5C508
-+	.long	0x7DBE2799
-+	.long	0x12D6C508
-+	.long	0x7DDF2799
-+	addi	4,4,0x80
-+
-+	b	.Loop_ctr32_enc8x_middle
-+
-+.align	5
-+.Lctr32_enc8x_break:
-+	cmpwi	5,-0x60
-+	blt	.Lctr32_enc8x_one
-+	nop	
-+	beq	.Lctr32_enc8x_two
-+	cmpwi	5,-0x40
-+	blt	.Lctr32_enc8x_three
-+	nop	
-+	beq	.Lctr32_enc8x_four
-+	cmpwi	5,-0x20
-+	blt	.Lctr32_enc8x_five
-+	nop	
-+	beq	.Lctr32_enc8x_six
-+	cmpwi	5,0x00
-+	blt	.Lctr32_enc8x_seven
-+
-+.Lctr32_enc8x_eight:
-+	.long	0x11EF0509
-+	.long	0x12100D09
-+	.long	0x12311509
-+	.long	0x12521D09
-+	.long	0x12735509
-+	.long	0x12946509
-+	.long	0x12B56D09
-+	.long	0x12D67509
-+
-+	vperm	15,15,15,6
-+	vperm	16,16,16,6
-+	.long	0x7DE02799
-+	vperm	17,17,17,6
-+	.long	0x7E082799
-+	vperm	18,18,18,6
-+	.long	0x7E3A2799
-+	vperm	19,19,19,6
-+	.long	0x7E5B2799
-+	vperm	20,20,20,6
-+	.long	0x7E7C2799
-+	vperm	21,21,21,6
-+	.long	0x7E9D2799
-+	vperm	22,22,22,6
-+	.long	0x7EBE2799
-+	.long	0x7EDF2799
-+	addi	4,4,0x80
-+	b	.Lctr32_enc8x_done
-+
-+.align	5
-+.Lctr32_enc8x_seven:
-+	.long	0x11EF0D09
-+	.long	0x12101509
-+	.long	0x12311D09
-+	.long	0x12525509
-+	.long	0x12736509
-+	.long	0x12946D09
-+	.long	0x12B57509
-+
-+	vperm	15,15,15,6
-+	vperm	16,16,16,6
-+	.long	0x7DE02799
-+	vperm	17,17,17,6
-+	.long	0x7E082799
-+	vperm	18,18,18,6
-+	.long	0x7E3A2799
-+	vperm	19,19,19,6
-+	.long	0x7E5B2799
-+	vperm	20,20,20,6
-+	.long	0x7E7C2799
-+	vperm	21,21,21,6
-+	.long	0x7E9D2799
-+	.long	0x7EBE2799
-+	addi	4,4,0x70
-+	b	.Lctr32_enc8x_done
-+
-+.align	5
-+.Lctr32_enc8x_six:
-+	.long	0x11EF1509
-+	.long	0x12101D09
-+	.long	0x12315509
-+	.long	0x12526509
-+	.long	0x12736D09
-+	.long	0x12947509
-+
-+	vperm	15,15,15,6
-+	vperm	16,16,16,6
-+	.long	0x7DE02799
-+	vperm	17,17,17,6
-+	.long	0x7E082799
-+	vperm	18,18,18,6
-+	.long	0x7E3A2799
-+	vperm	19,19,19,6
-+	.long	0x7E5B2799
-+	vperm	20,20,20,6
-+	.long	0x7E7C2799
-+	.long	0x7E9D2799
-+	addi	4,4,0x60
-+	b	.Lctr32_enc8x_done
-+
-+.align	5
-+.Lctr32_enc8x_five:
-+	.long	0x11EF1D09
-+	.long	0x12105509
-+	.long	0x12316509
-+	.long	0x12526D09
-+	.long	0x12737509
-+
-+	vperm	15,15,15,6
-+	vperm	16,16,16,6
-+	.long	0x7DE02799
-+	vperm	17,17,17,6
-+	.long	0x7E082799
-+	vperm	18,18,18,6
-+	.long	0x7E3A2799
-+	vperm	19,19,19,6
-+	.long	0x7E5B2799
-+	.long	0x7E7C2799
-+	addi	4,4,0x50
-+	b	.Lctr32_enc8x_done
-+
-+.align	5
-+.Lctr32_enc8x_four:
-+	.long	0x11EF5509
-+	.long	0x12106509
-+	.long	0x12316D09
-+	.long	0x12527509
-+
-+	vperm	15,15,15,6
-+	vperm	16,16,16,6
-+	.long	0x7DE02799
-+	vperm	17,17,17,6
-+	.long	0x7E082799
-+	vperm	18,18,18,6
-+	.long	0x7E3A2799
-+	.long	0x7E5B2799
-+	addi	4,4,0x40
-+	b	.Lctr32_enc8x_done
-+
-+.align	5
-+.Lctr32_enc8x_three:
-+	.long	0x11EF6509
-+	.long	0x12106D09
-+	.long	0x12317509
-+
-+	vperm	15,15,15,6
-+	vperm	16,16,16,6
-+	.long	0x7DE02799
-+	vperm	17,17,17,6
-+	.long	0x7E082799
-+	.long	0x7E3A2799
-+	addi	4,4,0x30
-+	b	.Lctr32_enc8x_done
-+
-+.align	5
-+.Lctr32_enc8x_two:
-+	.long	0x11EF6D09
-+	.long	0x12107509
-+
-+	vperm	15,15,15,6
-+	vperm	16,16,16,6
-+	.long	0x7DE02799
-+	.long	0x7E082799
-+	addi	4,4,0x20
-+	b	.Lctr32_enc8x_done
-+
-+.align	5
-+.Lctr32_enc8x_one:
-+	.long	0x11EF7509
-+
-+	vperm	15,15,15,6
-+	.long	0x7DE02799
-+	addi	4,4,0x10
-+
-+.Lctr32_enc8x_done:
-+	li	10,79
-+	li	11,95
-+	stvx	6,10,1
-+	addi	10,10,32
-+	stvx	6,11,1
-+	addi	11,11,32
-+	stvx	6,10,1
-+	addi	10,10,32
-+	stvx	6,11,1
-+	addi	11,11,32
-+	stvx	6,10,1
-+	addi	10,10,32
-+	stvx	6,11,1
-+	addi	11,11,32
-+	stvx	6,10,1
-+	addi	10,10,32
-+	stvx	6,11,1
-+	addi	11,11,32
-+
-+	or	12,12,12
-+	lvx	20,10,1
-+	addi	10,10,32
-+	lvx	21,11,1
-+	addi	11,11,32
-+	lvx	22,10,1
-+	addi	10,10,32
-+	lvx	23,11,1
-+	addi	11,11,32
-+	lvx	24,10,1
-+	addi	10,10,32
-+	lvx	25,11,1
-+	addi	11,11,32
-+	lvx	26,10,1
-+	addi	10,10,32
-+	lvx	27,11,1
-+	addi	11,11,32
-+	lvx	28,10,1
-+	addi	10,10,32
-+	lvx	29,11,1
-+	addi	11,11,32
-+	lvx	30,10,1
-+	lvx	31,11,1
-+	ld	26,400(1)
-+	ld	27,408(1)
-+	ld	28,416(1)
-+	ld	29,424(1)
-+	ld	30,432(1)
-+	ld	31,440(1)
-+	addi	1,1,448
-+	blr	
-+.long	0
-+.byte	0,12,0x04,0,0x80,6,6,0
-+.long	0
-+.size	aes_hw_ctr32_encrypt_blocks,.-aes_hw_ctr32_encrypt_blocks
-+.globl	aes_hw_xts_encrypt
-+.type	aes_hw_xts_encrypt,@function
-+.align	5
-+aes_hw_xts_encrypt:
-+.localentry	aes_hw_xts_encrypt,0
-+
-+	mr	10,3
-+	li	3,-1
-+	cmpldi	5,16
-+	.long	0x4dc00020
-+
-+	lis	0,0xfff0
-+	li	12,-1
-+	li	11,0
-+	or	0,0,0
-+
-+	vspltisb	9,0x07
-+	lvsl	6,11,11
-+	vspltisb	11,0x0f
-+	vxor	6,6,9
-+
-+	li	3,15
-+	lvx	8,0,8
-+	lvsl	5,0,8
-+	lvx	4,3,8
-+	vxor	5,5,11
-+	vperm	8,8,4,5
-+
-+	neg	11,10
-+	lvsr	5,0,11
-+	lvx	2,0,10
-+	addi	10,10,15
-+	vxor	5,5,11
-+
-+	cmpldi	7,0
-+	beq	.Lxts_enc_no_key2
-+
-+	lvsr	7,0,7
-+	lwz	9,240(7)
-+	srwi	9,9,1
-+	subi	9,9,1
-+	li	3,16
-+
-+	lvx	0,0,7
-+	lvx	1,3,7
-+	addi	3,3,16
-+	vperm	0,1,0,7
-+	vxor	8,8,0
-+	lvx	0,3,7
-+	addi	3,3,16
-+	mtctr	9
-+
-+.Ltweak_xts_enc:
-+	vperm	1,0,1,7
-+	.long	0x11080D08
-+	lvx	1,3,7
-+	addi	3,3,16
-+	vperm	0,1,0,7
-+	.long	0x11080508
-+	lvx	0,3,7
-+	addi	3,3,16
-+	bdnz	.Ltweak_xts_enc
-+
-+	vperm	1,0,1,7
-+	.long	0x11080D08
-+	lvx	1,3,7
-+	vperm	0,1,0,7
-+	.long	0x11080509
-+
-+	li	8,0
-+	b	.Lxts_enc
-+
-+.Lxts_enc_no_key2:
-+	li	3,-16
-+	and	5,5,3
-+
-+
-+.Lxts_enc:
-+	lvx	4,0,10
-+	addi	10,10,16
-+
-+	lvsr	7,0,6
-+	lwz	9,240(6)
-+	srwi	9,9,1
-+	subi	9,9,1
-+	li	3,16
-+
-+	vslb	10,9,9
-+	vor	10,10,9
-+	vspltisb	11,1
-+	vsldoi	10,10,11,15
-+
-+	cmpldi	5,96
-+	bge	_aesp8_xts_encrypt6x
-+
-+	andi.	7,5,15
-+	subic	0,5,32
-+	subi	7,7,16
-+	subfe	0,0,0
-+	and	0,0,7
-+	add	10,10,0
-+
-+	lvx	0,0,6
-+	lvx	1,3,6
-+	addi	3,3,16
-+	vperm	2,2,4,5
-+	vperm	0,1,0,7
-+	vxor	2,2,8
-+	vxor	2,2,0
-+	lvx	0,3,6
-+	addi	3,3,16
-+	mtctr	9
-+	b	.Loop_xts_enc
-+
-+.align	5
-+.Loop_xts_enc:
-+	vperm	1,0,1,7
-+	.long	0x10420D08
-+	lvx	1,3,6
-+	addi	3,3,16
-+	vperm	0,1,0,7
-+	.long	0x10420508
-+	lvx	0,3,6
-+	addi	3,3,16
-+	bdnz	.Loop_xts_enc
-+
-+	vperm	1,0,1,7
-+	.long	0x10420D08
-+	lvx	1,3,6
-+	li	3,16
-+	vperm	0,1,0,7
-+	vxor	0,0,8
-+	.long	0x10620509
-+
-+	vperm	11,3,3,6
-+
-+	.long	0x7D602799
-+
-+	addi	4,4,16
-+
-+	subic.	5,5,16
-+	beq	.Lxts_enc_done
-+
-+	vor	2,4,4
-+	lvx	4,0,10
-+	addi	10,10,16
-+	lvx	0,0,6
-+	lvx	1,3,6
-+	addi	3,3,16
-+
-+	subic	0,5,32
-+	subfe	0,0,0
-+	and	0,0,7
-+	add	10,10,0
-+
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vand	11,11,10
-+	vxor	8,8,11
-+
-+	vperm	2,2,4,5
-+	vperm	0,1,0,7
-+	vxor	2,2,8
-+	vxor	3,3,0
-+	vxor	2,2,0
-+	lvx	0,3,6
-+	addi	3,3,16
-+
-+	mtctr	9
-+	cmpldi	5,16
-+	bge	.Loop_xts_enc
-+
-+	vxor	3,3,8
-+	lvsr	5,0,5
-+	vxor	4,4,4
-+	vspltisb	11,-1
-+	vperm	4,4,11,5
-+	vsel	2,2,3,4
-+
-+	subi	11,4,17
-+	subi	4,4,16
-+	mtctr	5
-+	li	5,16
-+.Loop_xts_enc_steal:
-+	lbzu	0,1(11)
-+	stb	0,16(11)
-+	bdnz	.Loop_xts_enc_steal
-+
-+	mtctr	9
-+	b	.Loop_xts_enc
-+
-+.Lxts_enc_done:
-+	cmpldi	8,0
-+	beq	.Lxts_enc_ret
-+
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vand	11,11,10
-+	vxor	8,8,11
-+
-+	vperm	8,8,8,6
-+	.long	0x7D004799
-+
-+.Lxts_enc_ret:
-+	or	12,12,12
-+	li	3,0
-+	blr	
-+.long	0
-+.byte	0,12,0x04,0,0x80,6,6,0
-+.long	0
-+.size	aes_hw_xts_encrypt,.-aes_hw_xts_encrypt
-+
-+.globl	aes_hw_xts_decrypt
-+.type	aes_hw_xts_decrypt,@function
-+.align	5
-+aes_hw_xts_decrypt:
-+.localentry	aes_hw_xts_decrypt,0
-+
-+	mr	10,3
-+	li	3,-1
-+	cmpldi	5,16
-+	.long	0x4dc00020
-+
-+	lis	0,0xfff8
-+	li	12,-1
-+	li	11,0
-+	or	0,0,0
-+
-+	andi.	0,5,15
-+	neg	0,0
-+	andi.	0,0,16
-+	sub	5,5,0
-+
-+	vspltisb	9,0x07
-+	lvsl	6,11,11
-+	vspltisb	11,0x0f
-+	vxor	6,6,9
-+
-+	li	3,15
-+	lvx	8,0,8
-+	lvsl	5,0,8
-+	lvx	4,3,8
-+	vxor	5,5,11
-+	vperm	8,8,4,5
-+
-+	neg	11,10
-+	lvsr	5,0,11
-+	lvx	2,0,10
-+	addi	10,10,15
-+	vxor	5,5,11
-+
-+	cmpldi	7,0
-+	beq	.Lxts_dec_no_key2
-+
-+	lvsr	7,0,7
-+	lwz	9,240(7)
-+	srwi	9,9,1
-+	subi	9,9,1
-+	li	3,16
-+
-+	lvx	0,0,7
-+	lvx	1,3,7
-+	addi	3,3,16
-+	vperm	0,1,0,7
-+	vxor	8,8,0
-+	lvx	0,3,7
-+	addi	3,3,16
-+	mtctr	9
-+
-+.Ltweak_xts_dec:
-+	vperm	1,0,1,7
-+	.long	0x11080D08
-+	lvx	1,3,7
-+	addi	3,3,16
-+	vperm	0,1,0,7
-+	.long	0x11080508
-+	lvx	0,3,7
-+	addi	3,3,16
-+	bdnz	.Ltweak_xts_dec
-+
-+	vperm	1,0,1,7
-+	.long	0x11080D08
-+	lvx	1,3,7
-+	vperm	0,1,0,7
-+	.long	0x11080509
-+
-+	li	8,0
-+	b	.Lxts_dec
-+
-+.Lxts_dec_no_key2:
-+	neg	3,5
-+	andi.	3,3,15
-+	add	5,5,3
-+
-+
-+.Lxts_dec:
-+	lvx	4,0,10
-+	addi	10,10,16
-+
-+	lvsr	7,0,6
-+	lwz	9,240(6)
-+	srwi	9,9,1
-+	subi	9,9,1
-+	li	3,16
-+
-+	vslb	10,9,9
-+	vor	10,10,9
-+	vspltisb	11,1
-+	vsldoi	10,10,11,15
-+
-+	cmpldi	5,96
-+	bge	_aesp8_xts_decrypt6x
-+
-+	lvx	0,0,6
-+	lvx	1,3,6
-+	addi	3,3,16
-+	vperm	2,2,4,5
-+	vperm	0,1,0,7
-+	vxor	2,2,8
-+	vxor	2,2,0
-+	lvx	0,3,6
-+	addi	3,3,16
-+	mtctr	9
-+
-+	cmpldi	5,16
-+	blt	.Ltail_xts_dec
-+
-+
-+.align	5
-+.Loop_xts_dec:
-+	vperm	1,0,1,7
-+	.long	0x10420D48
-+	lvx	1,3,6
-+	addi	3,3,16
-+	vperm	0,1,0,7
-+	.long	0x10420548
-+	lvx	0,3,6
-+	addi	3,3,16
-+	bdnz	.Loop_xts_dec
-+
-+	vperm	1,0,1,7
-+	.long	0x10420D48
-+	lvx	1,3,6
-+	li	3,16
-+	vperm	0,1,0,7
-+	vxor	0,0,8
-+	.long	0x10620549
-+
-+	vperm	11,3,3,6
-+
-+	.long	0x7D602799
-+
-+	addi	4,4,16
-+
-+	subic.	5,5,16
-+	beq	.Lxts_dec_done
-+
-+	vor	2,4,4
-+	lvx	4,0,10
-+	addi	10,10,16
-+	lvx	0,0,6
-+	lvx	1,3,6
-+	addi	3,3,16
-+
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vand	11,11,10
-+	vxor	8,8,11
-+
-+	vperm	2,2,4,5
-+	vperm	0,1,0,7
-+	vxor	2,2,8
-+	vxor	2,2,0
-+	lvx	0,3,6
-+	addi	3,3,16
-+
-+	mtctr	9
-+	cmpldi	5,16
-+	bge	.Loop_xts_dec
-+
-+.Ltail_xts_dec:
-+	vsrab	11,8,9
-+	vaddubm	12,8,8
-+	vsldoi	11,11,11,15
-+	vand	11,11,10
-+	vxor	12,12,11
-+
-+	subi	10,10,16
-+	add	10,10,5
-+
-+	vxor	2,2,8
-+	vxor	2,2,12
-+
-+.Loop_xts_dec_short:
-+	vperm	1,0,1,7
-+	.long	0x10420D48
-+	lvx	1,3,6
-+	addi	3,3,16
-+	vperm	0,1,0,7
-+	.long	0x10420548
-+	lvx	0,3,6
-+	addi	3,3,16
-+	bdnz	.Loop_xts_dec_short
-+
-+	vperm	1,0,1,7
-+	.long	0x10420D48
-+	lvx	1,3,6
-+	li	3,16
-+	vperm	0,1,0,7
-+	vxor	0,0,12
-+	.long	0x10620549
-+
-+	vperm	11,3,3,6
-+
-+	.long	0x7D602799
-+
-+
-+	vor	2,4,4
-+	lvx	4,0,10
-+
-+	lvx	0,0,6
-+	lvx	1,3,6
-+	addi	3,3,16
-+	vperm	2,2,4,5
-+	vperm	0,1,0,7
-+
-+	lvsr	5,0,5
-+	vxor	4,4,4
-+	vspltisb	11,-1
-+	vperm	4,4,11,5
-+	vsel	2,2,3,4
-+
-+	vxor	0,0,8
-+	vxor	2,2,0
-+	lvx	0,3,6
-+	addi	3,3,16
-+
-+	subi	11,4,1
-+	mtctr	5
-+	li	5,16
-+.Loop_xts_dec_steal:
-+	lbzu	0,1(11)
-+	stb	0,16(11)
-+	bdnz	.Loop_xts_dec_steal
-+
-+	mtctr	9
-+	b	.Loop_xts_dec
-+
-+.Lxts_dec_done:
-+	cmpldi	8,0
-+	beq	.Lxts_dec_ret
-+
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vand	11,11,10
-+	vxor	8,8,11
-+
-+	vperm	8,8,8,6
-+	.long	0x7D004799
-+
-+.Lxts_dec_ret:
-+	or	12,12,12
-+	li	3,0
-+	blr	
-+.long	0
-+.byte	0,12,0x04,0,0x80,6,6,0
-+.long	0
-+.size	aes_hw_xts_decrypt,.-aes_hw_xts_decrypt
-+.align	5
-+_aesp8_xts_encrypt6x:
-+	stdu	1,-448(1)
-+	mflr	11
-+	li	7,207
-+	li	3,223
-+	std	11,464(1)
-+	stvx	20,7,1
-+	addi	7,7,32
-+	stvx	21,3,1
-+	addi	3,3,32
-+	stvx	22,7,1
-+	addi	7,7,32
-+	stvx	23,3,1
-+	addi	3,3,32
-+	stvx	24,7,1
-+	addi	7,7,32
-+	stvx	25,3,1
-+	addi	3,3,32
-+	stvx	26,7,1
-+	addi	7,7,32
-+	stvx	27,3,1
-+	addi	3,3,32
-+	stvx	28,7,1
-+	addi	7,7,32
-+	stvx	29,3,1
-+	addi	3,3,32
-+	stvx	30,7,1
-+	stvx	31,3,1
-+	li	0,-1
-+	stw	12,396(1)
-+	li	3,0x10
-+	std	26,400(1)
-+	li	26,0x20
-+	std	27,408(1)
-+	li	27,0x30
-+	std	28,416(1)
-+	li	28,0x40
-+	std	29,424(1)
-+	li	29,0x50
-+	std	30,432(1)
-+	li	30,0x60
-+	std	31,440(1)
-+	li	31,0x70
-+	or	0,0,0
-+
-+	subi	9,9,3
-+
-+	lvx	23,0,6
-+	lvx	30,3,6
-+	addi	6,6,0x20
-+	lvx	31,0,6
-+	vperm	23,30,23,7
-+	addi	7,1,79
-+	mtctr	9
-+
-+.Load_xts_enc_key:
-+	vperm	24,31,30,7
-+	lvx	30,3,6
-+	addi	6,6,0x20
-+	stvx	24,0,7
-+	vperm	25,30,31,7
-+	lvx	31,0,6
-+	stvx	25,3,7
-+	addi	7,7,0x20
-+	bdnz	.Load_xts_enc_key
-+
-+	lvx	26,3,6
-+	vperm	24,31,30,7
-+	lvx	27,26,6
-+	stvx	24,0,7
-+	vperm	25,26,31,7
-+	lvx	28,27,6
-+	stvx	25,3,7
-+	addi	7,1,79
-+	vperm	26,27,26,7
-+	lvx	29,28,6
-+	vperm	27,28,27,7
-+	lvx	30,29,6
-+	vperm	28,29,28,7
-+	lvx	31,30,6
-+	vperm	29,30,29,7
-+	lvx	22,31,6
-+	vperm	30,31,30,7
-+	lvx	24,0,7
-+	vperm	31,22,31,7
-+	lvx	25,3,7
-+
-+	vperm	0,2,4,5
-+	subi	10,10,31
-+	vxor	17,8,23
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vand	11,11,10
-+	vxor	7,0,17
-+	vxor	8,8,11
-+
-+	.long	0x7C235699
-+	vxor	18,8,23
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vperm	1,1,1,6
-+	vand	11,11,10
-+	vxor	12,1,18
-+	vxor	8,8,11
-+
-+	.long	0x7C5A5699
-+	andi.	31,5,15
-+	vxor	19,8,23
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vperm	2,2,2,6
-+	vand	11,11,10
-+	vxor	13,2,19
-+	vxor	8,8,11
-+
-+	.long	0x7C7B5699
-+	sub	5,5,31
-+	vxor	20,8,23
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vperm	3,3,3,6
-+	vand	11,11,10
-+	vxor	14,3,20
-+	vxor	8,8,11
-+
-+	.long	0x7C9C5699
-+	subi	5,5,0x60
-+	vxor	21,8,23
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vperm	4,4,4,6
-+	vand	11,11,10
-+	vxor	15,4,21
-+	vxor	8,8,11
-+
-+	.long	0x7CBD5699
-+	addi	10,10,0x60
-+	vxor	22,8,23
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vperm	5,5,5,6
-+	vand	11,11,10
-+	vxor	16,5,22
-+	vxor	8,8,11
-+
-+	vxor	31,31,23
-+	mtctr	9
-+	b	.Loop_xts_enc6x
-+
-+.align	5
-+.Loop_xts_enc6x:
-+	.long	0x10E7C508
-+	.long	0x118CC508
-+	.long	0x11ADC508
-+	.long	0x11CEC508
-+	.long	0x11EFC508
-+	.long	0x1210C508
-+	lvx	24,26,7
-+	addi	7,7,0x20
-+
-+	.long	0x10E7CD08
-+	.long	0x118CCD08
-+	.long	0x11ADCD08
-+	.long	0x11CECD08
-+	.long	0x11EFCD08
-+	.long	0x1210CD08
-+	lvx	25,3,7
-+	bdnz	.Loop_xts_enc6x
-+
-+	subic	5,5,96
-+	vxor	0,17,31
-+	.long	0x10E7C508
-+	.long	0x118CC508
-+	vsrab	11,8,9
-+	vxor	17,8,23
-+	vaddubm	8,8,8
-+	.long	0x11ADC508
-+	.long	0x11CEC508
-+	vsldoi	11,11,11,15
-+	.long	0x11EFC508
-+	.long	0x1210C508
-+
-+	subfe.	0,0,0
-+	vand	11,11,10
-+	.long	0x10E7CD08
-+	.long	0x118CCD08
-+	vxor	8,8,11
-+	.long	0x11ADCD08
-+	.long	0x11CECD08
-+	vxor	1,18,31
-+	vsrab	11,8,9
-+	vxor	18,8,23
-+	.long	0x11EFCD08
-+	.long	0x1210CD08
-+
-+	and	0,0,5
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	.long	0x10E7D508
-+	.long	0x118CD508
-+	vand	11,11,10
-+	.long	0x11ADD508
-+	.long	0x11CED508
-+	vxor	8,8,11
-+	.long	0x11EFD508
-+	.long	0x1210D508
-+
-+	add	10,10,0
-+
-+
-+
-+	vxor	2,19,31
-+	vsrab	11,8,9
-+	vxor	19,8,23
-+	vaddubm	8,8,8
-+	.long	0x10E7DD08
-+	.long	0x118CDD08
-+	vsldoi	11,11,11,15
-+	.long	0x11ADDD08
-+	.long	0x11CEDD08
-+	vand	11,11,10
-+	.long	0x11EFDD08
-+	.long	0x1210DD08
-+
-+	addi	7,1,79
-+	vxor	8,8,11
-+	.long	0x10E7E508
-+	.long	0x118CE508
-+	vxor	3,20,31
-+	vsrab	11,8,9
-+	vxor	20,8,23
-+	.long	0x11ADE508
-+	.long	0x11CEE508
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	.long	0x11EFE508
-+	.long	0x1210E508
-+	lvx	24,0,7
-+	vand	11,11,10
-+
-+	.long	0x10E7ED08
-+	.long	0x118CED08
-+	vxor	8,8,11
-+	.long	0x11ADED08
-+	.long	0x11CEED08
-+	vxor	4,21,31
-+	vsrab	11,8,9
-+	vxor	21,8,23
-+	.long	0x11EFED08
-+	.long	0x1210ED08
-+	lvx	25,3,7
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+
-+	.long	0x10E7F508
-+	.long	0x118CF508
-+	vand	11,11,10
-+	.long	0x11ADF508
-+	.long	0x11CEF508
-+	vxor	8,8,11
-+	.long	0x11EFF508
-+	.long	0x1210F508
-+	vxor	5,22,31
-+	vsrab	11,8,9
-+	vxor	22,8,23
-+
-+	.long	0x10E70509
-+	.long	0x7C005699
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	.long	0x118C0D09
-+	.long	0x7C235699
-+	.long	0x11AD1509
-+	vperm	0,0,0,6
-+	.long	0x7C5A5699
-+	vand	11,11,10
-+	.long	0x11CE1D09
-+	vperm	1,1,1,6
-+	.long	0x7C7B5699
-+	.long	0x11EF2509
-+	vperm	2,2,2,6
-+	.long	0x7C9C5699
-+	vxor	8,8,11
-+	.long	0x11702D09
-+
-+	vperm	3,3,3,6
-+	.long	0x7CBD5699
-+	addi	10,10,0x60
-+	vperm	4,4,4,6
-+	vperm	5,5,5,6
-+
-+	vperm	7,7,7,6
-+	vperm	12,12,12,6
-+	.long	0x7CE02799
-+	vxor	7,0,17
-+	vperm	13,13,13,6
-+	.long	0x7D832799
-+	vxor	12,1,18
-+	vperm	14,14,14,6
-+	.long	0x7DBA2799
-+	vxor	13,2,19
-+	vperm	15,15,15,6
-+	.long	0x7DDB2799
-+	vxor	14,3,20
-+	vperm	16,11,11,6
-+	.long	0x7DFC2799
-+	vxor	15,4,21
-+	.long	0x7E1D2799
-+
-+	vxor	16,5,22
-+	addi	4,4,0x60
-+
-+	mtctr	9
-+	beq	.Loop_xts_enc6x
-+
-+	addic.	5,5,0x60
-+	beq	.Lxts_enc6x_zero
-+	cmpwi	5,0x20
-+	blt	.Lxts_enc6x_one
-+	nop	
-+	beq	.Lxts_enc6x_two
-+	cmpwi	5,0x40
-+	blt	.Lxts_enc6x_three
-+	nop	
-+	beq	.Lxts_enc6x_four
-+
-+.Lxts_enc6x_five:
-+	vxor	7,1,17
-+	vxor	12,2,18
-+	vxor	13,3,19
-+	vxor	14,4,20
-+	vxor	15,5,21
-+
-+	bl	_aesp8_xts_enc5x
-+
-+	vperm	7,7,7,6
-+	vor	17,22,22
-+	vperm	12,12,12,6
-+	.long	0x7CE02799
-+	vperm	13,13,13,6
-+	.long	0x7D832799
-+	vperm	14,14,14,6
-+	.long	0x7DBA2799
-+	vxor	11,15,22
-+	vperm	15,15,15,6
-+	.long	0x7DDB2799
-+	.long	0x7DFC2799
-+	addi	4,4,0x50
-+	bne	.Lxts_enc6x_steal
-+	b	.Lxts_enc6x_done
-+
-+.align	4
-+.Lxts_enc6x_four:
-+	vxor	7,2,17
-+	vxor	12,3,18
-+	vxor	13,4,19
-+	vxor	14,5,20
-+	vxor	15,15,15
-+
-+	bl	_aesp8_xts_enc5x
-+
-+	vperm	7,7,7,6
-+	vor	17,21,21
-+	vperm	12,12,12,6
-+	.long	0x7CE02799
-+	vperm	13,13,13,6
-+	.long	0x7D832799
-+	vxor	11,14,21
-+	vperm	14,14,14,6
-+	.long	0x7DBA2799
-+	.long	0x7DDB2799
-+	addi	4,4,0x40
-+	bne	.Lxts_enc6x_steal
-+	b	.Lxts_enc6x_done
-+
-+.align	4
-+.Lxts_enc6x_three:
-+	vxor	7,3,17
-+	vxor	12,4,18
-+	vxor	13,5,19
-+	vxor	14,14,14
-+	vxor	15,15,15
-+
-+	bl	_aesp8_xts_enc5x
-+
-+	vperm	7,7,7,6
-+	vor	17,20,20
-+	vperm	12,12,12,6
-+	.long	0x7CE02799
-+	vxor	11,13,20
-+	vperm	13,13,13,6
-+	.long	0x7D832799
-+	.long	0x7DBA2799
-+	addi	4,4,0x30
-+	bne	.Lxts_enc6x_steal
-+	b	.Lxts_enc6x_done
-+
-+.align	4
-+.Lxts_enc6x_two:
-+	vxor	7,4,17
-+	vxor	12,5,18
-+	vxor	13,13,13
-+	vxor	14,14,14
-+	vxor	15,15,15
-+
-+	bl	_aesp8_xts_enc5x
-+
-+	vperm	7,7,7,6
-+	vor	17,19,19
-+	vxor	11,12,19
-+	vperm	12,12,12,6
-+	.long	0x7CE02799
-+	.long	0x7D832799
-+	addi	4,4,0x20
-+	bne	.Lxts_enc6x_steal
-+	b	.Lxts_enc6x_done
-+
-+.align	4
-+.Lxts_enc6x_one:
-+	vxor	7,5,17
-+	nop	
-+.Loop_xts_enc1x:
-+	.long	0x10E7C508
-+	lvx	24,26,7
-+	addi	7,7,0x20
-+
-+	.long	0x10E7CD08
-+	lvx	25,3,7
-+	bdnz	.Loop_xts_enc1x
-+
-+	add	10,10,31
-+	cmpwi	31,0
-+	.long	0x10E7C508
-+
-+	subi	10,10,16
-+	.long	0x10E7CD08
-+
-+	lvsr	5,0,31
-+	.long	0x10E7D508
-+
-+	.long	0x7C005699
-+	.long	0x10E7DD08
-+
-+	addi	7,1,79
-+	.long	0x10E7E508
-+	lvx	24,0,7
-+
-+	.long	0x10E7ED08
-+	lvx	25,3,7
-+	vxor	17,17,31
-+
-+	vperm	0,0,0,6
-+	.long	0x10E7F508
-+
-+	vperm	0,0,0,5
-+	.long	0x10E78D09
-+
-+	vor	17,18,18
-+	vxor	11,7,18
-+	vperm	7,7,7,6
-+	.long	0x7CE02799
-+	addi	4,4,0x10
-+	bne	.Lxts_enc6x_steal
-+	b	.Lxts_enc6x_done
-+
-+.align	4
-+.Lxts_enc6x_zero:
-+	cmpwi	31,0
-+	beq	.Lxts_enc6x_done
-+
-+	add	10,10,31
-+	subi	10,10,16
-+	.long	0x7C005699
-+	lvsr	5,0,31
-+	vperm	0,0,0,6
-+	vperm	0,0,0,5
-+	vxor	11,11,17
-+.Lxts_enc6x_steal:
-+	vxor	0,0,17
-+	vxor	7,7,7
-+	vspltisb	12,-1
-+	vperm	7,7,12,5
-+	vsel	7,0,11,7
-+
-+	subi	30,4,17
-+	subi	4,4,16
-+	mtctr	31
-+.Loop_xts_enc6x_steal:
-+	lbzu	0,1(30)
-+	stb	0,16(30)
-+	bdnz	.Loop_xts_enc6x_steal
-+
-+	li	31,0
-+	mtctr	9
-+	b	.Loop_xts_enc1x
-+
-+.align	4
-+.Lxts_enc6x_done:
-+	cmpldi	8,0
-+	beq	.Lxts_enc6x_ret
-+
-+	vxor	8,17,23
-+	vperm	8,8,8,6
-+	.long	0x7D004799
-+
-+.Lxts_enc6x_ret:
-+	mtlr	11
-+	li	10,79
-+	li	11,95
-+	stvx	9,10,1
-+	addi	10,10,32
-+	stvx	9,11,1
-+	addi	11,11,32
-+	stvx	9,10,1
-+	addi	10,10,32
-+	stvx	9,11,1
-+	addi	11,11,32
-+	stvx	9,10,1
-+	addi	10,10,32
-+	stvx	9,11,1
-+	addi	11,11,32
-+	stvx	9,10,1
-+	addi	10,10,32
-+	stvx	9,11,1
-+	addi	11,11,32
-+
-+	or	12,12,12
-+	lvx	20,10,1
-+	addi	10,10,32
-+	lvx	21,11,1
-+	addi	11,11,32
-+	lvx	22,10,1
-+	addi	10,10,32
-+	lvx	23,11,1
-+	addi	11,11,32
-+	lvx	24,10,1
-+	addi	10,10,32
-+	lvx	25,11,1
-+	addi	11,11,32
-+	lvx	26,10,1
-+	addi	10,10,32
-+	lvx	27,11,1
-+	addi	11,11,32
-+	lvx	28,10,1
-+	addi	10,10,32
-+	lvx	29,11,1
-+	addi	11,11,32
-+	lvx	30,10,1
-+	lvx	31,11,1
-+	ld	26,400(1)
-+	ld	27,408(1)
-+	ld	28,416(1)
-+	ld	29,424(1)
-+	ld	30,432(1)
-+	ld	31,440(1)
-+	addi	1,1,448
-+	blr	
-+.long	0
-+.byte	0,12,0x04,1,0x80,6,6,0
-+.long	0
-+
-+.align	5
-+_aesp8_xts_enc5x:
-+	.long	0x10E7C508
-+	.long	0x118CC508
-+	.long	0x11ADC508
-+	.long	0x11CEC508
-+	.long	0x11EFC508
-+	lvx	24,26,7
-+	addi	7,7,0x20
-+
-+	.long	0x10E7CD08
-+	.long	0x118CCD08
-+	.long	0x11ADCD08
-+	.long	0x11CECD08
-+	.long	0x11EFCD08
-+	lvx	25,3,7
-+	bdnz	_aesp8_xts_enc5x
-+
-+	add	10,10,31
-+	cmpwi	31,0
-+	.long	0x10E7C508
-+	.long	0x118CC508
-+	.long	0x11ADC508
-+	.long	0x11CEC508
-+	.long	0x11EFC508
-+
-+	subi	10,10,16
-+	.long	0x10E7CD08
-+	.long	0x118CCD08
-+	.long	0x11ADCD08
-+	.long	0x11CECD08
-+	.long	0x11EFCD08
-+	vxor	17,17,31
-+
-+	.long	0x10E7D508
-+	lvsr	5,0,31
-+	.long	0x118CD508
-+	.long	0x11ADD508
-+	.long	0x11CED508
-+	.long	0x11EFD508
-+	vxor	1,18,31
-+
-+	.long	0x10E7DD08
-+	.long	0x7C005699
-+	.long	0x118CDD08
-+	.long	0x11ADDD08
-+	.long	0x11CEDD08
-+	.long	0x11EFDD08
-+	vxor	2,19,31
-+
-+	addi	7,1,79
-+	.long	0x10E7E508
-+	.long	0x118CE508
-+	.long	0x11ADE508
-+	.long	0x11CEE508
-+	.long	0x11EFE508
-+	lvx	24,0,7
-+	vxor	3,20,31
-+
-+	.long	0x10E7ED08
-+	vperm	0,0,0,6
-+	.long	0x118CED08
-+	.long	0x11ADED08
-+	.long	0x11CEED08
-+	.long	0x11EFED08
-+	lvx	25,3,7
-+	vxor	4,21,31
-+
-+	.long	0x10E7F508
-+	vperm	0,0,0,5
-+	.long	0x118CF508
-+	.long	0x11ADF508
-+	.long	0x11CEF508
-+	.long	0x11EFF508
-+
-+	.long	0x10E78D09
-+	.long	0x118C0D09
-+	.long	0x11AD1509
-+	.long	0x11CE1D09
-+	.long	0x11EF2509
-+	blr	
-+.long	0
-+.byte	0,12,0x14,0,0,0,0,0
-+
-+.align	5
-+_aesp8_xts_decrypt6x:
-+	stdu	1,-448(1)
-+	mflr	11
-+	li	7,207
-+	li	3,223
-+	std	11,464(1)
-+	stvx	20,7,1
-+	addi	7,7,32
-+	stvx	21,3,1
-+	addi	3,3,32
-+	stvx	22,7,1
-+	addi	7,7,32
-+	stvx	23,3,1
-+	addi	3,3,32
-+	stvx	24,7,1
-+	addi	7,7,32
-+	stvx	25,3,1
-+	addi	3,3,32
-+	stvx	26,7,1
-+	addi	7,7,32
-+	stvx	27,3,1
-+	addi	3,3,32
-+	stvx	28,7,1
-+	addi	7,7,32
-+	stvx	29,3,1
-+	addi	3,3,32
-+	stvx	30,7,1
-+	stvx	31,3,1
-+	li	0,-1
-+	stw	12,396(1)
-+	li	3,0x10
-+	std	26,400(1)
-+	li	26,0x20
-+	std	27,408(1)
-+	li	27,0x30
-+	std	28,416(1)
-+	li	28,0x40
-+	std	29,424(1)
-+	li	29,0x50
-+	std	30,432(1)
-+	li	30,0x60
-+	std	31,440(1)
-+	li	31,0x70
-+	or	0,0,0
-+
-+	subi	9,9,3
-+
-+	lvx	23,0,6
-+	lvx	30,3,6
-+	addi	6,6,0x20
-+	lvx	31,0,6
-+	vperm	23,30,23,7
-+	addi	7,1,79
-+	mtctr	9
-+
-+.Load_xts_dec_key:
-+	vperm	24,31,30,7
-+	lvx	30,3,6
-+	addi	6,6,0x20
-+	stvx	24,0,7
-+	vperm	25,30,31,7
-+	lvx	31,0,6
-+	stvx	25,3,7
-+	addi	7,7,0x20
-+	bdnz	.Load_xts_dec_key
-+
-+	lvx	26,3,6
-+	vperm	24,31,30,7
-+	lvx	27,26,6
-+	stvx	24,0,7
-+	vperm	25,26,31,7
-+	lvx	28,27,6
-+	stvx	25,3,7
-+	addi	7,1,79
-+	vperm	26,27,26,7
-+	lvx	29,28,6
-+	vperm	27,28,27,7
-+	lvx	30,29,6
-+	vperm	28,29,28,7
-+	lvx	31,30,6
-+	vperm	29,30,29,7
-+	lvx	22,31,6
-+	vperm	30,31,30,7
-+	lvx	24,0,7
-+	vperm	31,22,31,7
-+	lvx	25,3,7
-+
-+	vperm	0,2,4,5
-+	subi	10,10,31
-+	vxor	17,8,23
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vand	11,11,10
-+	vxor	7,0,17
-+	vxor	8,8,11
-+
-+	.long	0x7C235699
-+	vxor	18,8,23
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vperm	1,1,1,6
-+	vand	11,11,10
-+	vxor	12,1,18
-+	vxor	8,8,11
-+
-+	.long	0x7C5A5699
-+	andi.	31,5,15
-+	vxor	19,8,23
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vperm	2,2,2,6
-+	vand	11,11,10
-+	vxor	13,2,19
-+	vxor	8,8,11
-+
-+	.long	0x7C7B5699
-+	sub	5,5,31
-+	vxor	20,8,23
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vperm	3,3,3,6
-+	vand	11,11,10
-+	vxor	14,3,20
-+	vxor	8,8,11
-+
-+	.long	0x7C9C5699
-+	subi	5,5,0x60
-+	vxor	21,8,23
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vperm	4,4,4,6
-+	vand	11,11,10
-+	vxor	15,4,21
-+	vxor	8,8,11
-+
-+	.long	0x7CBD5699
-+	addi	10,10,0x60
-+	vxor	22,8,23
-+	vsrab	11,8,9
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	vperm	5,5,5,6
-+	vand	11,11,10
-+	vxor	16,5,22
-+	vxor	8,8,11
-+
-+	vxor	31,31,23
-+	mtctr	9
-+	b	.Loop_xts_dec6x
-+
-+.align	5
-+.Loop_xts_dec6x:
-+	.long	0x10E7C548
-+	.long	0x118CC548
-+	.long	0x11ADC548
-+	.long	0x11CEC548
-+	.long	0x11EFC548
-+	.long	0x1210C548
-+	lvx	24,26,7
-+	addi	7,7,0x20
-+
-+	.long	0x10E7CD48
-+	.long	0x118CCD48
-+	.long	0x11ADCD48
-+	.long	0x11CECD48
-+	.long	0x11EFCD48
-+	.long	0x1210CD48
-+	lvx	25,3,7
-+	bdnz	.Loop_xts_dec6x
-+
-+	subic	5,5,96
-+	vxor	0,17,31
-+	.long	0x10E7C548
-+	.long	0x118CC548
-+	vsrab	11,8,9
-+	vxor	17,8,23
-+	vaddubm	8,8,8
-+	.long	0x11ADC548
-+	.long	0x11CEC548
-+	vsldoi	11,11,11,15
-+	.long	0x11EFC548
-+	.long	0x1210C548
-+
-+	subfe.	0,0,0
-+	vand	11,11,10
-+	.long	0x10E7CD48
-+	.long	0x118CCD48
-+	vxor	8,8,11
-+	.long	0x11ADCD48
-+	.long	0x11CECD48
-+	vxor	1,18,31
-+	vsrab	11,8,9
-+	vxor	18,8,23
-+	.long	0x11EFCD48
-+	.long	0x1210CD48
-+
-+	and	0,0,5
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	.long	0x10E7D548
-+	.long	0x118CD548
-+	vand	11,11,10
-+	.long	0x11ADD548
-+	.long	0x11CED548
-+	vxor	8,8,11
-+	.long	0x11EFD548
-+	.long	0x1210D548
-+
-+	add	10,10,0
-+
-+
-+
-+	vxor	2,19,31
-+	vsrab	11,8,9
-+	vxor	19,8,23
-+	vaddubm	8,8,8
-+	.long	0x10E7DD48
-+	.long	0x118CDD48
-+	vsldoi	11,11,11,15
-+	.long	0x11ADDD48
-+	.long	0x11CEDD48
-+	vand	11,11,10
-+	.long	0x11EFDD48
-+	.long	0x1210DD48
-+
-+	addi	7,1,79
-+	vxor	8,8,11
-+	.long	0x10E7E548
-+	.long	0x118CE548
-+	vxor	3,20,31
-+	vsrab	11,8,9
-+	vxor	20,8,23
-+	.long	0x11ADE548
-+	.long	0x11CEE548
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	.long	0x11EFE548
-+	.long	0x1210E548
-+	lvx	24,0,7
-+	vand	11,11,10
-+
-+	.long	0x10E7ED48
-+	.long	0x118CED48
-+	vxor	8,8,11
-+	.long	0x11ADED48
-+	.long	0x11CEED48
-+	vxor	4,21,31
-+	vsrab	11,8,9
-+	vxor	21,8,23
-+	.long	0x11EFED48
-+	.long	0x1210ED48
-+	lvx	25,3,7
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+
-+	.long	0x10E7F548
-+	.long	0x118CF548
-+	vand	11,11,10
-+	.long	0x11ADF548
-+	.long	0x11CEF548
-+	vxor	8,8,11
-+	.long	0x11EFF548
-+	.long	0x1210F548
-+	vxor	5,22,31
-+	vsrab	11,8,9
-+	vxor	22,8,23
-+
-+	.long	0x10E70549
-+	.long	0x7C005699
-+	vaddubm	8,8,8
-+	vsldoi	11,11,11,15
-+	.long	0x118C0D49
-+	.long	0x7C235699
-+	.long	0x11AD1549
-+	vperm	0,0,0,6
-+	.long	0x7C5A5699
-+	vand	11,11,10
-+	.long	0x11CE1D49
-+	vperm	1,1,1,6
-+	.long	0x7C7B5699
-+	.long	0x11EF2549
-+	vperm	2,2,2,6
-+	.long	0x7C9C5699
-+	vxor	8,8,11
-+	.long	0x12102D49
-+	vperm	3,3,3,6
-+	.long	0x7CBD5699
-+	addi	10,10,0x60
-+	vperm	4,4,4,6
-+	vperm	5,5,5,6
-+
-+	vperm	7,7,7,6
-+	vperm	12,12,12,6
-+	.long	0x7CE02799
-+	vxor	7,0,17
-+	vperm	13,13,13,6
-+	.long	0x7D832799
-+	vxor	12,1,18
-+	vperm	14,14,14,6
-+	.long	0x7DBA2799
-+	vxor	13,2,19
-+	vperm	15,15,15,6
-+	.long	0x7DDB2799
-+	vxor	14,3,20
-+	vperm	16,16,16,6
-+	.long	0x7DFC2799
-+	vxor	15,4,21
-+	.long	0x7E1D2799
-+	vxor	16,5,22
-+	addi	4,4,0x60
-+
-+	mtctr	9
-+	beq	.Loop_xts_dec6x
-+
-+	addic.	5,5,0x60
-+	beq	.Lxts_dec6x_zero
-+	cmpwi	5,0x20
-+	blt	.Lxts_dec6x_one
-+	nop	
-+	beq	.Lxts_dec6x_two
-+	cmpwi	5,0x40
-+	blt	.Lxts_dec6x_three
-+	nop	
-+	beq	.Lxts_dec6x_four
-+
-+.Lxts_dec6x_five:
-+	vxor	7,1,17
-+	vxor	12,2,18
-+	vxor	13,3,19
-+	vxor	14,4,20
-+	vxor	15,5,21
-+
-+	bl	_aesp8_xts_dec5x
-+
-+	vperm	7,7,7,6
-+	vor	17,22,22
-+	vxor	18,8,23
-+	vperm	12,12,12,6
-+	.long	0x7CE02799
-+	vxor	7,0,18
-+	vperm	13,13,13,6
-+	.long	0x7D832799
-+	vperm	14,14,14,6
-+	.long	0x7DBA2799
-+	vperm	15,15,15,6
-+	.long	0x7DDB2799
-+	.long	0x7DFC2799
-+	addi	4,4,0x50
-+	bne	.Lxts_dec6x_steal
-+	b	.Lxts_dec6x_done
-+
-+.align	4
-+.Lxts_dec6x_four:
-+	vxor	7,2,17
-+	vxor	12,3,18
-+	vxor	13,4,19
-+	vxor	14,5,20
-+	vxor	15,15,15
-+
-+	bl	_aesp8_xts_dec5x
-+
-+	vperm	7,7,7,6
-+	vor	17,21,21
-+	vor	18,22,22
-+	vperm	12,12,12,6
-+	.long	0x7CE02799
-+	vxor	7,0,22
-+	vperm	13,13,13,6
-+	.long	0x7D832799
-+	vperm	14,14,14,6
-+	.long	0x7DBA2799
-+	.long	0x7DDB2799
-+	addi	4,4,0x40
-+	bne	.Lxts_dec6x_steal
-+	b	.Lxts_dec6x_done
-+
-+.align	4
-+.Lxts_dec6x_three:
-+	vxor	7,3,17
-+	vxor	12,4,18
-+	vxor	13,5,19
-+	vxor	14,14,14
-+	vxor	15,15,15
-+
-+	bl	_aesp8_xts_dec5x
-+
-+	vperm	7,7,7,6
-+	vor	17,20,20
-+	vor	18,21,21
-+	vperm	12,12,12,6
-+	.long	0x7CE02799
-+	vxor	7,0,21
-+	vperm	13,13,13,6
-+	.long	0x7D832799
-+	.long	0x7DBA2799
-+	addi	4,4,0x30
-+	bne	.Lxts_dec6x_steal
-+	b	.Lxts_dec6x_done
-+
-+.align	4
-+.Lxts_dec6x_two:
-+	vxor	7,4,17
-+	vxor	12,5,18
-+	vxor	13,13,13
-+	vxor	14,14,14
-+	vxor	15,15,15
-+
-+	bl	_aesp8_xts_dec5x
-+
-+	vperm	7,7,7,6
-+	vor	17,19,19
-+	vor	18,20,20
-+	vperm	12,12,12,6
-+	.long	0x7CE02799
-+	vxor	7,0,20
-+	.long	0x7D832799
-+	addi	4,4,0x20
-+	bne	.Lxts_dec6x_steal
-+	b	.Lxts_dec6x_done
-+
-+.align	4
-+.Lxts_dec6x_one:
-+	vxor	7,5,17
-+	nop	
-+.Loop_xts_dec1x:
-+	.long	0x10E7C548
-+	lvx	24,26,7
-+	addi	7,7,0x20
-+
-+	.long	0x10E7CD48
-+	lvx	25,3,7
-+	bdnz	.Loop_xts_dec1x
-+
-+	subi	0,31,1
-+	.long	0x10E7C548
-+
-+	andi.	0,0,16
-+	cmpwi	31,0
-+	.long	0x10E7CD48
-+
-+	sub	10,10,0
-+	.long	0x10E7D548
-+
-+	.long	0x7C005699
-+	.long	0x10E7DD48
-+
-+	addi	7,1,79
-+	.long	0x10E7E548
-+	lvx	24,0,7
-+
-+	.long	0x10E7ED48
-+	lvx	25,3,7
-+	vxor	17,17,31
-+
-+	vperm	0,0,0,6
-+	.long	0x10E7F548
-+
-+	mtctr	9
-+	.long	0x10E78D49
-+
-+	vor	17,18,18
-+	vor	18,19,19
-+	vperm	7,7,7,6
-+	.long	0x7CE02799
-+	addi	4,4,0x10
-+	vxor	7,0,19
-+	bne	.Lxts_dec6x_steal
-+	b	.Lxts_dec6x_done
-+
-+.align	4
-+.Lxts_dec6x_zero:
-+	cmpwi	31,0
-+	beq	.Lxts_dec6x_done
-+
-+	.long	0x7C005699
-+	vperm	0,0,0,6
-+	vxor	7,0,18
-+.Lxts_dec6x_steal:
-+	.long	0x10E7C548
-+	lvx	24,26,7
-+	addi	7,7,0x20
-+
-+	.long	0x10E7CD48
-+	lvx	25,3,7
-+	bdnz	.Lxts_dec6x_steal
-+
-+	add	10,10,31
-+	.long	0x10E7C548
-+
-+	cmpwi	31,0
-+	.long	0x10E7CD48
-+
-+	.long	0x7C005699
-+	.long	0x10E7D548
-+
-+	lvsr	5,0,31
-+	.long	0x10E7DD48
-+
-+	addi	7,1,79
-+	.long	0x10E7E548
-+	lvx	24,0,7
-+
-+	.long	0x10E7ED48
-+	lvx	25,3,7
-+	vxor	18,18,31
-+
-+	vperm	0,0,0,6
-+	.long	0x10E7F548
-+
-+	vperm	0,0,0,5
-+	.long	0x11679549
-+
-+	vperm	7,11,11,6
-+	.long	0x7CE02799
-+
-+
-+	vxor	7,7,7
-+	vspltisb	12,-1
-+	vperm	7,7,12,5
-+	vsel	7,0,11,7
-+	vxor	7,7,17
-+
-+	subi	30,4,1
-+	mtctr	31
-+.Loop_xts_dec6x_steal:
-+	lbzu	0,1(30)
-+	stb	0,16(30)
-+	bdnz	.Loop_xts_dec6x_steal
-+
-+	li	31,0
-+	mtctr	9
-+	b	.Loop_xts_dec1x
-+
-+.align	4
-+.Lxts_dec6x_done:
-+	cmpldi	8,0
-+	beq	.Lxts_dec6x_ret
-+
-+	vxor	8,17,23
-+	vperm	8,8,8,6
-+	.long	0x7D004799
-+
-+.Lxts_dec6x_ret:
-+	mtlr	11
-+	li	10,79
-+	li	11,95
-+	stvx	9,10,1
-+	addi	10,10,32
-+	stvx	9,11,1
-+	addi	11,11,32
-+	stvx	9,10,1
-+	addi	10,10,32
-+	stvx	9,11,1
-+	addi	11,11,32
-+	stvx	9,10,1
-+	addi	10,10,32
-+	stvx	9,11,1
-+	addi	11,11,32
-+	stvx	9,10,1
-+	addi	10,10,32
-+	stvx	9,11,1
-+	addi	11,11,32
-+
-+	or	12,12,12
-+	lvx	20,10,1
-+	addi	10,10,32
-+	lvx	21,11,1
-+	addi	11,11,32
-+	lvx	22,10,1
-+	addi	10,10,32
-+	lvx	23,11,1
-+	addi	11,11,32
-+	lvx	24,10,1
-+	addi	10,10,32
-+	lvx	25,11,1
-+	addi	11,11,32
-+	lvx	26,10,1
-+	addi	10,10,32
-+	lvx	27,11,1
-+	addi	11,11,32
-+	lvx	28,10,1
-+	addi	10,10,32
-+	lvx	29,11,1
-+	addi	11,11,32
-+	lvx	30,10,1
-+	lvx	31,11,1
-+	ld	26,400(1)
-+	ld	27,408(1)
-+	ld	28,416(1)
-+	ld	29,424(1)
-+	ld	30,432(1)
-+	ld	31,440(1)
-+	addi	1,1,448
-+	blr	
-+.long	0
-+.byte	0,12,0x04,1,0x80,6,6,0
-+.long	0
-+
-+.align	5
-+_aesp8_xts_dec5x:
-+	.long	0x10E7C548
-+	.long	0x118CC548
-+	.long	0x11ADC548
-+	.long	0x11CEC548
-+	.long	0x11EFC548
-+	lvx	24,26,7
-+	addi	7,7,0x20
-+
-+	.long	0x10E7CD48
-+	.long	0x118CCD48
-+	.long	0x11ADCD48
-+	.long	0x11CECD48
-+	.long	0x11EFCD48
-+	lvx	25,3,7
-+	bdnz	_aesp8_xts_dec5x
-+
-+	subi	0,31,1
-+	.long	0x10E7C548
-+	.long	0x118CC548
-+	.long	0x11ADC548
-+	.long	0x11CEC548
-+	.long	0x11EFC548
-+
-+	andi.	0,0,16
-+	cmpwi	31,0
-+	.long	0x10E7CD48
-+	.long	0x118CCD48
-+	.long	0x11ADCD48
-+	.long	0x11CECD48
-+	.long	0x11EFCD48
-+	vxor	17,17,31
-+
-+	sub	10,10,0
-+	.long	0x10E7D548
-+	.long	0x118CD548
-+	.long	0x11ADD548
-+	.long	0x11CED548
-+	.long	0x11EFD548
-+	vxor	1,18,31
-+
-+	.long	0x10E7DD48
-+	.long	0x7C005699
-+	.long	0x118CDD48
-+	.long	0x11ADDD48
-+	.long	0x11CEDD48
-+	.long	0x11EFDD48
-+	vxor	2,19,31
-+
-+	addi	7,1,79
-+	.long	0x10E7E548
-+	.long	0x118CE548
-+	.long	0x11ADE548
-+	.long	0x11CEE548
-+	.long	0x11EFE548
-+	lvx	24,0,7
-+	vxor	3,20,31
-+
-+	.long	0x10E7ED48
-+	vperm	0,0,0,6
-+	.long	0x118CED48
-+	.long	0x11ADED48
-+	.long	0x11CEED48
-+	.long	0x11EFED48
-+	lvx	25,3,7
-+	vxor	4,21,31
-+
-+	.long	0x10E7F548
-+	.long	0x118CF548
-+	.long	0x11ADF548
-+	.long	0x11CEF548
-+	.long	0x11EFF548
-+
-+	.long	0x10E78D49
-+	.long	0x118C0D49
-+	.long	0x11AD1549
-+	.long	0x11CE1D49
-+	.long	0x11EF2549
-+	mtctr	9
-+	blr	
-+.long	0
-+.byte	0,12,0x14,0,0,0,0,0
-+#endif  // !OPENSSL_NO_ASM && __powerpc64__ && __ELF__
-+#if defined(__ELF__)
-+// See https://www.airs.com/blog/archives/518.
-+.section .note.GNU-stack,"",%progbits
-+#endif
-diff -up chromium-125.0.6422.41/third_party/boringssl/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc-linux.S.0002-third-party-boringssl-add-generated-files chromium-125.0.6422.41/third_party/boringssl/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc-linux.S
---- chromium-125.0.6422.41/third_party/boringssl/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc-linux.S.0002-third-party-boringssl-add-generated-files	2024-05-13 21:28:13.295879825 +0200
-+++ chromium-125.0.6422.41/third_party/boringssl/linux-ppc64le/crypto/fipsmodule/ghashp8-ppc-linux.S	2024-05-13 21:28:13.295879825 +0200
-@@ -0,0 +1,590 @@
-+// This file is generated from a similarly-named Perl script in the BoringSSL
-+// source tree. Do not edit by hand.
-+
-+#if defined(__has_feature)
-+#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
-+#define OPENSSL_NO_ASM
-+#endif
-+#endif
-+
-+#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) && defined(__ELF__)
-+.machine	"any"
-+
-+.abiversion	2
-+.text
-+
-+.globl	gcm_init_p8
-+.type	gcm_init_p8,@function
-+.align	5
-+gcm_init_p8:
-+.localentry	gcm_init_p8,0
-+
-+	li	0,-4096
-+	li	8,0x10
-+	li	12,-1
-+	li	9,0x20
-+	or	0,0,0
-+	li	10,0x30
-+	.long	0x7D202699
-+
-+	vspltisb	8,-16
-+	vspltisb	5,1
-+	vaddubm	8,8,8
-+	vxor	4,4,4
-+	vor	8,8,5
-+	vsldoi	8,8,4,15
-+	vsldoi	6,4,5,1
-+	vaddubm	8,8,8
-+	vspltisb	7,7
-+	vor	8,8,6
-+	vspltb	6,9,0
-+	vsl	9,9,5
-+	vsrab	6,6,7
-+	vand	6,6,8
-+	vxor	3,9,6
-+
-+	vsldoi	9,3,3,8
-+	vsldoi	8,4,8,8
-+	vsldoi	11,4,9,8
-+	vsldoi	10,9,4,8
-+
-+	.long	0x7D001F99
-+	.long	0x7D681F99
-+	li	8,0x40
-+	.long	0x7D291F99
-+	li	9,0x50
-+	.long	0x7D4A1F99
-+	li	10,0x60
-+
-+	.long	0x10035CC8
-+	.long	0x10234CC8
-+	.long	0x104354C8
-+
-+	.long	0x10E044C8
-+
-+	vsldoi	5,1,4,8
-+	vsldoi	6,4,1,8
-+	vxor	0,0,5
-+	vxor	2,2,6
-+
-+	vsldoi	0,0,0,8
-+	vxor	0,0,7
-+
-+	vsldoi	6,0,0,8
-+	.long	0x100044C8
-+	vxor	6,6,2
-+	vxor	16,0,6
-+
-+	vsldoi	17,16,16,8
-+	vsldoi	19,4,17,8
-+	vsldoi	18,17,4,8
-+
-+	.long	0x7E681F99
-+	li	8,0x70
-+	.long	0x7E291F99
-+	li	9,0x80
-+	.long	0x7E4A1F99
-+	li	10,0x90
-+	.long	0x10039CC8
-+	.long	0x11B09CC8
-+	.long	0x10238CC8
-+	.long	0x11D08CC8
-+	.long	0x104394C8
-+	.long	0x11F094C8
-+
-+	.long	0x10E044C8
-+	.long	0x114D44C8
-+
-+	vsldoi	5,1,4,8
-+	vsldoi	6,4,1,8
-+	vsldoi	11,14,4,8
-+	vsldoi	9,4,14,8
-+	vxor	0,0,5
-+	vxor	2,2,6
-+	vxor	13,13,11
-+	vxor	15,15,9
-+
-+	vsldoi	0,0,0,8
-+	vsldoi	13,13,13,8
-+	vxor	0,0,7
-+	vxor	13,13,10
-+
-+	vsldoi	6,0,0,8
-+	vsldoi	9,13,13,8
-+	.long	0x100044C8
-+	.long	0x11AD44C8
-+	vxor	6,6,2
-+	vxor	9,9,15
-+	vxor	0,0,6
-+	vxor	13,13,9
-+
-+	vsldoi	9,0,0,8
-+	vsldoi	17,13,13,8
-+	vsldoi	11,4,9,8
-+	vsldoi	10,9,4,8
-+	vsldoi	19,4,17,8
-+	vsldoi	18,17,4,8
-+
-+	.long	0x7D681F99
-+	li	8,0xa0
-+	.long	0x7D291F99
-+	li	9,0xb0
-+	.long	0x7D4A1F99
-+	li	10,0xc0
-+	.long	0x7E681F99
-+	.long	0x7E291F99
-+	.long	0x7E4A1F99
-+
-+	or	12,12,12
-+	blr	
-+.long	0
-+.byte	0,12,0x14,0,0,0,2,0
-+.long	0
-+.size	gcm_init_p8,.-gcm_init_p8
-+.globl	gcm_gmult_p8
-+.type	gcm_gmult_p8,@function
-+.align	5
-+gcm_gmult_p8:
-+.localentry	gcm_gmult_p8,0
-+
-+	lis	0,0xfff8
-+	li	8,0x10
-+	li	12,-1
-+	li	9,0x20
-+	or	0,0,0
-+	li	10,0x30
-+	.long	0x7C601E99
-+
-+	.long	0x7D682699
-+	lvsl	12,0,0
-+	.long	0x7D292699
-+	vspltisb	5,0x07
-+	.long	0x7D4A2699
-+	vxor	12,12,5
-+	.long	0x7D002699
-+	vperm	3,3,3,12
-+	vxor	4,4,4
-+
-+	.long	0x10035CC8
-+	.long	0x10234CC8
-+	.long	0x104354C8
-+
-+	.long	0x10E044C8
-+
-+	vsldoi	5,1,4,8
-+	vsldoi	6,4,1,8
-+	vxor	0,0,5
-+	vxor	2,2,6
-+
-+	vsldoi	0,0,0,8
-+	vxor	0,0,7
-+
-+	vsldoi	6,0,0,8
-+	.long	0x100044C8
-+	vxor	6,6,2
-+	vxor	0,0,6
-+
-+	vperm	0,0,0,12
-+	.long	0x7C001F99
-+
-+	or	12,12,12
-+	blr	
-+.long	0
-+.byte	0,12,0x14,0,0,0,2,0
-+.long	0
-+.size	gcm_gmult_p8,.-gcm_gmult_p8
-+
-+.globl	gcm_ghash_p8
-+.type	gcm_ghash_p8,@function
-+.align	5
-+gcm_ghash_p8:
-+.localentry	gcm_ghash_p8,0
-+
-+	li	0,-4096
-+	li	8,0x10
-+	li	12,-1
-+	li	9,0x20
-+	or	0,0,0
-+	li	10,0x30
-+	.long	0x7C001E99
-+
-+	.long	0x7D682699
-+	li	8,0x40
-+	lvsl	12,0,0
-+	.long	0x7D292699
-+	li	9,0x50
-+	vspltisb	5,0x07
-+	.long	0x7D4A2699
-+	li	10,0x60
-+	vxor	12,12,5
-+	.long	0x7D002699
-+	vperm	0,0,0,12
-+	vxor	4,4,4
-+
-+	cmpldi	6,64
-+	bge	.Lgcm_ghash_p8_4x
-+
-+	.long	0x7C602E99
-+	addi	5,5,16
-+	subic.	6,6,16
-+	vperm	3,3,3,12
-+	vxor	3,3,0
-+	beq	.Lshort
-+
-+	.long	0x7E682699
-+	li	8,16
-+	.long	0x7E292699
-+	add	9,5,6
-+	.long	0x7E4A2699
-+
-+
-+.align	5
-+.Loop_2x:
-+	.long	0x7E002E99
-+	vperm	16,16,16,12
-+
-+	subic	6,6,32
-+	.long	0x10039CC8
-+	.long	0x11B05CC8
-+	subfe	0,0,0
-+	.long	0x10238CC8
-+	.long	0x11D04CC8
-+	and	0,0,6
-+	.long	0x104394C8
-+	.long	0x11F054C8
-+	add	5,5,0
-+
-+	vxor	0,0,13
-+	vxor	1,1,14
-+
-+	.long	0x10E044C8
-+
-+	vsldoi	5,1,4,8
-+	vsldoi	6,4,1,8
-+	vxor	2,2,15
-+	vxor	0,0,5
-+	vxor	2,2,6
-+
-+	vsldoi	0,0,0,8
-+	vxor	0,0,7
-+	.long	0x7C682E99
-+	addi	5,5,32
-+
-+	vsldoi	6,0,0,8
-+	.long	0x100044C8
-+	vperm	3,3,3,12
-+	vxor	6,6,2
-+	vxor	3,3,6
-+	vxor	3,3,0
-+	cmpld	9,5
-+	bgt	.Loop_2x
-+
-+	cmplwi	6,0
-+	bne	.Leven
-+
-+.Lshort:
-+	.long	0x10035CC8
-+	.long	0x10234CC8
-+	.long	0x104354C8
-+
-+	.long	0x10E044C8
-+
-+	vsldoi	5,1,4,8
-+	vsldoi	6,4,1,8
-+	vxor	0,0,5
-+	vxor	2,2,6
-+
-+	vsldoi	0,0,0,8
-+	vxor	0,0,7
-+
-+	vsldoi	6,0,0,8
-+	.long	0x100044C8
-+	vxor	6,6,2
-+
-+.Leven:
-+	vxor	0,0,6
-+	vperm	0,0,0,12
-+	.long	0x7C001F99
-+
-+	or	12,12,12
-+	blr	
-+.long	0
-+.byte	0,12,0x14,0,0,0,4,0
-+.long	0
-+.align	5
-+.gcm_ghash_p8_4x:
-+.Lgcm_ghash_p8_4x:
-+	stdu	1,-256(1)
-+	li	10,63
-+	li	11,79
-+	stvx	20,10,1
-+	addi	10,10,32
-+	stvx	21,11,1
-+	addi	11,11,32
-+	stvx	22,10,1
-+	addi	10,10,32
-+	stvx	23,11,1
-+	addi	11,11,32
-+	stvx	24,10,1
-+	addi	10,10,32
-+	stvx	25,11,1
-+	addi	11,11,32
-+	stvx	26,10,1
-+	addi	10,10,32
-+	stvx	27,11,1
-+	addi	11,11,32
-+	stvx	28,10,1
-+	addi	10,10,32
-+	stvx	29,11,1
-+	addi	11,11,32
-+	stvx	30,10,1
-+	li	10,0x60
-+	stvx	31,11,1
-+	li	0,-1
-+	stw	12,252(1)
-+	or	0,0,0
-+
-+	lvsl	5,0,8
-+
-+	li	8,0x70
-+	.long	0x7E292699
-+	li	9,0x80
-+	vspltisb	6,8
-+
-+	li	10,0x90
-+	.long	0x7EE82699
-+	li	8,0xa0
-+	.long	0x7F092699
-+	li	9,0xb0
-+	.long	0x7F2A2699
-+	li	10,0xc0
-+	.long	0x7FA82699
-+	li	8,0x10
-+	.long	0x7FC92699
-+	li	9,0x20
-+	.long	0x7FEA2699
-+	li	10,0x30
-+
-+	vsldoi	7,4,6,8
-+	vaddubm	18,5,7
-+	vaddubm	19,6,18
-+
-+	srdi	6,6,4
-+
-+	.long	0x7C602E99
-+	.long	0x7E082E99
-+	subic.	6,6,8
-+	.long	0x7EC92E99
-+	.long	0x7F8A2E99
-+	addi	5,5,0x40
-+	vperm	3,3,3,12
-+	vperm	16,16,16,12
-+	vperm	22,22,22,12
-+	vperm	28,28,28,12
-+
-+	vxor	2,3,0
-+
-+	.long	0x11B0BCC8
-+	.long	0x11D0C4C8
-+	.long	0x11F0CCC8
-+
-+	vperm	11,17,9,18
-+	vperm	5,22,28,19
-+	vperm	10,17,9,19
-+	vperm	6,22,28,18
-+	.long	0x12B68CC8
-+	.long	0x12855CC8
-+	.long	0x137C4CC8
-+	.long	0x134654C8
-+
-+	vxor	21,21,14
-+	vxor	20,20,13
-+	vxor	27,27,21
-+	vxor	26,26,15
-+
-+	blt	.Ltail_4x
-+
-+.Loop_4x:
-+	.long	0x7C602E99
-+	.long	0x7E082E99
-+	subic.	6,6,4
-+	.long	0x7EC92E99
-+	.long	0x7F8A2E99
-+	addi	5,5,0x40
-+	vperm	16,16,16,12
-+	vperm	22,22,22,12
-+	vperm	28,28,28,12
-+	vperm	3,3,3,12
-+
-+	.long	0x1002ECC8
-+	.long	0x1022F4C8
-+	.long	0x1042FCC8
-+	.long	0x11B0BCC8
-+	.long	0x11D0C4C8
-+	.long	0x11F0CCC8
-+
-+	vxor	0,0,20
-+	vxor	1,1,27
-+	vxor	2,2,26
-+	vperm	5,22,28,19
-+	vperm	6,22,28,18
-+
-+	.long	0x10E044C8
-+	.long	0x12855CC8
-+	.long	0x134654C8
-+
-+	vsldoi	5,1,4,8
-+	vsldoi	6,4,1,8
-+	vxor	0,0,5
-+	vxor	2,2,6
-+
-+	vsldoi	0,0,0,8
-+	vxor	0,0,7
-+
-+	vsldoi	6,0,0,8
-+	.long	0x12B68CC8
-+	.long	0x137C4CC8
-+	.long	0x100044C8
-+
-+	vxor	20,20,13
-+	vxor	26,26,15
-+	vxor	2,2,3
-+	vxor	21,21,14
-+	vxor	2,2,6
-+	vxor	27,27,21
-+	vxor	2,2,0
-+	bge	.Loop_4x
-+
-+.Ltail_4x:
-+	.long	0x1002ECC8
-+	.long	0x1022F4C8
-+	.long	0x1042FCC8
-+
-+	vxor	0,0,20
-+	vxor	1,1,27
-+
-+	.long	0x10E044C8
-+
-+	vsldoi	5,1,4,8
-+	vsldoi	6,4,1,8
-+	vxor	2,2,26
-+	vxor	0,0,5
-+	vxor	2,2,6
-+
-+	vsldoi	0,0,0,8
-+	vxor	0,0,7
-+
-+	vsldoi	6,0,0,8
-+	.long	0x100044C8
-+	vxor	6,6,2
-+	vxor	0,0,6
-+
-+	addic.	6,6,4
-+	beq	.Ldone_4x
-+
-+	.long	0x7C602E99
-+	cmpldi	6,2
-+	li	6,-4
-+	blt	.Lone
-+	.long	0x7E082E99
-+	beq	.Ltwo
-+
-+.Lthree:
-+	.long	0x7EC92E99
-+	vperm	3,3,3,12
-+	vperm	16,16,16,12
-+	vperm	22,22,22,12
-+
-+	vxor	2,3,0
-+	vor	29,23,23
-+	vor	30, 24, 24
-+	vor	31,25,25
-+
-+	vperm	5,16,22,19
-+	vperm	6,16,22,18
-+	.long	0x12B08CC8
-+	.long	0x13764CC8
-+	.long	0x12855CC8
-+	.long	0x134654C8
-+
-+	vxor	27,27,21
-+	b	.Ltail_4x
-+
-+.align	4
-+.Ltwo:
-+	vperm	3,3,3,12
-+	vperm	16,16,16,12
-+
-+	vxor	2,3,0
-+	vperm	5,4,16,19
-+	vperm	6,4,16,18
-+
-+	vsldoi	29,4,17,8
-+	vor	30, 17, 17
-+	vsldoi	31,17,4,8
-+
-+	.long	0x12855CC8
-+	.long	0x13704CC8
-+	.long	0x134654C8
-+
-+	b	.Ltail_4x
-+
-+.align	4
-+.Lone:
-+	vperm	3,3,3,12
-+
-+	vsldoi	29,4,9,8
-+	vor	30, 9, 9
-+	vsldoi	31,9,4,8
-+
-+	vxor	2,3,0
-+	vxor	20,20,20
-+	vxor	27,27,27
-+	vxor	26,26,26
-+
-+	b	.Ltail_4x
-+
-+.Ldone_4x:
-+	vperm	0,0,0,12
-+	.long	0x7C001F99
-+
-+	li	10,63
-+	li	11,79
-+	or	12,12,12
-+	lvx	20,10,1
-+	addi	10,10,32
-+	lvx	21,11,1
-+	addi	11,11,32
-+	lvx	22,10,1
-+	addi	10,10,32
-+	lvx	23,11,1
-+	addi	11,11,32
-+	lvx	24,10,1
-+	addi	10,10,32
-+	lvx	25,11,1
-+	addi	11,11,32
-+	lvx	26,10,1
-+	addi	10,10,32
-+	lvx	27,11,1
-+	addi	11,11,32
-+	lvx	28,10,1
-+	addi	10,10,32
-+	lvx	29,11,1
-+	addi	11,11,32
-+	lvx	30,10,1
-+	lvx	31,11,1
-+	addi	1,1,256
-+	blr	
-+.long	0
-+.byte	0,12,0x04,0,0x80,0,4,0
-+.long	0
-+.size	gcm_ghash_p8,.-gcm_ghash_p8
-+
-+.byte	71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
-+.align	2
-+.align	2
-+#endif  // !OPENSSL_NO_ASM && __powerpc64__ && __ELF__
-+#if defined(__ELF__)
-+// See https://www.airs.com/blog/archives/518.
-+.section .note.GNU-stack,"",%progbits
-+#endif
-diff -up chromium-125.0.6422.41/third_party/boringssl/linux-ppc64le/crypto/test/trampoline-ppc-linux.S.0002-third-party-boringssl-add-generated-files chromium-125.0.6422.41/third_party/boringssl/linux-ppc64le/crypto/test/trampoline-ppc-linux.S
---- chromium-125.0.6422.41/third_party/boringssl/linux-ppc64le/crypto/test/trampoline-ppc-linux.S.0002-third-party-boringssl-add-generated-files	2024-05-13 21:28:13.295879825 +0200
-+++ chromium-125.0.6422.41/third_party/boringssl/linux-ppc64le/crypto/test/trampoline-ppc-linux.S	2024-05-13 21:28:13.295879825 +0200
-@@ -0,0 +1,1413 @@
-+// This file is generated from a similarly-named Perl script in the BoringSSL
-+// source tree. Do not edit by hand.
-+
-+#if defined(__has_feature)
-+#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
-+#define OPENSSL_NO_ASM
-+#endif
-+#endif
-+
-+#if !defined(OPENSSL_NO_ASM) && defined(__powerpc64__) && defined(__ELF__)
-+.machine	"any"
-+.abiversion	2
-+.text
-+
-+
-+
-+
-+
-+
-+
-+.globl	abi_test_trampoline
-+.type	abi_test_trampoline,@function
-+.align	5
-+abi_test_trampoline:
-+.localentry	abi_test_trampoline,0
-+
-+
-+	mflr	0
-+	std	0, 16(1)
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+	stdu	1, -528(1)
-+
-+	mfcr	0
-+	std	0, 8(1)
-+	std	2, 24(1)
-+	std	4, 32(1)
-+	li	11, 48
-+	stvx	20, 11, 1
-+	li	11, 64
-+	stvx	21, 11, 1
-+	li	11, 80
-+	stvx	22, 11, 1
-+	li	11, 96
-+	stvx	23, 11, 1
-+	li	11, 112
-+	stvx	24, 11, 1
-+	li	11, 128
-+	stvx	25, 11, 1
-+	li	11, 144
-+	stvx	26, 11, 1
-+	li	11, 160
-+	stvx	27, 11, 1
-+	li	11, 176
-+	stvx	28, 11, 1
-+	li	11, 192
-+	stvx	29, 11, 1
-+	li	11, 208
-+	stvx	30, 11, 1
-+	li	11, 224
-+	stvx	31, 11, 1
-+	std	14, 240(1)
-+	std	15, 248(1)
-+	std	16, 256(1)
-+	std	17, 264(1)
-+	std	18, 272(1)
-+	std	19, 280(1)
-+	std	20, 288(1)
-+	std	21, 296(1)
-+	std	22, 304(1)
-+	std	23, 312(1)
-+	std	24, 320(1)
-+	std	25, 328(1)
-+	std	26, 336(1)
-+	std	27, 344(1)
-+	std	28, 352(1)
-+	std	29, 360(1)
-+	std	30, 368(1)
-+	std	31, 376(1)
-+	stfd	14, 384(1)
-+	stfd	15, 392(1)
-+	stfd	16, 400(1)
-+	stfd	17, 408(1)
-+	stfd	18, 416(1)
-+	stfd	19, 424(1)
-+	stfd	20, 432(1)
-+	stfd	21, 440(1)
-+	stfd	22, 448(1)
-+	stfd	23, 456(1)
-+	stfd	24, 464(1)
-+	stfd	25, 472(1)
-+	stfd	26, 480(1)
-+	stfd	27, 488(1)
-+	stfd	28, 496(1)
-+	stfd	29, 504(1)
-+	stfd	30, 512(1)
-+	stfd	31, 520(1)
-+	li	11, 0
-+	lvx	20, 11, 4
-+	li	11, 16
-+	lvx	21, 11, 4
-+	li	11, 32
-+	lvx	22, 11, 4
-+	li	11, 48
-+	lvx	23, 11, 4
-+	li	11, 64
-+	lvx	24, 11, 4
-+	li	11, 80
-+	lvx	25, 11, 4
-+	li	11, 96
-+	lvx	26, 11, 4
-+	li	11, 112
-+	lvx	27, 11, 4
-+	li	11, 128
-+	lvx	28, 11, 4
-+	li	11, 144
-+	lvx	29, 11, 4
-+	li	11, 160
-+	lvx	30, 11, 4
-+	li	11, 176
-+	lvx	31, 11, 4
-+	ld	14, 192(4)
-+	ld	15, 200(4)
-+	ld	16, 208(4)
-+	ld	17, 216(4)
-+	ld	18, 224(4)
-+	ld	19, 232(4)
-+	ld	20, 240(4)
-+	ld	21, 248(4)
-+	ld	22, 256(4)
-+	ld	23, 264(4)
-+	ld	24, 272(4)
-+	ld	25, 280(4)
-+	ld	26, 288(4)
-+	ld	27, 296(4)
-+	ld	28, 304(4)
-+	ld	29, 312(4)
-+	ld	30, 320(4)
-+	ld	31, 328(4)
-+	lfd	14, 336(4)
-+	lfd	15, 344(4)
-+	lfd	16, 352(4)
-+	lfd	17, 360(4)
-+	lfd	18, 368(4)
-+	lfd	19, 376(4)
-+	lfd	20, 384(4)
-+	lfd	21, 392(4)
-+	lfd	22, 400(4)
-+	lfd	23, 408(4)
-+	lfd	24, 416(4)
-+	lfd	25, 424(4)
-+	lfd	26, 432(4)
-+	lfd	27, 440(4)
-+	lfd	28, 448(4)
-+	lfd	29, 456(4)
-+	lfd	30, 464(4)
-+	lfd	31, 472(4)
-+
-+	ld	0, 480(4)
-+	mtcr	0
-+
-+
-+	addi	11, 5, -8
-+	mr	12, 3
-+
-+
-+	cmpdi	6, 0
-+	beq	.Largs_done
-+	mtctr	6
-+	ldu	3, 8(11)
-+	bdz	.Largs_done
-+	ldu	4, 8(11)
-+	bdz	.Largs_done
-+	ldu	5, 8(11)
-+	bdz	.Largs_done
-+	ldu	6, 8(11)
-+	bdz	.Largs_done
-+	ldu	7, 8(11)
-+	bdz	.Largs_done
-+	ldu	8, 8(11)
-+	bdz	.Largs_done
-+	ldu	9, 8(11)
-+	bdz	.Largs_done
-+	ldu	10, 8(11)
-+
-+.Largs_done:
-+	li	2, 0
-+	mtctr	12
-+	bctrl	
-+	ld	2, 24(1)
-+
-+	ld	4, 32(1)
-+	li	11, 0
-+	stvx	20, 11, 4
-+	li	11, 16
-+	stvx	21, 11, 4
-+	li	11, 32
-+	stvx	22, 11, 4
-+	li	11, 48
-+	stvx	23, 11, 4
-+	li	11, 64
-+	stvx	24, 11, 4
-+	li	11, 80
-+	stvx	25, 11, 4
-+	li	11, 96
-+	stvx	26, 11, 4
-+	li	11, 112
-+	stvx	27, 11, 4
-+	li	11, 128
-+	stvx	28, 11, 4
-+	li	11, 144
-+	stvx	29, 11, 4
-+	li	11, 160
-+	stvx	30, 11, 4
-+	li	11, 176
-+	stvx	31, 11, 4
-+	std	14, 192(4)
-+	std	15, 200(4)
-+	std	16, 208(4)
-+	std	17, 216(4)
-+	std	18, 224(4)
-+	std	19, 232(4)
-+	std	20, 240(4)
-+	std	21, 248(4)
-+	std	22, 256(4)
-+	std	23, 264(4)
-+	std	24, 272(4)
-+	std	25, 280(4)
-+	std	26, 288(4)
-+	std	27, 296(4)
-+	std	28, 304(4)
-+	std	29, 312(4)
-+	std	30, 320(4)
-+	std	31, 328(4)
-+	stfd	14, 336(4)
-+	stfd	15, 344(4)
-+	stfd	16, 352(4)
-+	stfd	17, 360(4)
-+	stfd	18, 368(4)
-+	stfd	19, 376(4)
-+	stfd	20, 384(4)
-+	stfd	21, 392(4)
-+	stfd	22, 400(4)
-+	stfd	23, 408(4)
-+	stfd	24, 416(4)
-+	stfd	25, 424(4)
-+	stfd	26, 432(4)
-+	stfd	27, 440(4)
-+	stfd	28, 448(4)
-+	stfd	29, 456(4)
-+	stfd	30, 464(4)
-+	stfd	31, 472(4)
-+	li	11, 48
-+	lvx	20, 11, 1
-+	li	11, 64
-+	lvx	21, 11, 1
-+	li	11, 80
-+	lvx	22, 11, 1
-+	li	11, 96
-+	lvx	23, 11, 1
-+	li	11, 112
-+	lvx	24, 11, 1
-+	li	11, 128
-+	lvx	25, 11, 1
-+	li	11, 144
-+	lvx	26, 11, 1
-+	li	11, 160
-+	lvx	27, 11, 1
-+	li	11, 176
-+	lvx	28, 11, 1
-+	li	11, 192
-+	lvx	29, 11, 1
-+	li	11, 208
-+	lvx	30, 11, 1
-+	li	11, 224
-+	lvx	31, 11, 1
-+	ld	14, 240(1)
-+	ld	15, 248(1)
-+	ld	16, 256(1)
-+	ld	17, 264(1)
-+	ld	18, 272(1)
-+	ld	19, 280(1)
-+	ld	20, 288(1)
-+	ld	21, 296(1)
-+	ld	22, 304(1)
-+	ld	23, 312(1)
-+	ld	24, 320(1)
-+	ld	25, 328(1)
-+	ld	26, 336(1)
-+	ld	27, 344(1)
-+	ld	28, 352(1)
-+	ld	29, 360(1)
-+	ld	30, 368(1)
-+	ld	31, 376(1)
-+	lfd	14, 384(1)
-+	lfd	15, 392(1)
-+	lfd	16, 400(1)
-+	lfd	17, 408(1)
-+	lfd	18, 416(1)
-+	lfd	19, 424(1)
-+	lfd	20, 432(1)
-+	lfd	21, 440(1)
-+	lfd	22, 448(1)
-+	lfd	23, 456(1)
-+	lfd	24, 464(1)
-+	lfd	25, 472(1)
-+	lfd	26, 480(1)
-+	lfd	27, 488(1)
-+	lfd	28, 496(1)
-+	lfd	29, 504(1)
-+	lfd	30, 512(1)
-+	lfd	31, 520(1)
-+	mfcr	0
-+	std	0, 480(4)
-+	ld	0, 8(1)
-+	mtcrf	0b00111000, 0
-+	addi	1, 1, 528
-+	ld	0, 16(1)
-+	mtlr	0
-+	blr	
-+.size	abi_test_trampoline,.-abi_test_trampoline
-+.globl	abi_test_clobber_r0
-+.type	abi_test_clobber_r0,@function
-+.align	5
-+abi_test_clobber_r0:
-+.localentry	abi_test_clobber_r0,0
-+
-+	li	0, 0
-+	blr	
-+.size	abi_test_clobber_r0,.-abi_test_clobber_r0
-+.globl	abi_test_clobber_r2
-+.type	abi_test_clobber_r2,@function
-+.align	5
-+abi_test_clobber_r2:
-+.localentry	abi_test_clobber_r2,0
-+
-+	li	2, 0
-+	blr	
-+.size	abi_test_clobber_r2,.-abi_test_clobber_r2
-+.globl	abi_test_clobber_r3
-+.type	abi_test_clobber_r3,@function
-+.align	5
-+abi_test_clobber_r3:
-+.localentry	abi_test_clobber_r3,0
-+
-+	li	3, 0
-+	blr	
-+.size	abi_test_clobber_r3,.-abi_test_clobber_r3
-+.globl	abi_test_clobber_r4
-+.type	abi_test_clobber_r4,@function
-+.align	5
-+abi_test_clobber_r4:
-+.localentry	abi_test_clobber_r4,0
-+
-+	li	4, 0
-+	blr	
-+.size	abi_test_clobber_r4,.-abi_test_clobber_r4
-+.globl	abi_test_clobber_r5
-+.type	abi_test_clobber_r5,@function
-+.align	5
-+abi_test_clobber_r5:
-+.localentry	abi_test_clobber_r5,0
-+
-+	li	5, 0
-+	blr	
-+.size	abi_test_clobber_r5,.-abi_test_clobber_r5
-+.globl	abi_test_clobber_r6
-+.type	abi_test_clobber_r6,@function
-+.align	5
-+abi_test_clobber_r6:
-+.localentry	abi_test_clobber_r6,0
-+
-+	li	6, 0
-+	blr	
-+.size	abi_test_clobber_r6,.-abi_test_clobber_r6
-+.globl	abi_test_clobber_r7
-+.type	abi_test_clobber_r7,@function
-+.align	5
-+abi_test_clobber_r7:
-+.localentry	abi_test_clobber_r7,0
-+
-+	li	7, 0
-+	blr	
-+.size	abi_test_clobber_r7,.-abi_test_clobber_r7
-+.globl	abi_test_clobber_r8
-+.type	abi_test_clobber_r8,@function
-+.align	5
-+abi_test_clobber_r8:
-+.localentry	abi_test_clobber_r8,0
-+
-+	li	8, 0
-+	blr	
-+.size	abi_test_clobber_r8,.-abi_test_clobber_r8
-+.globl	abi_test_clobber_r9
-+.type	abi_test_clobber_r9,@function
-+.align	5
-+abi_test_clobber_r9:
-+.localentry	abi_test_clobber_r9,0
-+
-+	li	9, 0
-+	blr	
-+.size	abi_test_clobber_r9,.-abi_test_clobber_r9
-+.globl	abi_test_clobber_r10
-+.type	abi_test_clobber_r10,@function
-+.align	5
-+abi_test_clobber_r10:
-+.localentry	abi_test_clobber_r10,0
-+
-+	li	10, 0
-+	blr	
-+.size	abi_test_clobber_r10,.-abi_test_clobber_r10
-+.globl	abi_test_clobber_r11
-+.type	abi_test_clobber_r11,@function
-+.align	5
-+abi_test_clobber_r11:
-+.localentry	abi_test_clobber_r11,0
-+
-+	li	11, 0
-+	blr	
-+.size	abi_test_clobber_r11,.-abi_test_clobber_r11
-+.globl	abi_test_clobber_r12
-+.type	abi_test_clobber_r12,@function
-+.align	5
-+abi_test_clobber_r12:
-+.localentry	abi_test_clobber_r12,0
-+
-+	li	12, 0
-+	blr	
-+.size	abi_test_clobber_r12,.-abi_test_clobber_r12
-+.globl	abi_test_clobber_r14
-+.type	abi_test_clobber_r14,@function
-+.align	5
-+abi_test_clobber_r14:
-+.localentry	abi_test_clobber_r14,0
-+
-+	li	14, 0
-+	blr	
-+.size	abi_test_clobber_r14,.-abi_test_clobber_r14
-+.globl	abi_test_clobber_r15
-+.type	abi_test_clobber_r15,@function
-+.align	5
-+abi_test_clobber_r15:
-+.localentry	abi_test_clobber_r15,0
-+
-+	li	15, 0
-+	blr	
-+.size	abi_test_clobber_r15,.-abi_test_clobber_r15
-+.globl	abi_test_clobber_r16
-+.type	abi_test_clobber_r16,@function
-+.align	5
-+abi_test_clobber_r16:
-+.localentry	abi_test_clobber_r16,0
-+
-+	li	16, 0
-+	blr	
-+.size	abi_test_clobber_r16,.-abi_test_clobber_r16
-+.globl	abi_test_clobber_r17
-+.type	abi_test_clobber_r17,@function
-+.align	5
-+abi_test_clobber_r17:
-+.localentry	abi_test_clobber_r17,0
-+
-+	li	17, 0
-+	blr	
-+.size	abi_test_clobber_r17,.-abi_test_clobber_r17
-+.globl	abi_test_clobber_r18
-+.type	abi_test_clobber_r18,@function
-+.align	5
-+abi_test_clobber_r18:
-+.localentry	abi_test_clobber_r18,0
-+
-+	li	18, 0
-+	blr	
-+.size	abi_test_clobber_r18,.-abi_test_clobber_r18
-+.globl	abi_test_clobber_r19
-+.type	abi_test_clobber_r19,@function
-+.align	5
-+abi_test_clobber_r19:
-+.localentry	abi_test_clobber_r19,0
-+
-+	li	19, 0
-+	blr	
-+.size	abi_test_clobber_r19,.-abi_test_clobber_r19
-+.globl	abi_test_clobber_r20
-+.type	abi_test_clobber_r20,@function
-+.align	5
-+abi_test_clobber_r20:
-+.localentry	abi_test_clobber_r20,0
-+
-+	li	20, 0
-+	blr	
-+.size	abi_test_clobber_r20,.-abi_test_clobber_r20
-+.globl	abi_test_clobber_r21
-+.type	abi_test_clobber_r21,@function
-+.align	5
-+abi_test_clobber_r21:
-+.localentry	abi_test_clobber_r21,0
-+
-+	li	21, 0
-+	blr	
-+.size	abi_test_clobber_r21,.-abi_test_clobber_r21
-+.globl	abi_test_clobber_r22
-+.type	abi_test_clobber_r22,@function
-+.align	5
-+abi_test_clobber_r22:
-+.localentry	abi_test_clobber_r22,0
-+
-+	li	22, 0
-+	blr	
-+.size	abi_test_clobber_r22,.-abi_test_clobber_r22
-+.globl	abi_test_clobber_r23
-+.type	abi_test_clobber_r23,@function
-+.align	5
-+abi_test_clobber_r23:
-+.localentry	abi_test_clobber_r23,0
-+
-+	li	23, 0
-+	blr	
-+.size	abi_test_clobber_r23,.-abi_test_clobber_r23
-+.globl	abi_test_clobber_r24
-+.type	abi_test_clobber_r24,@function
-+.align	5
-+abi_test_clobber_r24:
-+.localentry	abi_test_clobber_r24,0
-+
-+	li	24, 0
-+	blr	
-+.size	abi_test_clobber_r24,.-abi_test_clobber_r24
-+.globl	abi_test_clobber_r25
-+.type	abi_test_clobber_r25,@function
-+.align	5
-+abi_test_clobber_r25:
-+.localentry	abi_test_clobber_r25,0
-+
-+	li	25, 0
-+	blr	
-+.size	abi_test_clobber_r25,.-abi_test_clobber_r25
-+.globl	abi_test_clobber_r26
-+.type	abi_test_clobber_r26,@function
-+.align	5
-+abi_test_clobber_r26:
-+.localentry	abi_test_clobber_r26,0
-+
-+	li	26, 0
-+	blr	
-+.size	abi_test_clobber_r26,.-abi_test_clobber_r26
-+.globl	abi_test_clobber_r27
-+.type	abi_test_clobber_r27,@function
-+.align	5
-+abi_test_clobber_r27:
-+.localentry	abi_test_clobber_r27,0
-+
-+	li	27, 0
-+	blr	
-+.size	abi_test_clobber_r27,.-abi_test_clobber_r27
-+.globl	abi_test_clobber_r28
-+.type	abi_test_clobber_r28,@function
-+.align	5
-+abi_test_clobber_r28:
-+.localentry	abi_test_clobber_r28,0
-+
-+	li	28, 0
-+	blr	
-+.size	abi_test_clobber_r28,.-abi_test_clobber_r28
-+.globl	abi_test_clobber_r29
-+.type	abi_test_clobber_r29,@function
-+.align	5
-+abi_test_clobber_r29:
-+.localentry	abi_test_clobber_r29,0
-+
-+	li	29, 0
-+	blr	
-+.size	abi_test_clobber_r29,.-abi_test_clobber_r29
-+.globl	abi_test_clobber_r30
-+.type	abi_test_clobber_r30,@function
-+.align	5
-+abi_test_clobber_r30:
-+.localentry	abi_test_clobber_r30,0
-+
-+	li	30, 0
-+	blr	
-+.size	abi_test_clobber_r30,.-abi_test_clobber_r30
-+.globl	abi_test_clobber_r31
-+.type	abi_test_clobber_r31,@function
-+.align	5
-+abi_test_clobber_r31:
-+.localentry	abi_test_clobber_r31,0
-+
-+	li	31, 0
-+	blr	
-+.size	abi_test_clobber_r31,.-abi_test_clobber_r31
-+.globl	abi_test_clobber_f0
-+.type	abi_test_clobber_f0,@function
-+.align	4
-+abi_test_clobber_f0:
-+.localentry	abi_test_clobber_f0,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	0, -8(1)
-+	blr	
-+.size	abi_test_clobber_f0,.-abi_test_clobber_f0
-+.globl	abi_test_clobber_f1
-+.type	abi_test_clobber_f1,@function
-+.align	4
-+abi_test_clobber_f1:
-+.localentry	abi_test_clobber_f1,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	1, -8(1)
-+	blr	
-+.size	abi_test_clobber_f1,.-abi_test_clobber_f1
-+.globl	abi_test_clobber_f2
-+.type	abi_test_clobber_f2,@function
-+.align	4
-+abi_test_clobber_f2:
-+.localentry	abi_test_clobber_f2,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	2, -8(1)
-+	blr	
-+.size	abi_test_clobber_f2,.-abi_test_clobber_f2
-+.globl	abi_test_clobber_f3
-+.type	abi_test_clobber_f3,@function
-+.align	4
-+abi_test_clobber_f3:
-+.localentry	abi_test_clobber_f3,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	3, -8(1)
-+	blr	
-+.size	abi_test_clobber_f3,.-abi_test_clobber_f3
-+.globl	abi_test_clobber_f4
-+.type	abi_test_clobber_f4,@function
-+.align	4
-+abi_test_clobber_f4:
-+.localentry	abi_test_clobber_f4,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	4, -8(1)
-+	blr	
-+.size	abi_test_clobber_f4,.-abi_test_clobber_f4
-+.globl	abi_test_clobber_f5
-+.type	abi_test_clobber_f5,@function
-+.align	4
-+abi_test_clobber_f5:
-+.localentry	abi_test_clobber_f5,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	5, -8(1)
-+	blr	
-+.size	abi_test_clobber_f5,.-abi_test_clobber_f5
-+.globl	abi_test_clobber_f6
-+.type	abi_test_clobber_f6,@function
-+.align	4
-+abi_test_clobber_f6:
-+.localentry	abi_test_clobber_f6,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	6, -8(1)
-+	blr	
-+.size	abi_test_clobber_f6,.-abi_test_clobber_f6
-+.globl	abi_test_clobber_f7
-+.type	abi_test_clobber_f7,@function
-+.align	4
-+abi_test_clobber_f7:
-+.localentry	abi_test_clobber_f7,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	7, -8(1)
-+	blr	
-+.size	abi_test_clobber_f7,.-abi_test_clobber_f7
-+.globl	abi_test_clobber_f8
-+.type	abi_test_clobber_f8,@function
-+.align	4
-+abi_test_clobber_f8:
-+.localentry	abi_test_clobber_f8,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	8, -8(1)
-+	blr	
-+.size	abi_test_clobber_f8,.-abi_test_clobber_f8
-+.globl	abi_test_clobber_f9
-+.type	abi_test_clobber_f9,@function
-+.align	4
-+abi_test_clobber_f9:
-+.localentry	abi_test_clobber_f9,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	9, -8(1)
-+	blr	
-+.size	abi_test_clobber_f9,.-abi_test_clobber_f9
-+.globl	abi_test_clobber_f10
-+.type	abi_test_clobber_f10,@function
-+.align	4
-+abi_test_clobber_f10:
-+.localentry	abi_test_clobber_f10,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	10, -8(1)
-+	blr	
-+.size	abi_test_clobber_f10,.-abi_test_clobber_f10
-+.globl	abi_test_clobber_f11
-+.type	abi_test_clobber_f11,@function
-+.align	4
-+abi_test_clobber_f11:
-+.localentry	abi_test_clobber_f11,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	11, -8(1)
-+	blr	
-+.size	abi_test_clobber_f11,.-abi_test_clobber_f11
-+.globl	abi_test_clobber_f12
-+.type	abi_test_clobber_f12,@function
-+.align	4
-+abi_test_clobber_f12:
-+.localentry	abi_test_clobber_f12,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	12, -8(1)
-+	blr	
-+.size	abi_test_clobber_f12,.-abi_test_clobber_f12
-+.globl	abi_test_clobber_f13
-+.type	abi_test_clobber_f13,@function
-+.align	4
-+abi_test_clobber_f13:
-+.localentry	abi_test_clobber_f13,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	13, -8(1)
-+	blr	
-+.size	abi_test_clobber_f13,.-abi_test_clobber_f13
-+.globl	abi_test_clobber_f14
-+.type	abi_test_clobber_f14,@function
-+.align	4
-+abi_test_clobber_f14:
-+.localentry	abi_test_clobber_f14,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	14, -8(1)
-+	blr	
-+.size	abi_test_clobber_f14,.-abi_test_clobber_f14
-+.globl	abi_test_clobber_f15
-+.type	abi_test_clobber_f15,@function
-+.align	4
-+abi_test_clobber_f15:
-+.localentry	abi_test_clobber_f15,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	15, -8(1)
-+	blr	
-+.size	abi_test_clobber_f15,.-abi_test_clobber_f15
-+.globl	abi_test_clobber_f16
-+.type	abi_test_clobber_f16,@function
-+.align	4
-+abi_test_clobber_f16:
-+.localentry	abi_test_clobber_f16,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	16, -8(1)
-+	blr	
-+.size	abi_test_clobber_f16,.-abi_test_clobber_f16
-+.globl	abi_test_clobber_f17
-+.type	abi_test_clobber_f17,@function
-+.align	4
-+abi_test_clobber_f17:
-+.localentry	abi_test_clobber_f17,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	17, -8(1)
-+	blr	
-+.size	abi_test_clobber_f17,.-abi_test_clobber_f17
-+.globl	abi_test_clobber_f18
-+.type	abi_test_clobber_f18,@function
-+.align	4
-+abi_test_clobber_f18:
-+.localentry	abi_test_clobber_f18,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	18, -8(1)
-+	blr	
-+.size	abi_test_clobber_f18,.-abi_test_clobber_f18
-+.globl	abi_test_clobber_f19
-+.type	abi_test_clobber_f19,@function
-+.align	4
-+abi_test_clobber_f19:
-+.localentry	abi_test_clobber_f19,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	19, -8(1)
-+	blr	
-+.size	abi_test_clobber_f19,.-abi_test_clobber_f19
-+.globl	abi_test_clobber_f20
-+.type	abi_test_clobber_f20,@function
-+.align	4
-+abi_test_clobber_f20:
-+.localentry	abi_test_clobber_f20,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	20, -8(1)
-+	blr	
-+.size	abi_test_clobber_f20,.-abi_test_clobber_f20
-+.globl	abi_test_clobber_f21
-+.type	abi_test_clobber_f21,@function
-+.align	4
-+abi_test_clobber_f21:
-+.localentry	abi_test_clobber_f21,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	21, -8(1)
-+	blr	
-+.size	abi_test_clobber_f21,.-abi_test_clobber_f21
-+.globl	abi_test_clobber_f22
-+.type	abi_test_clobber_f22,@function
-+.align	4
-+abi_test_clobber_f22:
-+.localentry	abi_test_clobber_f22,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	22, -8(1)
-+	blr	
-+.size	abi_test_clobber_f22,.-abi_test_clobber_f22
-+.globl	abi_test_clobber_f23
-+.type	abi_test_clobber_f23,@function
-+.align	4
-+abi_test_clobber_f23:
-+.localentry	abi_test_clobber_f23,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	23, -8(1)
-+	blr	
-+.size	abi_test_clobber_f23,.-abi_test_clobber_f23
-+.globl	abi_test_clobber_f24
-+.type	abi_test_clobber_f24,@function
-+.align	4
-+abi_test_clobber_f24:
-+.localentry	abi_test_clobber_f24,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	24, -8(1)
-+	blr	
-+.size	abi_test_clobber_f24,.-abi_test_clobber_f24
-+.globl	abi_test_clobber_f25
-+.type	abi_test_clobber_f25,@function
-+.align	4
-+abi_test_clobber_f25:
-+.localentry	abi_test_clobber_f25,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	25, -8(1)
-+	blr	
-+.size	abi_test_clobber_f25,.-abi_test_clobber_f25
-+.globl	abi_test_clobber_f26
-+.type	abi_test_clobber_f26,@function
-+.align	4
-+abi_test_clobber_f26:
-+.localentry	abi_test_clobber_f26,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	26, -8(1)
-+	blr	
-+.size	abi_test_clobber_f26,.-abi_test_clobber_f26
-+.globl	abi_test_clobber_f27
-+.type	abi_test_clobber_f27,@function
-+.align	4
-+abi_test_clobber_f27:
-+.localentry	abi_test_clobber_f27,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	27, -8(1)
-+	blr	
-+.size	abi_test_clobber_f27,.-abi_test_clobber_f27
-+.globl	abi_test_clobber_f28
-+.type	abi_test_clobber_f28,@function
-+.align	4
-+abi_test_clobber_f28:
-+.localentry	abi_test_clobber_f28,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	28, -8(1)
-+	blr	
-+.size	abi_test_clobber_f28,.-abi_test_clobber_f28
-+.globl	abi_test_clobber_f29
-+.type	abi_test_clobber_f29,@function
-+.align	4
-+abi_test_clobber_f29:
-+.localentry	abi_test_clobber_f29,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	29, -8(1)
-+	blr	
-+.size	abi_test_clobber_f29,.-abi_test_clobber_f29
-+.globl	abi_test_clobber_f30
-+.type	abi_test_clobber_f30,@function
-+.align	4
-+abi_test_clobber_f30:
-+.localentry	abi_test_clobber_f30,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	30, -8(1)
-+	blr	
-+.size	abi_test_clobber_f30,.-abi_test_clobber_f30
-+.globl	abi_test_clobber_f31
-+.type	abi_test_clobber_f31,@function
-+.align	4
-+abi_test_clobber_f31:
-+.localentry	abi_test_clobber_f31,0
-+
-+	li	0, 0
-+
-+	std	0, -8(1)
-+	lfd	31, -8(1)
-+	blr	
-+.size	abi_test_clobber_f31,.-abi_test_clobber_f31
-+.globl	abi_test_clobber_v0
-+.type	abi_test_clobber_v0,@function
-+.align	4
-+abi_test_clobber_v0:
-+.localentry	abi_test_clobber_v0,0
-+
-+	vxor	0, 0, 0
-+	blr	
-+.size	abi_test_clobber_v0,.-abi_test_clobber_v0
-+.globl	abi_test_clobber_v1
-+.type	abi_test_clobber_v1,@function
-+.align	4
-+abi_test_clobber_v1:
-+.localentry	abi_test_clobber_v1,0
-+
-+	vxor	1, 1, 1
-+	blr	
-+.size	abi_test_clobber_v1,.-abi_test_clobber_v1
-+.globl	abi_test_clobber_v2
-+.type	abi_test_clobber_v2,@function
-+.align	4
-+abi_test_clobber_v2:
-+.localentry	abi_test_clobber_v2,0
-+
-+	vxor	2, 2, 2
-+	blr	
-+.size	abi_test_clobber_v2,.-abi_test_clobber_v2
-+.globl	abi_test_clobber_v3
-+.type	abi_test_clobber_v3,@function
-+.align	4
-+abi_test_clobber_v3:
-+.localentry	abi_test_clobber_v3,0
-+
-+	vxor	3, 3, 3
-+	blr	
-+.size	abi_test_clobber_v3,.-abi_test_clobber_v3
-+.globl	abi_test_clobber_v4
-+.type	abi_test_clobber_v4,@function
-+.align	4
-+abi_test_clobber_v4:
-+.localentry	abi_test_clobber_v4,0
-+
-+	vxor	4, 4, 4
-+	blr	
-+.size	abi_test_clobber_v4,.-abi_test_clobber_v4
-+.globl	abi_test_clobber_v5
-+.type	abi_test_clobber_v5,@function
-+.align	4
-+abi_test_clobber_v5:
-+.localentry	abi_test_clobber_v5,0
-+
-+	vxor	5, 5, 5
-+	blr	
-+.size	abi_test_clobber_v5,.-abi_test_clobber_v5
-+.globl	abi_test_clobber_v6
-+.type	abi_test_clobber_v6,@function
-+.align	4
-+abi_test_clobber_v6:
-+.localentry	abi_test_clobber_v6,0
-+
-+	vxor	6, 6, 6
-+	blr	
-+.size	abi_test_clobber_v6,.-abi_test_clobber_v6
-+.globl	abi_test_clobber_v7
-+.type	abi_test_clobber_v7,@function
-+.align	4
-+abi_test_clobber_v7:
-+.localentry	abi_test_clobber_v7,0
-+
-+	vxor	7, 7, 7
-+	blr	
-+.size	abi_test_clobber_v7,.-abi_test_clobber_v7
-+.globl	abi_test_clobber_v8
-+.type	abi_test_clobber_v8,@function
-+.align	4
-+abi_test_clobber_v8:
-+.localentry	abi_test_clobber_v8,0
-+
-+	vxor	8, 8, 8
-+	blr	
-+.size	abi_test_clobber_v8,.-abi_test_clobber_v8
-+.globl	abi_test_clobber_v9
-+.type	abi_test_clobber_v9,@function
-+.align	4
-+abi_test_clobber_v9:
-+.localentry	abi_test_clobber_v9,0
-+
-+	vxor	9, 9, 9
-+	blr	
-+.size	abi_test_clobber_v9,.-abi_test_clobber_v9
-+.globl	abi_test_clobber_v10
-+.type	abi_test_clobber_v10,@function
-+.align	4
-+abi_test_clobber_v10:
-+.localentry	abi_test_clobber_v10,0
-+
-+	vxor	10, 10, 10
-+	blr	
-+.size	abi_test_clobber_v10,.-abi_test_clobber_v10
-+.globl	abi_test_clobber_v11
-+.type	abi_test_clobber_v11,@function
-+.align	4
-+abi_test_clobber_v11:
-+.localentry	abi_test_clobber_v11,0
-+
-+	vxor	11, 11, 11
-+	blr	
-+.size	abi_test_clobber_v11,.-abi_test_clobber_v11
-+.globl	abi_test_clobber_v12
-+.type	abi_test_clobber_v12,@function
-+.align	4
-+abi_test_clobber_v12:
-+.localentry	abi_test_clobber_v12,0
-+
-+	vxor	12, 12, 12
-+	blr	
-+.size	abi_test_clobber_v12,.-abi_test_clobber_v12
-+.globl	abi_test_clobber_v13
-+.type	abi_test_clobber_v13,@function
-+.align	4
-+abi_test_clobber_v13:
-+.localentry	abi_test_clobber_v13,0
-+
-+	vxor	13, 13, 13
-+	blr	
-+.size	abi_test_clobber_v13,.-abi_test_clobber_v13
-+.globl	abi_test_clobber_v14
-+.type	abi_test_clobber_v14,@function
-+.align	4
-+abi_test_clobber_v14:
-+.localentry	abi_test_clobber_v14,0
-+
-+	vxor	14, 14, 14
-+	blr	
-+.size	abi_test_clobber_v14,.-abi_test_clobber_v14
-+.globl	abi_test_clobber_v15
-+.type	abi_test_clobber_v15,@function
-+.align	4
-+abi_test_clobber_v15:
-+.localentry	abi_test_clobber_v15,0
-+
-+	vxor	15, 15, 15
-+	blr	
-+.size	abi_test_clobber_v15,.-abi_test_clobber_v15
-+.globl	abi_test_clobber_v16
-+.type	abi_test_clobber_v16,@function
-+.align	4
-+abi_test_clobber_v16:
-+.localentry	abi_test_clobber_v16,0
-+
-+	vxor	16, 16, 16
-+	blr	
-+.size	abi_test_clobber_v16,.-abi_test_clobber_v16
-+.globl	abi_test_clobber_v17
-+.type	abi_test_clobber_v17,@function
-+.align	4
-+abi_test_clobber_v17:
-+.localentry	abi_test_clobber_v17,0
-+
-+	vxor	17, 17, 17
-+	blr	
-+.size	abi_test_clobber_v17,.-abi_test_clobber_v17
-+.globl	abi_test_clobber_v18
-+.type	abi_test_clobber_v18,@function
-+.align	4
-+abi_test_clobber_v18:
-+.localentry	abi_test_clobber_v18,0
-+
-+	vxor	18, 18, 18
-+	blr	
-+.size	abi_test_clobber_v18,.-abi_test_clobber_v18
-+.globl	abi_test_clobber_v19
-+.type	abi_test_clobber_v19,@function
-+.align	4
-+abi_test_clobber_v19:
-+.localentry	abi_test_clobber_v19,0
-+
-+	vxor	19, 19, 19
-+	blr	
-+.size	abi_test_clobber_v19,.-abi_test_clobber_v19
-+.globl	abi_test_clobber_v20
-+.type	abi_test_clobber_v20,@function
-+.align	4
-+abi_test_clobber_v20:
-+.localentry	abi_test_clobber_v20,0
-+
-+	vxor	20, 20, 20
-+	blr	
-+.size	abi_test_clobber_v20,.-abi_test_clobber_v20
-+.globl	abi_test_clobber_v21
-+.type	abi_test_clobber_v21,@function
-+.align	4
-+abi_test_clobber_v21:
-+.localentry	abi_test_clobber_v21,0
-+
-+	vxor	21, 21, 21
-+	blr	
-+.size	abi_test_clobber_v21,.-abi_test_clobber_v21
-+.globl	abi_test_clobber_v22
-+.type	abi_test_clobber_v22,@function
-+.align	4
-+abi_test_clobber_v22:
-+.localentry	abi_test_clobber_v22,0
-+
-+	vxor	22, 22, 22
-+	blr	
-+.size	abi_test_clobber_v22,.-abi_test_clobber_v22
-+.globl	abi_test_clobber_v23
-+.type	abi_test_clobber_v23,@function
-+.align	4
-+abi_test_clobber_v23:
-+.localentry	abi_test_clobber_v23,0
-+
-+	vxor	23, 23, 23
-+	blr	
-+.size	abi_test_clobber_v23,.-abi_test_clobber_v23
-+.globl	abi_test_clobber_v24
-+.type	abi_test_clobber_v24,@function
-+.align	4
-+abi_test_clobber_v24:
-+.localentry	abi_test_clobber_v24,0
-+
-+	vxor	24, 24, 24
-+	blr	
-+.size	abi_test_clobber_v24,.-abi_test_clobber_v24
-+.globl	abi_test_clobber_v25
-+.type	abi_test_clobber_v25,@function
-+.align	4
-+abi_test_clobber_v25:
-+.localentry	abi_test_clobber_v25,0
-+
-+	vxor	25, 25, 25
-+	blr	
-+.size	abi_test_clobber_v25,.-abi_test_clobber_v25
-+.globl	abi_test_clobber_v26
-+.type	abi_test_clobber_v26,@function
-+.align	4
-+abi_test_clobber_v26:
-+.localentry	abi_test_clobber_v26,0
-+
-+	vxor	26, 26, 26
-+	blr	
-+.size	abi_test_clobber_v26,.-abi_test_clobber_v26
-+.globl	abi_test_clobber_v27
-+.type	abi_test_clobber_v27,@function
-+.align	4
-+abi_test_clobber_v27:
-+.localentry	abi_test_clobber_v27,0
-+
-+	vxor	27, 27, 27
-+	blr	
-+.size	abi_test_clobber_v27,.-abi_test_clobber_v27
-+.globl	abi_test_clobber_v28
-+.type	abi_test_clobber_v28,@function
-+.align	4
-+abi_test_clobber_v28:
-+.localentry	abi_test_clobber_v28,0
-+
-+	vxor	28, 28, 28
-+	blr	
-+.size	abi_test_clobber_v28,.-abi_test_clobber_v28
-+.globl	abi_test_clobber_v29
-+.type	abi_test_clobber_v29,@function
-+.align	4
-+abi_test_clobber_v29:
-+.localentry	abi_test_clobber_v29,0
-+
-+	vxor	29, 29, 29
-+	blr	
-+.size	abi_test_clobber_v29,.-abi_test_clobber_v29
-+.globl	abi_test_clobber_v30
-+.type	abi_test_clobber_v30,@function
-+.align	4
-+abi_test_clobber_v30:
-+.localentry	abi_test_clobber_v30,0
-+
-+	vxor	30, 30, 30
-+	blr	
-+.size	abi_test_clobber_v30,.-abi_test_clobber_v30
-+.globl	abi_test_clobber_v31
-+.type	abi_test_clobber_v31,@function
-+.align	4
-+abi_test_clobber_v31:
-+.localentry	abi_test_clobber_v31,0
-+
-+	vxor	31, 31, 31
-+	blr	
-+.size	abi_test_clobber_v31,.-abi_test_clobber_v31
-+.globl	abi_test_clobber_cr0
-+.type	abi_test_clobber_cr0,@function
-+.align	4
-+abi_test_clobber_cr0:
-+.localentry	abi_test_clobber_cr0,0
-+
-+
-+
-+	mfcr	0
-+	not	0, 0
-+	mtcrf	128, 0
-+	blr	
-+.size	abi_test_clobber_cr0,.-abi_test_clobber_cr0
-+.globl	abi_test_clobber_cr1
-+.type	abi_test_clobber_cr1,@function
-+.align	4
-+abi_test_clobber_cr1:
-+.localentry	abi_test_clobber_cr1,0
-+
-+
-+
-+	mfcr	0
-+	not	0, 0
-+	mtcrf	64, 0
-+	blr	
-+.size	abi_test_clobber_cr1,.-abi_test_clobber_cr1
-+.globl	abi_test_clobber_cr2
-+.type	abi_test_clobber_cr2,@function
-+.align	4
-+abi_test_clobber_cr2:
-+.localentry	abi_test_clobber_cr2,0
-+
-+
-+
-+	mfcr	0
-+	not	0, 0
-+	mtcrf	32, 0
-+	blr	
-+.size	abi_test_clobber_cr2,.-abi_test_clobber_cr2
-+.globl	abi_test_clobber_cr3
-+.type	abi_test_clobber_cr3,@function
-+.align	4
-+abi_test_clobber_cr3:
-+.localentry	abi_test_clobber_cr3,0
-+
-+
-+
-+	mfcr	0
-+	not	0, 0
-+	mtcrf	16, 0
-+	blr	
-+.size	abi_test_clobber_cr3,.-abi_test_clobber_cr3
-+.globl	abi_test_clobber_cr4
-+.type	abi_test_clobber_cr4,@function
-+.align	4
-+abi_test_clobber_cr4:
-+.localentry	abi_test_clobber_cr4,0
-+
-+
-+
-+	mfcr	0
-+	not	0, 0
-+	mtcrf	8, 0
-+	blr	
-+.size	abi_test_clobber_cr4,.-abi_test_clobber_cr4
-+.globl	abi_test_clobber_cr5
-+.type	abi_test_clobber_cr5,@function
-+.align	4
-+abi_test_clobber_cr5:
-+.localentry	abi_test_clobber_cr5,0
-+
-+
-+
-+	mfcr	0
-+	not	0, 0
-+	mtcrf	4, 0
-+	blr	
-+.size	abi_test_clobber_cr5,.-abi_test_clobber_cr5
-+.globl	abi_test_clobber_cr6
-+.type	abi_test_clobber_cr6,@function
-+.align	4
-+abi_test_clobber_cr6:
-+.localentry	abi_test_clobber_cr6,0
-+
-+
-+
-+	mfcr	0
-+	not	0, 0
-+	mtcrf	2, 0
-+	blr	
-+.size	abi_test_clobber_cr6,.-abi_test_clobber_cr6
-+.globl	abi_test_clobber_cr7
-+.type	abi_test_clobber_cr7,@function
-+.align	4
-+abi_test_clobber_cr7:
-+.localentry	abi_test_clobber_cr7,0
-+
-+
-+
-+	mfcr	0
-+	not	0, 0
-+	mtcrf	1, 0
-+	blr	
-+.size	abi_test_clobber_cr7,.-abi_test_clobber_cr7
-+.globl	abi_test_clobber_ctr
-+.type	abi_test_clobber_ctr,@function
-+.align	4
-+abi_test_clobber_ctr:
-+.localentry	abi_test_clobber_ctr,0
-+
-+	li	0, 0
-+	mtctr	0
-+	blr	
-+.size	abi_test_clobber_ctr,.-abi_test_clobber_ctr
-+
-+.globl	abi_test_clobber_lr
-+.type	abi_test_clobber_lr,@function
-+.align	4
-+abi_test_clobber_lr:
-+.localentry	abi_test_clobber_lr,0
-+
-+	mflr	0
-+	mtctr	0
-+	li	0, 0
-+	mtlr	0
-+	bctr	
-+.size	abi_test_clobber_lr,.-abi_test_clobber_lr
-+
-+#endif  // !OPENSSL_NO_ASM && __powerpc64__ && __ELF__
-+#if defined(__ELF__)
-+// See https://www.airs.com/blog/archives/518.
-+.section .note.GNU-stack,"",%progbits
-+#endif

diff --git a/HACK-debian-clang-disable-skia-musttail.patch b/HACK-debian-clang-disable-skia-musttail.patch
new file mode 100644
index 0000000..88b6881
--- /dev/null
+++ b/HACK-debian-clang-disable-skia-musttail.patch
@@ -0,0 +1,13 @@
+Index: chromium-125.0.6422.41/third_party/skia/src/core/SkRasterPipeline.h
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/core/SkRasterPipeline.h
++++ chromium-125.0.6422.41/third_party/skia/src/core/SkRasterPipeline.h
+@@ -27,7 +27,7 @@ struct SkImageInfo;
+ struct skcms_TransferFunction;
+ 
+ #if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \
+-        !defined(SK_CPU_LOONGARCH)
++        !defined(SK_CPU_LOONGARCH) && !defined(__powerpc64__)
+     #define SK_HAS_MUSTTAIL 1
+ #else
+     #define SK_HAS_MUSTTAIL 0

diff --git a/chromium.spec b/chromium.spec
index fe61ed7..d863425 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -513,20 +513,21 @@ Patch377: 0001-Add-PPC64-support-for-boringssl.patch
 Patch378: 0001-third_party-libvpx-Properly-generate-gni-on-ppc64.patch
 Patch379: 0001-third_party-lss-Don-t-look-for-mmap2-on-ppc64.patch
 Patch380: 0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI.patch
-Patch381: 0002-third_party-lss-kernel-structs.patch
+Patch381: 0002-Add-PPC64-generated-files-for-boringssl.patch
+Patch382: 0002-third_party-lss-kernel-structs.patch
 
-Patch382: Rtc_base-system-arch.h-PPC.patch
+Patch383: Rtc_base-system-arch.h-PPC.patch
 
-Patch383: 0002-Include-cstddef-to-fix-build.patch
-Patch384: 0004-third_party-crashpad-port-curl-transport-ppc64.patch
+Patch384: 0002-Include-cstddef-to-fix-build.patch
+Patch385: 0004-third_party-crashpad-port-curl-transport-ppc64.patch
 
-Patch385: HACK-third_party-libvpx-use-generic-gnu.patch
+Patch386: HACK-third_party-libvpx-use-generic-gnu.patch
+Patch387: HACK-debian-clang-disable-skia-musttail.patch
 
-Patch387: 0001-Add-ppc64-target-to-libaom.patch
-Patch388: 0001-Add-pregenerated-config-for-libaom-on-ppc64.patch
+Patch388: 0001-Add-ppc64-target-to-libaom.patch
+Patch389: 0001-Add-pregenerated-config-for-libaom-on-ppc64.patch
 
-Patch389: 0002-third_party-libvpx-Remove-bad-ppc64-config.patch
-Patch390: 0002-third-party-boringssl-add-generated-files.patch
+Patch390: 0002-third_party-libvpx-Remove-bad-ppc64-config.patch
 Patch391: 0003-third_party-libvpx-Add-ppc64-generated-config.patch
 # Enabling VSX causes artifacts to appear in VP9 videos
 Patch394: 0004-third_party-libvpx-work-around-ambiguous-vsx.patch
@@ -537,11 +538,12 @@ Patch395: skia-vsx-instructions.patch
 Patch396: 0001-Implement-support-for-ppc64-on-Linux.patch
 Patch397: 0001-Implement-support-for-PPC64-on-Linux.patch
 Patch398: 0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-.patch
-Patch399: fix-rustc.patch
-Patch400: fix-rust-linking.patch
-Patch401: fix-breakpad-compile.patch
-Patch402: fix-partition-alloc-compile.patch
-Patch403: 0002-Add-ppc64-trap-instructions.patch
+Patch399: fix-clang-selection.patch
+Patch400: fix-rustc.patch
+Patch401: fix-rust-linking.patch
+Patch402: fix-breakpad-compile.patch
+Patch403: fix-partition-alloc-compile.patch
+Patch404: 0002-Add-ppc64-trap-instructions.patch
 
 Patch407: fix-ppc64-linux-syscalls-headers.patch
 Patch409: use-sysconf-page-size-on-ppc64.patch
@@ -554,8 +556,6 @@ Patch412: fix-swiftshader-compile.patch
 # Suppress harmless compiler warning messages that appear on ppc64 due to arch-specific warning flags being passed
 Patch413: fix-unknown-warning-option-messages.diff
 
-Patch415: fix-clang-selection.patch
-
 # upstream patches
 # 64kpage support on el8
 Patch500: chromium-124-el8-support-64kpage.patch
@@ -1275,20 +1275,21 @@ udev.
 %patch -P378 -p1 -b .0001-third_party-libvpx-Properly-generate-gni-on-ppc64
 %patch -P379 -p1 -b .0001-third_party-lss-Don-t-look-for-mmap2-on-ppc64
 %patch -P380 -p1 -b .0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI
-%patch -P381 -p1 -b .0002-third_party-lss-kernel-structs
+%patch -P381 -p1 -b .002-Add-PPC64-generated-files-for-boringssl
+%patch -P382 -p1 -b .0002-third_party-lss-kernel-structs
 
-%patch -P382 -p1 -b .Rtc_base-system-arch.h-PPC
+%patch -P383 -p1 -b .Rtc_base-system-arch.h-PPC
 
-%patch -P383 -p1 -b .0002-Include-cstddef-to-fix-build
-%patch -P384 -p1 -b .0004-third_party-crashpad-port-curl-transport-ppc64
+%patch -P384 -p1 -b .0002-Include-cstddef-to-fix-build
+%patch -P385 -p1 -b .0004-third_party-crashpad-port-curl-transport-ppc64
 
-%patch -P385 -p1 -b .HACK-third_party-libvpx-use-generic-gnu
+%patch -P386 -p1 -b .HACK-third_party-libvpx-use-generic-gnu
+%patch -P387 -p1 -b .HACK-debian-clang-disable-skia-musttail
 
-%patch -P387 -p1 -b .0001-Add-ppc64-target-to-libaom
-%patch -P388 -p1 -b .0001-Add-pregenerated-config-for-libaom-on-ppc64
+%patch -P388 -p1 -b .0001-Add-ppc64-target-to-libaom
+%patch -P389 -p1 -b .0001-Add-pregenerated-config-for-libaom-on-ppc64
 
-%patch -P389 -p1 -b .0002-third_party-libvpx-Remove-bad-ppc64-config
-%patch -P390 -p1 -b .0002-third-party-boringssl-add-generated-files
+%patch -P390 -p1 -b .0002-third_party-libvpx-Remove-bad-ppc64-config
 %patch -P391 -p1 -b .0003-third_party-libvpx-Add-ppc64-generated-config
 %patch -P394 -p1 -b .0004-third_party-libvpx-work-around-ambiguous-vsx
 
@@ -1297,11 +1298,12 @@ udev.
 %patch -P396 -p1 -b .0001-Implement-support-for-ppc64-on-Linux
 %patch -P397 -p1 -b .0001-Implement-support-for-PPC64-on-Linux
 %patch -P398 -p1 -b .0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-
-%patch -P399 -p1 -b .fix-rustc
-%patch -P400 -p1 -b .fix-rust-linking
-%patch -P401 -p1 -b .fix-breakpad-compile
-%patch -P402 -p1 -b .fix-partition-alloc-compile
-%patch -P403 -p1 -b .0002-Add-ppc64-trap-instructions
+%patch -P399 -p1 -b .fix-clang-selection
+%patch -P400 -p1 -b .fix-rustc
+%patch -P401 -p1 -b .fix-rust-linking
+%patch -P402 -p1 -b .fix-breakpad-compile
+%patch -P403 -p1 -b .fix-partition-alloc-compile
+%patch -P404 -p1 -b .0002-Add-ppc64-trap-instructions
 
 %patch -P407 -p1 -b .fix-ppc64-linux-syscalls-headers
 %patch -P409 -p1 -b .use-sysconf-page-size-on-ppc64
@@ -1311,8 +1313,6 @@ udev.
 
 %patch -P412 -p1 -b .fix-swiftshader-compile.patch
 %patch -P413 -p1 -b .fix-unknown-warning-option-messages
-
-%patch -P415 -p1 -b .fix-clang-selection
 %endif
 
 %%ifarch aarch64

diff --git a/skia-vsx-instructions.patch b/skia-vsx-instructions.patch
index 55e782a..33e14fe 100644
--- a/skia-vsx-instructions.patch
+++ b/skia-vsx-instructions.patch
@@ -1,6 +1,7 @@
-diff -up chromium-125.0.6422.41/third_party/skia/BUILD.gn.me chromium-125.0.6422.41/third_party/skia/BUILD.gn
---- chromium-125.0.6422.41/third_party/skia/BUILD.gn.me	2024-05-08 22:30:53.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/BUILD.gn	2024-05-14 00:02:51.686315473 +0200
+Index: chromium-125.0.6422.41/third_party/skia/BUILD.gn
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/BUILD.gn
++++ chromium-125.0.6422.41/third_party/skia/BUILD.gn
 @@ -188,6 +188,12 @@ opts("skx") {
    }
  }
@@ -34,9 +35,10 @@ diff -up chromium-125.0.6422.41/third_party/skia/BUILD.gn.me chromium-125.0.6422
  
    sources = []
    sources += skia_pathops_sources
-diff -up chromium-125.0.6422.41/third_party/skia/gn/skia/BUILD.gn.me chromium-125.0.6422.41/third_party/skia/gn/skia/BUILD.gn
---- chromium-125.0.6422.41/third_party/skia/gn/skia/BUILD.gn.me	2024-05-14 00:02:51.686315473 +0200
-+++ chromium-125.0.6422.41/third_party/skia/gn/skia/BUILD.gn	2024-05-14 00:05:17.683137362 +0200
+Index: chromium-125.0.6422.41/third_party/skia/gn/skia/BUILD.gn
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/gn/skia/BUILD.gn
++++ chromium-125.0.6422.41/third_party/skia/gn/skia/BUILD.gn
 @@ -163,6 +163,8 @@ config("default") {
        "-mfpmath=sse",
      ]
@@ -46,9 +48,10 @@ diff -up chromium-125.0.6422.41/third_party/skia/gn/skia/BUILD.gn.me chromium-12
    } else if (current_cpu == "loong64") {
      cflags += [
        "-mlsx",
-diff -up chromium-125.0.6422.41/third_party/skia/include/core/SkTypes.h.me chromium-125.0.6422.41/third_party/skia/include/core/SkTypes.h
---- chromium-125.0.6422.41/third_party/skia/include/core/SkTypes.h.me	2024-05-08 22:30:53.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/include/core/SkTypes.h	2024-05-14 00:02:51.686315473 +0200
+Index: chromium-125.0.6422.41/third_party/skia/include/core/SkTypes.h
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/include/core/SkTypes.h
++++ chromium-125.0.6422.41/third_party/skia/include/core/SkTypes.h
 @@ -195,5 +195,44 @@ static constexpr uint32_t SK_InvalidGenI
  */
  static constexpr uint32_t SK_InvalidUniqueID = 0;
@@ -94,32 +97,10 @@ diff -up chromium-125.0.6422.41/third_party/skia/include/core/SkTypes.h.me chrom
 +
  
  #endif
-diff -up chromium-125.0.6422.41/third_party/skia/include/private/base/SkFeatures.h.me chromium-125.0.6422.41/third_party/skia/include/private/base/SkFeatures.h
---- chromium-125.0.6422.41/third_party/skia/include/private/base/SkFeatures.h.me	2024-05-08 22:30:53.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/include/private/base/SkFeatures.h	2024-05-14 00:02:51.689315531 +0200
-@@ -63,6 +63,8 @@
- 
- #if defined(__i386) || defined(_M_IX86) ||  defined(__x86_64__) || defined(_M_X64)
-   #define SK_CPU_X86 1
-+#elif defined(__powerpc64__) || defined(__PPC64__)
-+  #define SK_CPU_PPC64 1
- #endif
- 
- #if defined(__loongarch__) || defined (__loongarch64)
-diff -up chromium-125.0.6422.41/third_party/skia/modules/skcms/src/skcms_internals.h.me chromium-125.0.6422.41/third_party/skia/modules/skcms/src/skcms_internals.h
---- chromium-125.0.6422.41/third_party/skia/modules/skcms/src/skcms_internals.h.me	2024-05-08 22:30:54.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/modules/skcms/src/skcms_internals.h	2024-05-14 00:02:51.689315531 +0200
-@@ -47,6 +47,7 @@ extern "C" {
-                                                  && !defined(__EMSCRIPTEN__) \
-                                                  && !defined(__arm__) \
-                                                  && !defined(__riscv) \
-+                                                 && !defined(__powerpc64__) \
-                                                  && !defined(__loongarch__) \
-                                                  && !defined(_WIN32) && !defined(__SYMBIAN32__)
-             #define SKCMS_HAS_MUSTTAIL 1
-diff -up chromium-125.0.6422.41/third_party/skia/src/base/SkSpinlock.cpp.me chromium-125.0.6422.41/third_party/skia/src/base/SkSpinlock.cpp
---- chromium-125.0.6422.41/third_party/skia/src/base/SkSpinlock.cpp.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/base/SkSpinlock.cpp	2024-05-14 00:02:51.686315473 +0200
+Index: chromium-125.0.6422.41/third_party/skia/src/base/SkSpinlock.cpp
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/base/SkSpinlock.cpp
++++ chromium-125.0.6422.41/third_party/skia/src/base/SkSpinlock.cpp
 @@ -33,7 +33,8 @@
  #endif
  
@@ -130,119 +111,10 @@ diff -up chromium-125.0.6422.41/third_party/skia/src/base/SkSpinlock.cpp.me chro
      #include <emmintrin.h>
      static void do_pause() { _mm_pause(); }
  #else
-diff -up chromium-125.0.6422.41/third_party/skia/src/base/SkVx.h.me chromium-125.0.6422.41/third_party/skia/src/base/SkVx.h
---- chromium-125.0.6422.41/third_party/skia/src/base/SkVx.h.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/base/SkVx.h	2024-05-14 00:02:51.688315511 +0200
-@@ -42,7 +42,13 @@
- 
- #if SKVX_USE_SIMD
-     #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
--        #include <immintrin.h>
-+        #if __PPC64__
-+            #include <mmintrin.h>
-+            #include <emmintrin.h>
-+            #include <tmmintrin.h>
-+        #else
-+            #include <immintrin.h>
-+        #endif
-     #elif defined(SK_ARM_HAS_NEON)
-         #include <arm_neon.h>
-     #elif defined(__wasm_simd128__)
-diff -up chromium-125.0.6422.41/third_party/skia/src/core/SkBitmapProcState_opts.cpp.me chromium-125.0.6422.41/third_party/skia/src/core/SkBitmapProcState_opts.cpp
---- chromium-125.0.6422.41/third_party/skia/src/core/SkBitmapProcState_opts.cpp.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/core/SkBitmapProcState_opts.cpp	2024-05-14 00:02:51.689315531 +0200
-@@ -25,7 +25,7 @@ namespace SkOpts {
-     static bool init() {
-     #if defined(SK_ENABLE_OPTIMIZE_SIZE)
-         // All Init_foo functions are omitted when optimizing for size
--    #elif defined(SK_CPU_X86)
-+    #elif defined(SK_CPU_X86) || defined(SK_CPU_PPC64)
-         #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
-             if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BitmapProcState_ssse3(); }
-         #endif
-diff -up chromium-125.0.6422.41/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp.me chromium-125.0.6422.41/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
---- chromium-125.0.6422.41/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp	2024-05-14 00:02:51.689315531 +0200
-@@ -8,7 +8,7 @@
- #include "include/private/base/SkFeatures.h"
- #include "src/core/SkOptsTargets.h"
- 
--#if defined(SK_CPU_X86) && !defined(SK_ENABLE_OPTIMIZE_SIZE)
-+#if (defined(SK_CPU_X86) || defined(SK_CPU_PPC64)) && !defined(SK_ENABLE_OPTIMIZE_SIZE)
- 
- // The order of these includes is important:
- // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
-diff -up chromium-125.0.6422.41/third_party/skia/src/core/SkBlitMask_opts.cpp.me chromium-125.0.6422.41/third_party/skia/src/core/SkBlitMask_opts.cpp
---- chromium-125.0.6422.41/third_party/skia/src/core/SkBlitMask_opts.cpp.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/core/SkBlitMask_opts.cpp	2024-05-14 00:02:51.689315531 +0200
-@@ -25,7 +25,7 @@ namespace SkOpts {
-     static bool init() {
-     #if defined(SK_ENABLE_OPTIMIZE_SIZE)
-         // All Init_foo functions are omitted when optimizing for size
--    #elif defined(SK_CPU_X86)
-+    #elif defined(SK_CPU_X86) || defined(SK_CPU_PPC64)
-         #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
-             if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BlitMask_ssse3(); }
-         #endif
-diff -up chromium-125.0.6422.41/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp.me chromium-125.0.6422.41/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
---- chromium-125.0.6422.41/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp	2024-05-14 00:02:51.688315511 +0200
-@@ -9,7 +9,7 @@
- #include "src/core/SkBlitMask.h"
- #include "src/core/SkOptsTargets.h"
- 
--#if defined(SK_CPU_X86) && !defined(SK_ENABLE_OPTIMIZE_SIZE)
-+#if (defined(SK_CPU_X86) || defined(SK_CPU_PPC64)) && !defined(SK_ENABLE_OPTIMIZE_SIZE)
- 
- // The order of these includes is important:
- // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
-diff -up chromium-125.0.6422.41/third_party/skia/src/core/SkBlitter_ARGB32.cpp.me chromium-125.0.6422.41/third_party/skia/src/core/SkBlitter_ARGB32.cpp
---- chromium-125.0.6422.41/third_party/skia/src/core/SkBlitter_ARGB32.cpp.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/core/SkBlitter_ARGB32.cpp	2024-05-14 00:02:51.690315550 +0200
-@@ -126,6 +126,16 @@ static inline SkPMColor blend_lcd16_opaq
- #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
-     #include <emmintrin.h>
- 
-+#if defined(SK_CPU_PPC64)
-+    /* Load signed 64-bit integer from P into vector element 0.  The address need not be 16-byte aligned.  */
-+    extern __inline __m128i
-+        __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-+        _mm_loadu_si64 (void const *__P)
-+    {
-+      return _mm_set_epi64((__m64)0LL, *(__m64 *)__P);
-+    }
-+#endif
-+
-     // The following (left) shifts cause the top 5 bits of the mask components to
-     // line up with the corresponding components in an SkPMColor.
-     // Note that the mask's RGB16 order may differ from the SkPMColor order.
-diff -up chromium-125.0.6422.41/third_party/skia/src/core/SkCpu.h.me chromium-125.0.6422.41/third_party/skia/src/core/SkCpu.h
---- chromium-125.0.6422.41/third_party/skia/src/core/SkCpu.h.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/core/SkCpu.h	2024-05-14 00:02:51.689315531 +0200
-@@ -60,7 +60,7 @@ inline bool SkCpu::Supports(uint32_t mas
- 
-     // If we mask in compile-time known lower limits, the compiler can
-     // often compile away this entire function.
--#if SK_CPU_X86
-+#if SK_CPU_X86 || defined(SK_CPU_PPC64)
-     #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
-     features |= SSE1;
-     #endif
-diff -up chromium-125.0.6422.41/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp.me chromium-125.0.6422.41/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
---- chromium-125.0.6422.41/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp	2024-05-14 00:02:51.688315511 +0200
-@@ -10,7 +10,7 @@
- #include "src/core/SkOptsTargets.h"
- #include "src/core/SkSwizzlePriv.h"
- 
--#if defined(SK_CPU_X86) && \
-+#if (defined(SK_CPU_X86) || defined(SK_CPU_PPC64)) && \
-     !defined(SK_ENABLE_OPTIMIZE_SIZE) && \
-     SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
- 
-diff -up chromium-125.0.6422.41/third_party/skia/src/opts/SkBitmapProcState_opts.h.me chromium-125.0.6422.41/third_party/skia/src/opts/SkBitmapProcState_opts.h
---- chromium-125.0.6422.41/third_party/skia/src/opts/SkBitmapProcState_opts.h.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/opts/SkBitmapProcState_opts.h	2024-05-14 00:02:51.686315473 +0200
+Index: chromium-125.0.6422.41/third_party/skia/src/opts/SkBitmapProcState_opts.h
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
++++ chromium-125.0.6422.41/third_party/skia/src/opts/SkBitmapProcState_opts.h
 @@ -21,7 +21,13 @@
  // The rest are scattershot at the moment but I want to get them
  // all migrated to be normal code inside SkBitmapProcState.cpp.
@@ -258,9 +130,10 @@ diff -up chromium-125.0.6422.41/third_party/skia/src/opts/SkBitmapProcState_opts
      #include <immintrin.h>
  #elif defined(SK_ARM_HAS_NEON)
      #include <arm_neon.h>
-diff -up chromium-125.0.6422.41/third_party/skia/src/opts/SkBlitRow_opts.h.me chromium-125.0.6422.41/third_party/skia/src/opts/SkBlitRow_opts.h
---- chromium-125.0.6422.41/third_party/skia/src/opts/SkBlitRow_opts.h.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/opts/SkBlitRow_opts.h	2024-05-14 00:02:51.687315492 +0200
+Index: chromium-125.0.6422.41/third_party/skia/src/opts/SkBlitRow_opts.h
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/opts/SkBlitRow_opts.h
++++ chromium-125.0.6422.41/third_party/skia/src/opts/SkBlitRow_opts.h
 @@ -69,7 +69,7 @@
  #endif
  
@@ -270,13 +143,14 @@ diff -up chromium-125.0.6422.41/third_party/skia/src/opts/SkBlitRow_opts.h.me ch
  
      static inline __m128i SkPMSrcOver_SSE2(const __m128i& src, const __m128i& dst) {
          __m128i scale = _mm_sub_epi32(_mm_set1_epi32(256),
-diff -up chromium-125.0.6422.41/third_party/skia/src/opts/SkRasterPipeline_opts.h.me chromium-125.0.6422.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
---- chromium-125.0.6422.41/third_party/skia/src/opts/SkRasterPipeline_opts.h.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/opts/SkRasterPipeline_opts.h	2024-05-14 00:11:12.485694679 +0200
+Index: chromium-125.0.6422.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
++++ chromium-125.0.6422.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
 @@ -1,5 +1,6 @@
  /*
   * Copyright 2018 Google Inc.
-+ * Copyright 2023 Raptor Engineering, LLC
++ * Copyright 2023-2024 Raptor Engineering, LLC
   *
   * Use of this source code is governed by a BSD-style license that can be
   * found in the LICENSE file.
@@ -289,15 +163,15 @@ diff -up chromium-125.0.6422.41/third_party/skia/src/opts/SkRasterPipeline_opts.
  #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SKX
      #define JUMPER_IS_SKX
  #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_AVX2
-@@ -116,6 +119,8 @@ using NoCtx = const void*;
-     #include <lsxintrin.h>
- #elif defined(JUMPER_IS_LSX)
-     #include <lsxintrin.h>
+@@ -111,6 +114,8 @@ using NoCtx = const void*;
+     #include <math.h>
+ #elif defined(JUMPER_IS_NEON)
+     #include <arm_neon.h>
 +#elif defined(JUMPER_IS_VSX)
 +    #include <emmintrin.h>
- #else
-     #include <immintrin.h>
- #endif
+ #elif defined(JUMPER_IS_LASX)
+     #include <lasxintrin.h>
+     #include <lsxintrin.h>
 @@ -209,6 +214,184 @@ namespace SK_OPTS_NS {
          ptr[3] = a;
      }
@@ -525,28 +399,28 @@ diff -up chromium-125.0.6422.41/third_party/skia/src/opts/SkRasterPipeline_opts.
      // These platforms are ideal for wider stages, and their default ABI is ideal.
      #define ABI
      #define JUMPER_NARROW_STAGES 0
-@@ -5475,6 +5677,10 @@ SI F sqrt_(F x) {
-     __m128 lo,hi;
+@@ -5467,6 +5669,10 @@ SI F sqrt_(F x) {
+     float32x4_t lo,hi;
      split(x, &lo,&hi);
-     return join<F>(__lsx_vfsqrt_s(lo), __lsx_vfsqrt_s(hi));
+     return join<F>(sqrt(lo), sqrt(hi));
 +#elif defined(JUMPER_IS_VSX)
 +    vector float lo,hi;
 +    split(x, &lo,&hi);
 +    return join<F>(vec_sqrt(lo), vec_sqrt(hi));
- #else
-     return F{
-         sqrtf(x[0]), sqrtf(x[1]), sqrtf(x[2]), sqrtf(x[3]),
-@@ -5506,6 +5712,10 @@ SI F floor_(F x) {
+ #elif defined(JUMPER_IS_LASX)
+     __m256 lo,hi;
+     split(x, &lo,&hi);
+@@ -5498,6 +5704,10 @@ SI F floor_(F x) {
      __m128 lo,hi;
      split(x, &lo,&hi);
-     return join<F>(__lsx_vfrintrm_s(lo), __lsx_vfrintrm_s(hi));
+     return join<F>(_mm_floor_ps(lo), _mm_floor_ps(hi));
 +#elif defined(JUMPER_IS_VSX)
 +    vector float lo,hi;
 +    split(x, &lo,&hi);
 +    return join<F>(vec_floor(lo), vec_floor(hi));
- #else
-     F roundtrip = cast<F>(cast<I32>(x));
-     return roundtrip - if_then_else(roundtrip > x, F_(1), F_(0));
+ #elif defined(JUMPER_IS_LASX)
+     __m256 lo,hi;
+     split(x, &lo,&hi);
 @@ -5517,6 +5727,7 @@ SI F floor_(F x) {
  //     (2 * a * b + (1 << 15)) >> 16
  // The result is a number on [-1, 1).
@@ -555,10 +429,10 @@ diff -up chromium-125.0.6422.41/third_party/skia/src/opts/SkRasterPipeline_opts.
  SI I16 scaled_mult(I16 a, I16 b) {
  #if defined(JUMPER_IS_SKX)
      return (I16)_mm256_mulhrs_epi16((__m256i)a, (__m256i)b);
-@@ -5534,6 +5745,22 @@ SI I16 scaled_mult(I16 a, I16 b) {
- #elif defined(JUMPER_IS_LSX)
-     I16 res = __lsx_vmuh_h(a, b);
-     return __lsx_vslli_h(res, 1);
+@@ -5528,6 +5739,22 @@ SI I16 scaled_mult(I16 a, I16 b) {
+     return vqrdmulhq_s16(a, b);
+ #elif defined(JUMPER_IS_NEON)
+     return vqrdmulhq_s16(a, b);
 +#elif defined(JUMPER_IS_VSX)
 +    const vector unsigned int shift = vec_splats((unsigned int)14);
 +    const vector int ones = vec_splats((signed int)1);
@@ -575,9 +449,9 @@ diff -up chromium-125.0.6422.41/third_party/skia/src/opts/SkRasterPipeline_opts.
 +    d = vec_add(d, ones);
 +    d = vec_sr(d,(vector unsigned int)ones);
 +    return vec_pack(c, d);
- #else
-     const I32 roundingTerm = I32_(1 << 14);
-     return cast<I16>((cast<I32>(a) * cast<I32>(b) + roundingTerm) >> 15);
+ #elif defined(JUMPER_IS_LASX)
+     I16 res = __lasx_xvmuh_h(a, b);
+     return __lasx_xvslli_h(res, 1);
 @@ -5555,7 +5782,26 @@ SI U16 constrained_add(I16 a, U16 b) {
              SkASSERT(-ib <= ia && ia <= 65535 - ib);
          }
@@ -650,9 +524,132 @@ diff -up chromium-125.0.6422.41/third_party/skia/src/opts/SkRasterPipeline_opts.
      };
  
      r = lerpY(topR, bottomR);
-diff -up chromium-125.0.6422.41/third_party/skia/src/opts/SkSwizzler_opts.inc.me chromium-125.0.6422.41/third_party/skia/src/opts/SkSwizzler_opts.inc
---- chromium-125.0.6422.41/third_party/skia/src/opts/SkSwizzler_opts.inc.me	2024-05-08 22:30:55.000000000 +0200
-+++ chromium-125.0.6422.41/third_party/skia/src/opts/SkSwizzler_opts.inc	2024-05-14 00:02:51.689315531 +0200
+Index: chromium-125.0.6422.41/third_party/skia/src/base/SkVx.h
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/base/SkVx.h
++++ chromium-125.0.6422.41/third_party/skia/src/base/SkVx.h
+@@ -42,7 +42,13 @@
+ 
+ #if SKVX_USE_SIMD
+     #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
+-        #include <immintrin.h>
++        #if __PPC64__
++            #include <mmintrin.h>
++            #include <emmintrin.h>
++            #include <tmmintrin.h>
++        #else
++            #include <immintrin.h>
++        #endif
+     #elif defined(SK_ARM_HAS_NEON)
+         #include <arm_neon.h>
+     #elif defined(__wasm_simd128__)
+Index: chromium-125.0.6422.41/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
++++ chromium-125.0.6422.41/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+@@ -9,7 +9,7 @@
+ #include "src/core/SkBlitMask.h"
+ #include "src/core/SkOptsTargets.h"
+ 
+-#if defined(SK_CPU_X86) && !defined(SK_ENABLE_OPTIMIZE_SIZE)
++#if (defined(SK_CPU_X86) || defined(SK_CPU_PPC64)) && !defined(SK_ENABLE_OPTIMIZE_SIZE)
+ 
+ // The order of these includes is important:
+ // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
+Index: chromium-125.0.6422.41/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
++++ chromium-125.0.6422.41/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+@@ -10,7 +10,7 @@
+ #include "src/core/SkOptsTargets.h"
+ #include "src/core/SkSwizzlePriv.h"
+ 
+-#if defined(SK_CPU_X86) && \
++#if (defined(SK_CPU_X86) || defined(SK_CPU_PPC64)) && \
+     !defined(SK_ENABLE_OPTIMIZE_SIZE) && \
+     SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
+ 
+Index: chromium-125.0.6422.41/third_party/skia/src/core/SkBlitMask_opts.cpp
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
++++ chromium-125.0.6422.41/third_party/skia/src/core/SkBlitMask_opts.cpp
+@@ -25,7 +25,7 @@ namespace SkOpts {
+     static bool init() {
+     #if defined(SK_ENABLE_OPTIMIZE_SIZE)
+         // All Init_foo functions are omitted when optimizing for size
+-    #elif defined(SK_CPU_X86)
++    #elif defined(SK_CPU_X86) || defined(SK_CPU_PPC64)
+         #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
+             if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BlitMask_ssse3(); }
+         #endif
+Index: chromium-125.0.6422.41/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
++++ chromium-125.0.6422.41/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+@@ -25,7 +25,7 @@ namespace SkOpts {
+     static bool init() {
+     #if defined(SK_ENABLE_OPTIMIZE_SIZE)
+         // All Init_foo functions are omitted when optimizing for size
+-    #elif defined(SK_CPU_X86)
++    #elif defined(SK_CPU_X86) || defined(SK_CPU_PPC64)
+         #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
+             if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BitmapProcState_ssse3(); }
+         #endif
+Index: chromium-125.0.6422.41/third_party/skia/src/core/SkCpu.h
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/core/SkCpu.h
++++ chromium-125.0.6422.41/third_party/skia/src/core/SkCpu.h
+@@ -60,7 +60,7 @@ inline bool SkCpu::Supports(uint32_t mas
+ 
+     // If we mask in compile-time known lower limits, the compiler can
+     // often compile away this entire function.
+-#if SK_CPU_X86
++#if SK_CPU_X86 || defined(SK_CPU_PPC64)
+     #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
+     features |= SSE1;
+     #endif
+Index: chromium-125.0.6422.41/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
++++ chromium-125.0.6422.41/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+@@ -8,7 +8,7 @@
+ #include "include/private/base/SkFeatures.h"
+ #include "src/core/SkOptsTargets.h"
+ 
+-#if defined(SK_CPU_X86) && !defined(SK_ENABLE_OPTIMIZE_SIZE)
++#if (defined(SK_CPU_X86) || defined(SK_CPU_PPC64)) && !defined(SK_ENABLE_OPTIMIZE_SIZE)
+ 
+ // The order of these includes is important:
+ // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
+Index: chromium-125.0.6422.41/third_party/skia/include/private/base/SkFeatures.h
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/include/private/base/SkFeatures.h
++++ chromium-125.0.6422.41/third_party/skia/include/private/base/SkFeatures.h
+@@ -63,6 +63,8 @@
+ 
+ #if defined(__i386) || defined(_M_IX86) ||  defined(__x86_64__) || defined(_M_X64)
+   #define SK_CPU_X86 1
++#elif defined(__powerpc64__) || defined(__PPC64__)
++  #define SK_CPU_PPC64 1
+ #endif
+ 
+ #if defined(__loongarch__) || defined (__loongarch64)
+Index: chromium-125.0.6422.41/third_party/skia/modules/skcms/src/skcms_internals.h
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/modules/skcms/src/skcms_internals.h
++++ chromium-125.0.6422.41/third_party/skia/modules/skcms/src/skcms_internals.h
+@@ -47,6 +47,7 @@ extern "C" {
+                                                  && !defined(__EMSCRIPTEN__) \
+                                                  && !defined(__arm__) \
+                                                  && !defined(__riscv) \
++                                                 && !defined(__powerpc64__) \
+                                                  && !defined(__loongarch__) \
+                                                  && !defined(_WIN32) && !defined(__SYMBIAN32__)
+             #define SKCMS_HAS_MUSTTAIL 1
+Index: chromium-125.0.6422.41/third_party/skia/src/opts/SkSwizzler_opts.inc
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/opts/SkSwizzler_opts.inc
++++ chromium-125.0.6422.41/third_party/skia/src/opts/SkSwizzler_opts.inc
 @@ -14,7 +14,10 @@
  #include <cmath>
  #include <utility>
@@ -699,3 +696,24 @@ diff -up chromium-125.0.6422.41/third_party/skia/src/opts/SkSwizzler_opts.inc.me
  #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 && (defined(__clang__) || !defined(_MSC_VER))
  // -- SSE -- Harden against timing attacks -- MSVC is not supported.
  using F4 = __m128;
+Index: chromium-125.0.6422.41/third_party/skia/src/core/SkBlitter_ARGB32.cpp
+===================================================================
+--- chromium-125.0.6422.41.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp
++++ chromium-125.0.6422.41/third_party/skia/src/core/SkBlitter_ARGB32.cpp
+@@ -126,6 +126,16 @@ static inline SkPMColor blend_lcd16_opaq
+ #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
+     #include <emmintrin.h>
+ 
++#if defined(SK_CPU_PPC64)
++    /* Load signed 64-bit integer from P into vector element 0.  The address need not be 16-byte aligned.  */
++    extern __inline __m128i
++        __attribute__((__gnu_inline__, __always_inline__, __artificial__))
++        _mm_loadu_si64 (void const *__P)
++    {
++      return _mm_set_epi64((__m64)0LL, *(__m64 *)__P);
++    }
++#endif
++
+     // The following (left) shifts cause the top 5 bits of the mask components to
+     // line up with the corresponding components in an SkPMColor.
+     // Note that the mask's RGB16 order may differ from the SkPMColor order.

                 reply	other threads:[~2026-08-07 16:06 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178611878607.1.16545417496402023915.rpms-chromium-3f72327dd34e@fedoraproject.org \
    --to=than@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox