cjson
.github
workflows CI.yml ci-fuzz.yml
CONTRIBUTING.md
fuzzing
inputs test1 test10 test11 test2 test3 test3.bu test3.uf test3.uu test4 test5 test6 test7 test8 test9
.gitignore CMakeLists.txt afl-prepare-linux.sh afl.c afl.sh cjson_read_fuzzer.c fuzz_main.c json.dict ossfuzz.sh
library_config cJSONConfig.cmake.in cJSONConfigVersion.cmake.in libcjson.pc.in libcjson_utils.pc.in uninstall.cmake
tests
inputs test1 test1.expected test10 test10.expected test11 test11.expected test2 test2.expected test3 test3.expected test4 test4.expected test5 test5.expected test6 test7 test7.expected test8 test8.expected test9 test9.expected
json-patch-tests .editorconfig .gitignore .npmignore README.md cjson-utils-tests.json package.json spec_tests.json tests.json
unity
auto colour_prompt.rb colour_reporter.rb generate_config.yml generate_module.rb generate_test_runner.rb parse_output.rb stylize_as_junit.rb test_file_filter.rb type_sanitizer.rb unity_test_summary.py unity_test_summary.rb unity_to_junit.py
docs ThrowTheSwitchCodingStandard.md UnityAssertionsCheatSheetSuitableforPrintingandPossiblyFraming.pdf UnityAssertionsReference.md UnityConfigurationGuide.md UnityGettingStartedGuide.md UnityHelperScriptsGuide.md license.txt
examples
example_1
src ProductionCode.c ProductionCode.h ProductionCode2.c ProductionCode2.h
makefile readme.txt
example_2
src ProductionCode.c ProductionCode.h ProductionCode2.c ProductionCode2.h
makefile readme.txt
example_3
helper UnityHelper.c UnityHelper.h
src ProductionCode.c ProductionCode.h ProductionCode2.c ProductionCode2.h
rakefile.rb rakefile_helper.rb readme.txt target_gcc_32.yml
unity_config.h
extras
eclipse error_parsers.txt
fixture
src unity_fixture.c unity_fixture.h unity_fixture_internals.h unity_fixture_malloc_overrides.h
rakefile.rb rakefile_helper.rb readme.txt
release build.info version.info
src unity.c unity.h unity_internals.h
.gitattributes .gitignore .travis.yml README.md
CMakeLists.txt cjson_add.c common.h compare_tests.c json_patch_tests.c minify_tests.c misc_tests.c misc_utils_tests.c old_utils_tests.c parse_array.c parse_examples.c parse_hex4.c parse_number.c parse_object.c parse_string.c parse_value.c parse_with_opts.c print_array.c print_number.c print_object.c print_string.c print_value.c readme_examples.c unity_setup.c
.editorconfig .gitattributes .gitignore .travis.yml CHANGELOG.md CMakeLists.txt CONTRIBUTORS.md LICENSE Makefile README.md SECURITY.md appveyor.yml cJSON.c cJSON.h cJSON_Utils.c cJSON_Utils.h test.c valgrind.supp
curl
.circleci config.yml
.github
ISSUE_TEMPLATE bug_report.yml config.yml docs.yml
scripts cleancmd.pl cmp-config.pl cmp-pkg-config.sh codespell-ignore.words codespell.sh distfiles.sh pyspelling.words pyspelling.yaml randcurl.pl requirements-docs.txt requirements-proselint.txt requirements.txt shellcheck-ci.sh shellcheck.sh spellcheck.curl trimmarkdownheader.pl typos.sh typos.toml verify-examples.pl verify-synopsis.pl yamlcheck.sh yamlcheck.yaml
workflows appveyor-status.yml checkdocs.yml checksrc.yml checkurls.yml codeql.yml configure-vs-cmake.yml curl-for-win.yml distcheck.yml fuzz.yml http3-linux.yml label.yml linux-old.yml linux.yml macos.yml non-native.yml windows.yml
CODEOWNERS CONTRIBUTING.md FUNDING.yml dependabot.yml labeler.yml lock.yml stale.yml
CMake CurlSymbolHiding.cmake CurlTests.c FindBrotli.cmake FindCares.cmake FindGSS.cmake FindGnuTLS.cmake FindLDAP.cmake FindLibbacktrace.cmake FindLibgsasl.cmake FindLibidn2.cmake FindLibpsl.cmake FindLibssh.cmake FindLibssh2.cmake FindLibuv.cmake FindMbedTLS.cmake FindNGHTTP2.cmake FindNGHTTP3.cmake FindNGTCP2.cmake FindNettle.cmake FindQuiche.cmake FindRustls.cmake FindWolfSSL.cmake FindZstd.cmake Macros.cmake OtherTests.cmake PickyWarnings.cmake Utilities.cmake cmake_uninstall.in.cmake curl-config.in.cmake unix-cache.cmake win32-cache.cmake
LICENSES BSD-4-Clause-UC.txt ISC.txt curl.txt
docs
cmdline-opts .gitignore CMakeLists.txt MANPAGE.md Makefile.am Makefile.inc _AUTHORS.md _BUGS.md _DESCRIPTION.md _ENVIRONMENT.md _EXITCODES.md _FILES.md _GLOBBING.md _NAME.md _OPTIONS.md _OUTPUT.md _PROGRESS.md _PROTOCOLS.md _PROXYPREFIX.md _SEEALSO.md _SYNOPSIS.md _URL.md _VARIABLES.md _VERSION.md _WWW.md abstract-unix-socket.md alt-svc.md anyauth.md append.md aws-sigv4.md basic.md ca-native.md cacert.md capath.md cert-status.md cert-type.md cert.md ciphers.md compressed-ssh.md compressed.md config.md connect-timeout.md connect-to.md continue-at.md cookie-jar.md cookie.md create-dirs.md create-file-mode.md crlf.md crlfile.md curves.md data-ascii.md data-binary.md data-raw.md data-urlencode.md data.md delegation.md digest.md disable-eprt.md disable-epsv.md disable.md disallow-username-in-url.md dns-interface.md dns-ipv4-addr.md dns-ipv6-addr.md dns-servers.md doh-cert-status.md doh-insecure.md doh-url.md dump-ca-embed.md dump-header.md ech.md egd-file.md engine.md etag-compare.md etag-save.md expect100-timeout.md fail-early.md fail-with-body.md fail.md false-start.md follow.md form-escape.md form-string.md form.md ftp-account.md ftp-alternative-to-user.md ftp-create-dirs.md ftp-method.md ftp-pasv.md ftp-port.md ftp-pret.md ftp-skip-pasv-ip.md ftp-ssl-ccc-mode.md ftp-ssl-ccc.md ftp-ssl-control.md get.md globoff.md happy-eyeballs-timeout-ms.md haproxy-clientip.md haproxy-protocol.md head.md header.md help.md hostpubmd5.md hostpubsha256.md hsts.md http0.9.md http1.0.md http1.1.md http2-prior-knowledge.md http2.md http3-only.md http3.md ignore-content-length.md insecure.md interface.md ip-tos.md ipfs-gateway.md ipv4.md ipv6.md json.md junk-session-cookies.md keepalive-cnt.md keepalive-time.md key-type.md key.md knownhosts.md krb.md libcurl.md limit-rate.md list-only.md local-port.md location-trusted.md location.md login-options.md mail-auth.md mail-from.md mail-rcpt-allowfails.md mail-rcpt.md mainpage.idx manual.md max-filesize.md max-redirs.md max-time.md metalink.md mptcp.md negotiate.md netrc-file.md netrc-optional.md netrc.md next.md no-alpn.md no-buffer.md no-clobber.md no-keepalive.md no-npn.md no-progress-meter.md no-sessionid.md noproxy.md ntlm-wb.md ntlm.md oauth2-bearer.md out-null.md output-dir.md output.md parallel-immediate.md parallel-max-host.md parallel-max.md parallel.md pass.md path-as-is.md pinnedpubkey.md post301.md post302.md post303.md preproxy.md progress-bar.md proto-default.md proto-redir.md proto.md proxy-anyauth.md proxy-basic.md proxy-ca-native.md proxy-cacert.md proxy-capath.md proxy-cert-type.md proxy-cert.md proxy-ciphers.md proxy-crlfile.md proxy-digest.md proxy-header.md proxy-http2.md proxy-insecure.md proxy-key-type.md proxy-key.md proxy-negotiate.md proxy-ntlm.md proxy-pass.md proxy-pinnedpubkey.md proxy-service-name.md proxy-ssl-allow-beast.md proxy-ssl-auto-client-cert.md proxy-tls13-ciphers.md proxy-tlsauthtype.md proxy-tlspassword.md proxy-tlsuser.md proxy-tlsv1.md proxy-user.md proxy.md proxy1.0.md proxytunnel.md pubkey.md quote.md random-file.md range.md rate.md raw.md referer.md remote-header-name.md remote-name-all.md remote-name.md remote-time.md remove-on-error.md request-target.md request.md resolve.md retry-all-errors.md retry-connrefused.md retry-delay.md retry-max-time.md retry.md sasl-authzid.md sasl-ir.md service-name.md show-error.md show-headers.md sigalgs.md silent.md skip-existing.md socks4.md socks4a.md socks5-basic.md socks5-gssapi-nec.md socks5-gssapi-service.md socks5-gssapi.md socks5-hostname.md socks5.md speed-limit.md speed-time.md ssl-allow-beast.md ssl-auto-client-cert.md ssl-no-revoke.md ssl-reqd.md ssl-revoke-best-effort.md ssl-sessions.md ssl.md sslv2.md sslv3.md stderr.md styled-output.md suppress-connect-headers.md tcp-fastopen.md tcp-nodelay.md telnet-option.md tftp-blksize.md tftp-no-options.md time-cond.md tls-earlydata.md tls-max.md tls13-ciphers.md tlsauthtype.md tlspassword.md tlsuser.md tlsv1.0.md tlsv1.1.md tlsv1.2.md tlsv1.3.md tlsv1.md tr-encoding.md trace-ascii.md trace-config.md trace-ids.md trace-time.md trace.md unix-socket.md upload-file.md upload-flags.md url-query.md url.md use-ascii.md user-agent.md user.md variable.md verbose.md version.md vlan-priority.md write-out.md xattr.md
examples .checksrc .gitignore 10-at-a-time.c CMakeLists.txt Makefile.am Makefile.example Makefile.inc README.md adddocsref.pl address-scope.c altsvc.c anyauthput.c block_ip.c cacertinmem.c certinfo.c chkspeed.c connect-to.c cookie_interface.c crawler.c debug.c default-scheme.c ephiperfifo.c evhiperfifo.c externalsocket.c fileupload.c ftp-delete.c ftp-wildcard.c ftpget.c ftpgetinfo.c ftpgetresp.c ftpsget.c ftpupload.c ftpuploadfrommem.c ftpuploadresume.c getinfo.c getinmemory.c getredirect.c getreferrer.c ghiper.c headerapi.c hiperfifo.c hsts-preload.c htmltidy.c htmltitle.cpp http-options.c http-post.c http2-download.c http2-pushinmemory.c http2-serverpush.c http2-upload.c http3-present.c http3.c httpcustomheader.c httpput-postfields.c httpput.c https.c imap-append.c imap-authzid.c imap-copy.c imap-create.c imap-delete.c imap-examine.c imap-fetch.c imap-list.c imap-lsub.c imap-multi.c imap-noop.c imap-search.c imap-ssl.c imap-store.c imap-tls.c interface.c ipv6.c keepalive.c localport.c log_failed_transfers.c maxconnects.c multi-app.c multi-debugcallback.c multi-double.c multi-event.c multi-formadd.c multi-legacy.c multi-post.c multi-single.c multi-uv.c netrc.c parseurl.c persistent.c pop3-authzid.c pop3-dele.c pop3-list.c pop3-multi.c pop3-noop.c pop3-retr.c pop3-ssl.c pop3-stat.c pop3-tls.c pop3-top.c pop3-uidl.c post-callback.c postinmemory.c postit2-formadd.c postit2.c progressfunc.c protofeats.c range.c resolve.c rtsp-options.c sendrecv.c sepheaders.c sessioninfo.c sftpget.c sftpuploadresume.c shared-connection-cache.c simple.c simplepost.c simplessl.c smooth-gtk-thread.c smtp-authzid.c smtp-expn.c smtp-mail.c smtp-mime.c smtp-multi.c smtp-ssl.c smtp-tls.c smtp-vrfy.c sslbackend.c synctime.c threaded.c unixsocket.c url2file.c urlapi.c usercertinmem.c version-check.pl websocket-cb.c websocket-updown.c websocket.c xmlstream.c
internals BUFQ.md BUFREF.md CHECKSRC.md CLIENT-READERS.md CLIENT-WRITERS.md CODE_STYLE.md CONNECTION-FILTERS.md CREDENTIALS.md CURLX.md DYNBUF.md HASH.md LLIST.md MID.md MQTT.md MULTI-EV.md NEW-PROTOCOL.md PEERS.md PORTING.md RATELIMITS.md README.md SCORECARD.md SPLAY.md STRPARSE.md THRDPOOL-AND-QUEUE.md TIME-KEEPING.md TLS-SESSIONS.md UINT_SETS.md WEBSOCKET.md
libcurl
opts CMakeLists.txt CURLINFO_ACTIVESOCKET.md CURLINFO_APPCONNECT_TIME.md CURLINFO_APPCONNECT_TIME_T.md CURLINFO_CAINFO.md CURLINFO_CAPATH.md CURLINFO_CERTINFO.md CURLINFO_CONDITION_UNMET.md CURLINFO_CONNECT_TIME.md CURLINFO_CONNECT_TIME_T.md CURLINFO_CONN_ID.md CURLINFO_CONTENT_LENGTH_DOWNLOAD.md CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.md CURLINFO_CONTENT_LENGTH_UPLOAD.md CURLINFO_CONTENT_LENGTH_UPLOAD_T.md CURLINFO_CONTENT_TYPE.md CURLINFO_COOKIELIST.md CURLINFO_EARLYDATA_SENT_T.md CURLINFO_EFFECTIVE_METHOD.md CURLINFO_EFFECTIVE_URL.md CURLINFO_FILETIME.md CURLINFO_FILETIME_T.md CURLINFO_FTP_ENTRY_PATH.md CURLINFO_HEADER_SIZE.md CURLINFO_HTTPAUTH_AVAIL.md CURLINFO_HTTPAUTH_USED.md CURLINFO_HTTP_CONNECTCODE.md CURLINFO_HTTP_VERSION.md CURLINFO_LASTSOCKET.md CURLINFO_LOCAL_IP.md CURLINFO_LOCAL_PORT.md CURLINFO_NAMELOOKUP_TIME.md CURLINFO_NAMELOOKUP_TIME_T.md CURLINFO_NUM_CONNECTS.md CURLINFO_OS_ERRNO.md CURLINFO_POSTTRANSFER_TIME_T.md CURLINFO_PRETRANSFER_TIME.md CURLINFO_PRETRANSFER_TIME_T.md CURLINFO_PRIMARY_IP.md CURLINFO_PRIMARY_PORT.md CURLINFO_PRIVATE.md CURLINFO_PROTOCOL.md CURLINFO_PROXYAUTH_AVAIL.md CURLINFO_PROXYAUTH_USED.md CURLINFO_PROXY_ERROR.md CURLINFO_PROXY_SSL_VERIFYRESULT.md CURLINFO_QUEUE_TIME_T.md CURLINFO_REDIRECT_COUNT.md CURLINFO_REDIRECT_TIME.md CURLINFO_REDIRECT_TIME_T.md CURLINFO_REDIRECT_URL.md CURLINFO_REFERER.md CURLINFO_REQUEST_SIZE.md CURLINFO_RESPONSE_CODE.md CURLINFO_RETRY_AFTER.md CURLINFO_RTSP_CLIENT_CSEQ.md CURLINFO_RTSP_CSEQ_RECV.md CURLINFO_RTSP_SERVER_CSEQ.md CURLINFO_RTSP_SESSION_ID.md CURLINFO_SCHEME.md CURLINFO_SIZE_DELIVERED.md CURLINFO_SIZE_DOWNLOAD.md CURLINFO_SIZE_DOWNLOAD_T.md CURLINFO_SIZE_UPLOAD.md CURLINFO_SIZE_UPLOAD_T.md CURLINFO_SPEED_DOWNLOAD.md CURLINFO_SPEED_DOWNLOAD_T.md CURLINFO_SPEED_UPLOAD.md CURLINFO_SPEED_UPLOAD_T.md CURLINFO_SSL_ENGINES.md CURLINFO_SSL_VERIFYRESULT.md CURLINFO_STARTTRANSFER_TIME.md CURLINFO_STARTTRANSFER_TIME_T.md CURLINFO_TLS_SESSION.md CURLINFO_TLS_SSL_PTR.md CURLINFO_TOTAL_TIME.md CURLINFO_TOTAL_TIME_T.md CURLINFO_USED_PROXY.md CURLINFO_XFER_ID.md CURLMINFO_XFERS_ADDED.md CURLMINFO_XFERS_CURRENT.md CURLMINFO_XFERS_DONE.md CURLMINFO_XFERS_PENDING.md CURLMINFO_XFERS_RUNNING.md CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.md CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.md CURLMOPT_MAXCONNECTS.md CURLMOPT_MAX_CONCURRENT_STREAMS.md CURLMOPT_MAX_HOST_CONNECTIONS.md CURLMOPT_MAX_PIPELINE_LENGTH.md CURLMOPT_MAX_TOTAL_CONNECTIONS.md CURLMOPT_NETWORK_CHANGED.md CURLMOPT_NOTIFYDATA.md CURLMOPT_NOTIFYFUNCTION.md CURLMOPT_PIPELINING.md CURLMOPT_PIPELINING_SERVER_BL.md CURLMOPT_PIPELINING_SITE_BL.md CURLMOPT_PUSHDATA.md CURLMOPT_PUSHFUNCTION.md CURLMOPT_QUICK_EXIT.md CURLMOPT_RESOLVE_THREADS_MAX.md CURLMOPT_SOCKETDATA.md CURLMOPT_SOCKETFUNCTION.md CURLMOPT_TIMERDATA.md CURLMOPT_TIMERFUNCTION.md CURLOPT_ABSTRACT_UNIX_SOCKET.md CURLOPT_ACCEPTTIMEOUT_MS.md CURLOPT_ACCEPT_ENCODING.md CURLOPT_ADDRESS_SCOPE.md CURLOPT_ALTSVC.md CURLOPT_ALTSVC_CTRL.md CURLOPT_APPEND.md CURLOPT_AUTOREFERER.md CURLOPT_AWS_SIGV4.md CURLOPT_BUFFERSIZE.md CURLOPT_CAINFO.md CURLOPT_CAINFO_BLOB.md CURLOPT_CAPATH.md CURLOPT_CA_CACHE_TIMEOUT.md CURLOPT_CERTINFO.md CURLOPT_CHUNK_BGN_FUNCTION.md CURLOPT_CHUNK_DATA.md CURLOPT_CHUNK_END_FUNCTION.md CURLOPT_CLOSESOCKETDATA.md CURLOPT_CLOSESOCKETFUNCTION.md CURLOPT_CONNECTTIMEOUT.md CURLOPT_CONNECTTIMEOUT_MS.md CURLOPT_CONNECT_ONLY.md CURLOPT_CONNECT_TO.md CURLOPT_CONV_FROM_NETWORK_FUNCTION.md CURLOPT_CONV_FROM_UTF8_FUNCTION.md CURLOPT_CONV_TO_NETWORK_FUNCTION.md CURLOPT_COOKIE.md CURLOPT_COOKIEFILE.md CURLOPT_COOKIEJAR.md CURLOPT_COOKIELIST.md CURLOPT_COOKIESESSION.md CURLOPT_COPYPOSTFIELDS.md CURLOPT_CRLF.md CURLOPT_CRLFILE.md CURLOPT_CURLU.md CURLOPT_CUSTOMREQUEST.md CURLOPT_DEBUGDATA.md CURLOPT_DEBUGFUNCTION.md CURLOPT_DEFAULT_PROTOCOL.md CURLOPT_DIRLISTONLY.md CURLOPT_DISALLOW_USERNAME_IN_URL.md CURLOPT_DNS_CACHE_TIMEOUT.md CURLOPT_DNS_INTERFACE.md CURLOPT_DNS_LOCAL_IP4.md CURLOPT_DNS_LOCAL_IP6.md CURLOPT_DNS_SERVERS.md CURLOPT_DNS_SHUFFLE_ADDRESSES.md CURLOPT_DNS_USE_GLOBAL_CACHE.md CURLOPT_DOH_SSL_VERIFYHOST.md CURLOPT_DOH_SSL_VERIFYPEER.md CURLOPT_DOH_SSL_VERIFYSTATUS.md CURLOPT_DOH_URL.md CURLOPT_ECH.md CURLOPT_EGDSOCKET.md CURLOPT_ERRORBUFFER.md CURLOPT_EXPECT_100_TIMEOUT_MS.md CURLOPT_FAILONERROR.md CURLOPT_FILETIME.md CURLOPT_FNMATCH_DATA.md CURLOPT_FNMATCH_FUNCTION.md CURLOPT_FOLLOWLOCATION.md CURLOPT_FORBID_REUSE.md CURLOPT_FRESH_CONNECT.md CURLOPT_FTPPORT.md CURLOPT_FTPSSLAUTH.md CURLOPT_FTP_ACCOUNT.md CURLOPT_FTP_ALTERNATIVE_TO_USER.md CURLOPT_FTP_CREATE_MISSING_DIRS.md CURLOPT_FTP_FILEMETHOD.md CURLOPT_FTP_SKIP_PASV_IP.md CURLOPT_FTP_SSL_CCC.md CURLOPT_FTP_USE_EPRT.md CURLOPT_FTP_USE_EPSV.md CURLOPT_FTP_USE_PRET.md CURLOPT_GSSAPI_DELEGATION.md CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.md CURLOPT_HAPROXYPROTOCOL.md CURLOPT_HAPROXY_CLIENT_IP.md CURLOPT_HEADER.md CURLOPT_HEADERDATA.md CURLOPT_HEADERFUNCTION.md CURLOPT_HEADEROPT.md CURLOPT_HSTS.md CURLOPT_HSTSREADDATA.md CURLOPT_HSTSREADFUNCTION.md CURLOPT_HSTSWRITEDATA.md CURLOPT_HSTSWRITEFUNCTION.md CURLOPT_HSTS_CTRL.md CURLOPT_HTTP09_ALLOWED.md CURLOPT_HTTP200ALIASES.md CURLOPT_HTTPAUTH.md CURLOPT_HTTPGET.md CURLOPT_HTTPHEADER.md CURLOPT_HTTPPOST.md CURLOPT_HTTPPROXYTUNNEL.md CURLOPT_HTTP_CONTENT_DECODING.md CURLOPT_HTTP_TRANSFER_DECODING.md CURLOPT_HTTP_VERSION.md CURLOPT_IGNORE_CONTENT_LENGTH.md CURLOPT_INFILESIZE.md CURLOPT_INFILESIZE_LARGE.md CURLOPT_INTERFACE.md CURLOPT_INTERLEAVEDATA.md CURLOPT_INTERLEAVEFUNCTION.md CURLOPT_IOCTLDATA.md CURLOPT_IOCTLFUNCTION.md CURLOPT_IPRESOLVE.md CURLOPT_ISSUERCERT.md CURLOPT_ISSUERCERT_BLOB.md CURLOPT_KEEP_SENDING_ON_ERROR.md CURLOPT_KEYPASSWD.md CURLOPT_KRBLEVEL.md CURLOPT_LOCALPORT.md CURLOPT_LOCALPORTRANGE.md CURLOPT_LOGIN_OPTIONS.md CURLOPT_LOW_SPEED_LIMIT.md CURLOPT_LOW_SPEED_TIME.md CURLOPT_MAIL_AUTH.md CURLOPT_MAIL_FROM.md CURLOPT_MAIL_RCPT.md CURLOPT_MAIL_RCPT_ALLOWFAILS.md CURLOPT_MAXAGE_CONN.md CURLOPT_MAXCONNECTS.md CURLOPT_MAXFILESIZE.md CURLOPT_MAXFILESIZE_LARGE.md CURLOPT_MAXLIFETIME_CONN.md CURLOPT_MAXREDIRS.md CURLOPT_MAX_RECV_SPEED_LARGE.md CURLOPT_MAX_SEND_SPEED_LARGE.md CURLOPT_MIMEPOST.md CURLOPT_MIME_OPTIONS.md CURLOPT_NETRC.md CURLOPT_NETRC_FILE.md CURLOPT_NEW_DIRECTORY_PERMS.md CURLOPT_NEW_FILE_PERMS.md CURLOPT_NOBODY.md CURLOPT_NOPROGRESS.md CURLOPT_NOPROXY.md CURLOPT_NOSIGNAL.md CURLOPT_OPENSOCKETDATA.md CURLOPT_OPENSOCKETFUNCTION.md CURLOPT_PASSWORD.md CURLOPT_PATH_AS_IS.md CURLOPT_PINNEDPUBLICKEY.md CURLOPT_PIPEWAIT.md CURLOPT_PORT.md CURLOPT_POST.md CURLOPT_POSTFIELDS.md CURLOPT_POSTFIELDSIZE.md CURLOPT_POSTFIELDSIZE_LARGE.md CURLOPT_POSTQUOTE.md CURLOPT_POSTREDIR.md CURLOPT_PREQUOTE.md CURLOPT_PREREQDATA.md CURLOPT_PREREQFUNCTION.md CURLOPT_PRE_PROXY.md CURLOPT_PRIVATE.md CURLOPT_PROGRESSDATA.md CURLOPT_PROGRESSFUNCTION.md CURLOPT_PROTOCOLS.md CURLOPT_PROTOCOLS_STR.md CURLOPT_PROXY.md CURLOPT_PROXYAUTH.md CURLOPT_PROXYHEADER.md CURLOPT_PROXYPASSWORD.md CURLOPT_PROXYPORT.md CURLOPT_PROXYTYPE.md CURLOPT_PROXYUSERNAME.md CURLOPT_PROXYUSERPWD.md CURLOPT_PROXY_CAINFO.md CURLOPT_PROXY_CAINFO_BLOB.md CURLOPT_PROXY_CAPATH.md CURLOPT_PROXY_CRLFILE.md CURLOPT_PROXY_ISSUERCERT.md CURLOPT_PROXY_ISSUERCERT_BLOB.md CURLOPT_PROXY_KEYPASSWD.md CURLOPT_PROXY_PINNEDPUBLICKEY.md CURLOPT_PROXY_SERVICE_NAME.md CURLOPT_PROXY_SSLCERT.md CURLOPT_PROXY_SSLCERTTYPE.md CURLOPT_PROXY_SSLCERT_BLOB.md CURLOPT_PROXY_SSLKEY.md CURLOPT_PROXY_SSLKEYTYPE.md CURLOPT_PROXY_SSLKEY_BLOB.md CURLOPT_PROXY_SSLVERSION.md CURLOPT_PROXY_SSL_CIPHER_LIST.md CURLOPT_PROXY_SSL_OPTIONS.md CURLOPT_PROXY_SSL_VERIFYHOST.md CURLOPT_PROXY_SSL_VERIFYPEER.md CURLOPT_PROXY_TLS13_CIPHERS.md CURLOPT_PROXY_TLSAUTH_PASSWORD.md CURLOPT_PROXY_TLSAUTH_TYPE.md CURLOPT_PROXY_TLSAUTH_USERNAME.md CURLOPT_PROXY_TRANSFER_MODE.md CURLOPT_PUT.md CURLOPT_QUICK_EXIT.md CURLOPT_QUOTE.md CURLOPT_RANDOM_FILE.md CURLOPT_RANGE.md CURLOPT_READDATA.md CURLOPT_READFUNCTION.md CURLOPT_REDIR_PROTOCOLS.md CURLOPT_REDIR_PROTOCOLS_STR.md CURLOPT_REFERER.md CURLOPT_REQUEST_TARGET.md CURLOPT_RESOLVE.md CURLOPT_RESOLVER_START_DATA.md CURLOPT_RESOLVER_START_FUNCTION.md CURLOPT_RESUME_FROM.md CURLOPT_RESUME_FROM_LARGE.md CURLOPT_RTSP_CLIENT_CSEQ.md CURLOPT_RTSP_REQUEST.md CURLOPT_RTSP_SERVER_CSEQ.md CURLOPT_RTSP_SESSION_ID.md CURLOPT_RTSP_STREAM_URI.md CURLOPT_RTSP_TRANSPORT.md CURLOPT_SASL_AUTHZID.md CURLOPT_SASL_IR.md CURLOPT_SEEKDATA.md CURLOPT_SEEKFUNCTION.md CURLOPT_SERVER_RESPONSE_TIMEOUT.md CURLOPT_SERVER_RESPONSE_TIMEOUT_MS.md CURLOPT_SERVICE_NAME.md CURLOPT_SHARE.md CURLOPT_SOCKOPTDATA.md CURLOPT_SOCKOPTFUNCTION.md CURLOPT_SOCKS5_AUTH.md CURLOPT_SOCKS5_GSSAPI_NEC.md CURLOPT_SOCKS5_GSSAPI_SERVICE.md CURLOPT_SSH_AUTH_TYPES.md CURLOPT_SSH_COMPRESSION.md CURLOPT_SSH_HOSTKEYDATA.md CURLOPT_SSH_HOSTKEYFUNCTION.md CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.md CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.md CURLOPT_SSH_KEYDATA.md CURLOPT_SSH_KEYFUNCTION.md CURLOPT_SSH_KNOWNHOSTS.md CURLOPT_SSH_PRIVATE_KEYFILE.md CURLOPT_SSH_PUBLIC_KEYFILE.md CURLOPT_SSLCERT.md CURLOPT_SSLCERTTYPE.md CURLOPT_SSLCERT_BLOB.md CURLOPT_SSLENGINE.md CURLOPT_SSLENGINE_DEFAULT.md CURLOPT_SSLKEY.md CURLOPT_SSLKEYTYPE.md CURLOPT_SSLKEY_BLOB.md CURLOPT_SSLVERSION.md CURLOPT_SSL_CIPHER_LIST.md CURLOPT_SSL_CTX_DATA.md CURLOPT_SSL_CTX_FUNCTION.md CURLOPT_SSL_EC_CURVES.md CURLOPT_SSL_ENABLE_ALPN.md CURLOPT_SSL_ENABLE_NPN.md CURLOPT_SSL_FALSESTART.md CURLOPT_SSL_OPTIONS.md CURLOPT_SSL_SESSIONID_CACHE.md CURLOPT_SSL_SIGNATURE_ALGORITHMS.md CURLOPT_SSL_VERIFYHOST.md CURLOPT_SSL_VERIFYPEER.md CURLOPT_SSL_VERIFYSTATUS.md CURLOPT_STDERR.md CURLOPT_STREAM_DEPENDS.md CURLOPT_STREAM_DEPENDS_E.md CURLOPT_STREAM_WEIGHT.md CURLOPT_SUPPRESS_CONNECT_HEADERS.md CURLOPT_TCP_FASTOPEN.md CURLOPT_TCP_KEEPALIVE.md CURLOPT_TCP_KEEPCNT.md CURLOPT_TCP_KEEPIDLE.md CURLOPT_TCP_KEEPINTVL.md CURLOPT_TCP_NODELAY.md CURLOPT_TELNETOPTIONS.md CURLOPT_TFTP_BLKSIZE.md CURLOPT_TFTP_NO_OPTIONS.md CURLOPT_TIMECONDITION.md CURLOPT_TIMEOUT.md CURLOPT_TIMEOUT_MS.md CURLOPT_TIMEVALUE.md CURLOPT_TIMEVALUE_LARGE.md CURLOPT_TLS13_CIPHERS.md CURLOPT_TLSAUTH_PASSWORD.md CURLOPT_TLSAUTH_TYPE.md CURLOPT_TLSAUTH_USERNAME.md CURLOPT_TRAILERDATA.md CURLOPT_TRAILERFUNCTION.md CURLOPT_TRANSFERTEXT.md CURLOPT_TRANSFER_ENCODING.md CURLOPT_UNIX_SOCKET_PATH.md CURLOPT_UNRESTRICTED_AUTH.md CURLOPT_UPKEEP_INTERVAL_MS.md CURLOPT_UPLOAD.md CURLOPT_UPLOAD_BUFFERSIZE.md CURLOPT_UPLOAD_FLAGS.md CURLOPT_URL.md CURLOPT_USERAGENT.md CURLOPT_USERNAME.md CURLOPT_USERPWD.md CURLOPT_USE_SSL.md CURLOPT_VERBOSE.md CURLOPT_WILDCARDMATCH.md CURLOPT_WRITEDATA.md CURLOPT_WRITEFUNCTION.md CURLOPT_WS_OPTIONS.md CURLOPT_XFERINFODATA.md CURLOPT_XFERINFOFUNCTION.md CURLOPT_XOAUTH2_BEARER.md CURLSHOPT_LOCKFUNC.md CURLSHOPT_SHARE.md CURLSHOPT_UNLOCKFUNC.md CURLSHOPT_UNSHARE.md CURLSHOPT_USERDATA.md Makefile.am Makefile.inc
.gitignore ABI.md CMakeLists.txt Makefile.am Makefile.inc curl_easy_cleanup.md curl_easy_duphandle.md curl_easy_escape.md curl_easy_getinfo.md curl_easy_header.md curl_easy_init.md curl_easy_nextheader.md curl_easy_option_by_id.md curl_easy_option_by_name.md curl_easy_option_next.md curl_easy_pause.md curl_easy_perform.md curl_easy_recv.md curl_easy_reset.md curl_easy_send.md curl_easy_setopt.md curl_easy_ssls_export.md curl_easy_ssls_import.md curl_easy_strerror.md curl_easy_unescape.md curl_easy_upkeep.md curl_escape.md curl_formadd.md curl_formfree.md curl_formget.md curl_free.md curl_getdate.md curl_getenv.md curl_global_cleanup.md curl_global_init.md curl_global_init_mem.md curl_global_sslset.md curl_global_trace.md curl_mime_addpart.md curl_mime_data.md curl_mime_data_cb.md curl_mime_encoder.md curl_mime_filedata.md curl_mime_filename.md curl_mime_free.md curl_mime_headers.md curl_mime_init.md curl_mime_name.md curl_mime_subparts.md curl_mime_type.md curl_mprintf.md curl_multi_add_handle.md curl_multi_assign.md curl_multi_cleanup.md curl_multi_fdset.md curl_multi_get_handles.md curl_multi_get_offt.md curl_multi_info_read.md curl_multi_init.md curl_multi_notify_disable.md curl_multi_notify_enable.md curl_multi_perform.md curl_multi_poll.md curl_multi_remove_handle.md curl_multi_setopt.md curl_multi_socket.md curl_multi_socket_action.md curl_multi_socket_all.md curl_multi_strerror.md curl_multi_timeout.md curl_multi_wait.md curl_multi_waitfds.md curl_multi_wakeup.md curl_pushheader_byname.md curl_pushheader_bynum.md curl_share_cleanup.md curl_share_init.md curl_share_setopt.md curl_share_strerror.md curl_slist_append.md curl_slist_free_all.md curl_strequal.md curl_strnequal.md curl_unescape.md curl_url.md curl_url_cleanup.md curl_url_dup.md curl_url_get.md curl_url_set.md curl_url_strerror.md curl_version.md curl_version_info.md curl_ws_meta.md curl_ws_recv.md curl_ws_send.md curl_ws_start_frame.md libcurl-easy.md libcurl-env-dbg.md libcurl-env.md libcurl-errors.md libcurl-multi.md libcurl-security.md libcurl-share.md libcurl-thread.md libcurl-tutorial.md libcurl-url.md libcurl-ws.md libcurl.m4 libcurl.md mksymbolsmanpage.pl symbols-in-versions symbols.pl
tests CI.md FILEFORMAT.md HTTP.md TEST-SUITE.md
.gitignore ALTSVC.md BINDINGS.md BUG-BOUNTY.md BUGS.md CIPHERS-TLS12.md CIPHERS.md CMakeLists.txt CODE_OF_CONDUCT.md CODE_REVIEW.md CONTRIBUTE.md CURL-DISABLE.md CURLDOWN.md DEPRECATE.md DISTROS.md EARLY-RELEASE.md ECH.md EXPERIMENTAL.md FAQ.md FEATURES.md GOVERNANCE.md HELP-US.md HISTORY.md HSTS.md HTTP-COOKIES.md HTTP3.md HTTPSRR.md INFRASTRUCTURE.md INSTALL-CMAKE.md INSTALL.md INTERNALS.md IPFS.md KNOWN_BUGS.md KNOWN_RISKS.md MAIL-ETIQUETTE.md MANUAL.md Makefile.am README.md RELEASE-PROCEDURE.md ROADMAP.md RUSTLS.md SECURITY-ADVISORY.md SPONSORS.md SSL-PROBLEMS.md SSLCERTS.md THANKS THANKS-filter TODO.md TheArtOfHttpScripting.md URL-SYNTAX.md VERIFY.md VERSIONS.md VULN-DISCLOSURE-POLICY.md curl-config.md mk-ca-bundle.md options-in-versions runtests.md testcurl.md wcurl.md
include
curl Makefile.am curl.h curlver.h easy.h header.h mprintf.h multi.h options.h stdcheaders.h system.h typecheck-gcc.h urlapi.h websockets.h
Makefile.am README.md
lib
curlx base64.c base64.h basename.c basename.h dynbuf.c dynbuf.h fopen.c fopen.h inet_ntop.c inet_ntop.h inet_pton.c inet_pton.h multibyte.c multibyte.h nonblock.c nonblock.h snprintf.c snprintf.h strcopy.c strcopy.h strdup.c strdup.h strerr.c strerr.h strparse.c strparse.h timediff.c timediff.h timeval.c timeval.h version_win32.c version_win32.h wait.c wait.h warnless.c warnless.h winapi.c winapi.h
vauth cleartext.c cram.c digest.c digest.h digest_sspi.c gsasl.c krb5_gssapi.c krb5_sspi.c ntlm.c ntlm_sspi.c oauth2.c spnego_gssapi.c spnego_sspi.c vauth.c vauth.h
vquic curl_ngtcp2.c curl_ngtcp2.h curl_quiche.c curl_quiche.h vquic-tls.c vquic-tls.h vquic.c vquic.h vquic_int.h
vssh libssh.c libssh2.c ssh.h vssh.c vssh.h
vtls apple.c apple.h cipher_suite.c cipher_suite.h gtls.c gtls.h hostcheck.c hostcheck.h keylog.c keylog.h mbedtls.c mbedtls.h openssl.c openssl.h rustls.c rustls.h schannel.c schannel.h schannel_int.h schannel_verify.c vtls.c vtls.h vtls_int.h vtls_scache.c vtls_scache.h vtls_spack.c vtls_spack.h wolfssl.c wolfssl.h x509asn1.c x509asn1.h
.gitignore CMakeLists.txt Makefile.am Makefile.inc Makefile.soname altsvc.c altsvc.h amigaos.c amigaos.h arpa_telnet.h asyn-ares.c asyn-base.c asyn-thrdd.c asyn.h bufq.c bufq.h bufref.c bufref.h cf-dns.c cf-dns.h cf-h1-proxy.c cf-h1-proxy.h cf-h2-proxy.c cf-h2-proxy.h cf-haproxy.c cf-haproxy.h cf-https-connect.c cf-https-connect.h cf-ip-happy.c cf-ip-happy.h cf-socket.c cf-socket.h cfilters.c cfilters.h config-mac.h config-os400.h config-riscos.h config-win32.h conncache.c conncache.h connect.c connect.h content_encoding.c content_encoding.h cookie.c cookie.h creds.c creds.h cshutdn.c cshutdn.h curl_addrinfo.c curl_addrinfo.h curl_config-cmake.h.in curl_ctype.h curl_endian.c curl_endian.h curl_fnmatch.c curl_fnmatch.h curl_fopen.c curl_fopen.h curl_get_line.c curl_get_line.h curl_gethostname.c curl_gethostname.h curl_gssapi.c curl_gssapi.h curl_hmac.h curl_ldap.h curl_md4.h curl_md5.h curl_memrchr.c curl_memrchr.h curl_ntlm_core.c curl_ntlm_core.h curl_printf.h curl_range.c curl_range.h curl_sasl.c curl_sasl.h curl_setup.h curl_sha256.h curl_sha512_256.c curl_sha512_256.h curl_share.c curl_share.h curl_sspi.c curl_sspi.h curl_threads.c curl_threads.h curl_trc.c curl_trc.h cw-out.c cw-out.h cw-pause.c cw-pause.h dict.c dict.h dllmain.c dnscache.c dnscache.h doh.c doh.h dynhds.c dynhds.h easy.c easy_lock.h easygetopt.c easyif.h easyoptions.c easyoptions.h escape.c escape.h fake_addrinfo.c fake_addrinfo.h file.c file.h fileinfo.c fileinfo.h formdata.c formdata.h ftp-int.h ftp.c ftp.h ftplistparser.c ftplistparser.h functypes.h getenv.c getinfo.c getinfo.h gopher.c gopher.h hash.c hash.h headers.c headers.h hmac.c hostip.c hostip.h hostip4.c hostip6.c hsts.c hsts.h http.c http.h http1.c http1.h http2.c http2.h http_aws_sigv4.c http_aws_sigv4.h http_chunks.c http_chunks.h http_digest.c http_digest.h http_negotiate.c http_negotiate.h http_ntlm.c http_ntlm.h http_proxy.c http_proxy.h httpsrr.c httpsrr.h idn.c idn.h if2ip.c if2ip.h imap.c imap.h ldap.c libcurl.def libcurl.rc libcurl.vers.in llist.c llist.h macos.c macos.h md4.c md5.c memdebug.c mime.c mime.h mprintf.c mqtt.c mqtt.h multi.c multi_ev.c multi_ev.h multi_ntfy.c multi_ntfy.h multihandle.h multiif.h netrc.c netrc.h noproxy.c noproxy.h openldap.c optiontable.pl parsedate.c parsedate.h peer.c peer.h pingpong.c pingpong.h pop3.c pop3.h progress.c progress.h protocol.c protocol.h psl.c psl.h rand.c rand.h ratelimit.c ratelimit.h request.c request.h rtsp.c rtsp.h select.c select.h sendf.c sendf.h setopt.c setopt.h setup-os400.h setup-vms.h setup-win32.h sha256.c sigpipe.h slist.c slist.h smb.c smb.h smtp.c smtp.h sockaddr.h socketpair.c socketpair.h socks.c socks.h socks_gssapi.c socks_sspi.c splay.c splay.h strcase.c strcase.h strequal.c strerror.c strerror.h system_win32.c system_win32.h telnet.c telnet.h tftp.c tftp.h thrdpool.c thrdpool.h thrdqueue.c thrdqueue.h transfer.c transfer.h uint-bset.c uint-bset.h uint-hash.c uint-hash.h uint-spbset.c uint-spbset.h uint-table.c uint-table.h url.c url.h urlapi-int.h urlapi.c urldata.h version.c ws.c ws.h
m4 .gitignore curl-amissl.m4 curl-apple-sectrust.m4 curl-compilers.m4 curl-confopts.m4 curl-functions.m4 curl-gnutls.m4 curl-mbedtls.m4 curl-openssl.m4 curl-override.m4 curl-reentrant.m4 curl-rustls.m4 curl-schannel.m4 curl-sysconfig.m4 curl-wolfssl.m4 xc-am-iface.m4 xc-cc-check.m4 xc-lt-iface.m4 xc-val-flgs.m4 zz40-xc-ovr.m4 zz50-xc-ovr.m4
projects
OS400
rpg-examples HEADERAPI HTTPPOST INMEMORY SIMPLE1 SIMPLE2 SMTPSRCMBR
.checksrc README.OS400 ccsidcurl.c ccsidcurl.h config400.default curl.cmd curl.inc.in curlcl.c curlmain.c initscript.sh make-docs.sh make-include.sh make-lib.sh make-src.sh make-tests.sh makefile.sh os400sys.c os400sys.h
Windows
tmpl .gitattributes README.txt curl-all.sln curl.sln curl.vcxproj curl.vcxproj.filters libcurl.sln libcurl.vcxproj libcurl.vcxproj.filters
.gitignore README.md generate.bat
vms Makefile.am backup_gnv_curl_src.com build_curl-config_script.com build_gnv_curl.com build_gnv_curl_pcsi_desc.com build_gnv_curl_pcsi_text.com build_gnv_curl_release_notes.com build_libcurl_pc.com build_vms.com clean_gnv_curl.com compare_curl_source.com config_h.com curl_crtl_init.c curl_gnv_build_steps.txt curl_release_note_start.txt curl_startup.com curlmsg.h curlmsg.msg curlmsg.sdl curlmsg_vms.h generate_config_vms_h_curl.com generate_vax_transfer.com gnv_conftest.c_first gnv_curl_configure.sh gnv_libcurl_symbols.opt gnv_link_curl.com macro32_exactcase.patch make_gnv_curl_install.sh make_pcsi_curl_kit_name.com pcsi_gnv_curl_file_list.txt pcsi_product_gnv_curl.com readme report_openssl_version.c setup_gnv_curl_build.com stage_curl_install.com vms_eco_level.h
Makefile.am README.md
scripts .checksrc CMakeLists.txt Makefile.am badwords badwords-all badwords.txt cd2cd cd2nroff cdall checksrc-all.pl checksrc.pl cmakelint.sh completion.pl contributors.sh contrithanks.sh coverage.sh delta dmaketgz extract-unit-protos firefox-db2pem.sh installcheck.sh maketgz managen mdlinkcheck mk-ca-bundle.pl mk-unity.pl nroff2cd perlcheck.sh pythonlint.sh randdisable release-notes.pl release-tools.sh schemetable.c singleuse.pl spacecheck.pl top-complexity top-length verify-release wcurl
src
toolx tool_time.c tool_time.h
.checksrc .gitignore CMakeLists.txt Makefile.am Makefile.inc config2setopts.c config2setopts.h curl.rc curlinfo.c mk-file-embed.pl mkhelp.pl slist_wc.c slist_wc.h terminal.c terminal.h tool_cb_dbg.c tool_cb_dbg.h tool_cb_hdr.c tool_cb_hdr.h tool_cb_prg.c tool_cb_prg.h tool_cb_rea.c tool_cb_rea.h tool_cb_see.c tool_cb_see.h tool_cb_soc.c tool_cb_soc.h tool_cb_wrt.c tool_cb_wrt.h tool_cfgable.c tool_cfgable.h tool_dirhie.c tool_dirhie.h tool_doswin.c tool_doswin.h tool_easysrc.c tool_easysrc.h tool_filetime.c tool_filetime.h tool_findfile.c tool_findfile.h tool_formparse.c tool_formparse.h tool_getparam.c tool_getparam.h tool_getpass.c tool_getpass.h tool_help.c tool_help.h tool_helpers.c tool_helpers.h tool_hugehelp.h tool_ipfs.c tool_ipfs.h tool_libinfo.c tool_libinfo.h tool_listhelp.c tool_main.c tool_main.h tool_msgs.c tool_msgs.h tool_operate.c tool_operate.h tool_operhlp.c tool_operhlp.h tool_paramhlp.c tool_paramhlp.h tool_parsecfg.c tool_parsecfg.h tool_progress.c tool_progress.h tool_sdecls.h tool_setopt.c tool_setopt.h tool_setup.h tool_ssls.c tool_ssls.h tool_stderr.c tool_stderr.h tool_urlglob.c tool_urlglob.h tool_util.c tool_util.h tool_version.h tool_vms.c tool_vms.h tool_writeout.c tool_writeout.h tool_writeout_json.c tool_writeout_json.h tool_xattr.c tool_xattr.h var.c var.h
tests
certs .gitignore CMakeLists.txt Makefile.am Makefile.inc genserv.pl srp-verifier-conf srp-verifier-db test-ca.cnf test-ca.prm test-client-cert.prm test-client-eku-only.prm test-localhost-san-first.prm test-localhost-san-last.prm test-localhost.nn.prm test-localhost.prm test-localhost0h.prm
cmake CMakeLists.txt test.c test.cpp test.sh
data .gitignore DISABLED Makefile.am data-xml1 data1400.c data1401.c data1402.c data1403.c data1404.c data1405.c data1406.c data1407.c data1420.c data1461.txt data1463.txt data1465.c data1481.c data1705-1.md data1705-2.md data1705-3.md data1705-4.md data1705-stdout.1 data1706-1.md data1706-2.md data1706-3.md data1706-4.md data1706-stdout.txt data320.html test1 test10 test100 test1000 test1001 test1002 test1003 test1004 test1005 test1006 test1007 test1008 test1009 test101 test1010 test1011 test1012 test1013 test1014 test1015 test1016 test1017 test1018 test1019 test102 test1020 test1021 test1022 test1023 test1024 test1025 test1026 test1027 test1028 test1029 test103 test1030 test1031 test1032 test1033 test1034 test1035 test1036 test1037 test1038 test1039 test104 test1040 test1041 test1042 test1043 test1044 test1045 test1046 test1047 test1048 test1049 test105 test1050 test1051 test1052 test1053 test1054 test1055 test1056 test1057 test1058 test1059 test106 test1060 test1061 test1062 test1063 test1064 test1065 test1066 test1067 test1068 test1069 test107 test1070 test1071 test1072 test1073 test1074 test1075 test1076 test1077 test1078 test1079 test108 test1080 test1081 test1082 test1083 test1084 test1085 test1086 test1087 test1088 test1089 test109 test1090 test1091 test1092 test1093 test1094 test1095 test1096 test1097 test1098 test1099 test11 test110 test1100 test1101 test1102 test1103 test1104 test1105 test1106 test1107 test1108 test1109 test111 test1110 test1111 test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 test112 test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 test1128 test1129 test113 test1130 test1131 test1132 test1133 test1134 test1135 test1136 test1137 test1138 test1139 test114 test1140 test1141 test1142 test1143 test1144 test1145 test1146 test1147 test1148 test1149 test115 test1150 test1151 test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 test116 test1160 test1161 test1162 test1163 test1164 test1165 test1166 test1167 test1168 test1169 test117 test1170 test1171 test1172 test1173 test1174 test1175 test1176 test1177 test1178 test1179 test118 test1180 test1181 test1182 test1183 test1184 test1185 test1186 test1187 test1188 test1189 test119 test1190 test1191 test1192 test1193 test1194 test1195 test1196 test1197 test1198 test1199 test12 test120 test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 test1208 test1209 test121 test1210 test1211 test1212 test1213 test1214 test1215 test1216 test1217 test1218 test1219 test122 test1220 test1221 test1222 test1223 test1224 test1225 test1226 test1227 test1228 test1229 test123 test1230 test1231 test1232 test1233 test1234 test1235 test1236 test1237 test1238 test1239 test124 test1240 test1241 test1242 test1243 test1244 test1245 test1246 test1247 test1248 test1249 test125 test1250 test1251 test1252 test1253 test1254 test1255 test1256 test1257 test1258 test1259 test126 test1260 test1261 test1262 test1263 test1264 test1265 test1266 test1267 test1268 test1269 test127 test1270 test1271 test1272 test1273 test1274 test1275 test1276 test1277 test1278 test1279 test128 test1280 test1281 test1282 test1283 test1284 test1285 test1286 test1287 test1288 test1289 test129 test1290 test1291 test1292 test1293 test1294 test1295 test1296 test1297 test1298 test1299 test13 test130 test1300 test1301 test1302 test1303 test1304 test1305 test1306 test1307 test1308 test1309 test131 test1310 test1311 test1312 test1313 test1314 test1315 test1316 test1317 test1318 test1319 test132 test1320 test1321 test1322 test1323 test1324 test1325 test1326 test1327 test1328 test1329 test133 test1330 test1331 test1332 test1333 test1334 test1335 test1336 test1337 test1338 test1339 test134 test1340 test1341 test1342 test1343 test1344 test1345 test1346 test1347 test1348 test1349 test135 test1350 test1351 test1352 test1353 test1354 test1355 test1356 test1357 test1358 test1359 test136 test1360 test1361 test1362 test1363 test1364 test1365 test1366 test1367 test1368 test1369 test137 test1370 test1371 test1372 test1373 test1374 test1375 test1376 test1377 test1378 test1379 test138 test1380 test1381 test1382 test1383 test1384 test1385 test1386 test1387 test1388 test1389 test139 test1390 test1391 test1392 test1393 test1394 test1395 test1396 test1397 test1398 test1399 test14 test140 test1400 test1401 test1402 test1403 test1404 test1405 test1406 test1407 test1408 test1409 test141 test1410 test1411 test1412 test1413 test1414 test1415 test1416 test1417 test1418 test1419 test142 test1420 test1421 test1422 test1423 test1424 test1425 test1426 test1427 test1428 test1429 test143 test1430 test1431 test1432 test1433 test1434 test1435 test1436 test1437 test1438 test1439 test144 test1440 test1441 test1442 test1443 test1444 test1445 test1446 test1447 test1448 test1449 test145 test1450 test1451 test1452 test1453 test1454 test1455 test1456 test1457 test1458 test1459 test146 test1460 test1461 test1462 test1463 test1464 test1465 test1466 test1467 test1468 test1469 test147 test1470 test1471 test1472 test1473 test1474 test1475 test1476 test1477 test1478 test1479 test148 test1480 test1481 test1482 test1483 test1484 test1485 test1486 test1487 test1488 test1489 test149 test1490 test1491 test1492 test1493 test1494 test1495 test1496 test1497 test1498 test1499 test15 test150 test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1507 test1508 test1509 test151 test1510 test1511 test1512 test1513 test1514 test1515 test1516 test1517 test1518 test1519 test152 test1520 test1521 test1522 test1523 test1524 test1525 test1526 test1527 test1528 test1529 test153 test1530 test1531 test1532 test1533 test1534 test1535 test1536 test1537 test1538 test1539 test154 test1540 test1541 test1542 test1543 test1544 test1545 test1546 test1547 test1548 test1549 test155 test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 test1558 test1559 test156 test1560 test1561 test1562 test1563 test1564 test1565 test1566 test1567 test1568 test1569 test157 test1570 test1571 test1572 test1573 test1574 test1575 test1576 test1577 test1578 test1579 test158 test1580 test1581 test1582 test1583 test1584 test1585 test1586 test1587 test1588 test1589 test159 test1590 test1591 test1592 test1593 test1594 test1595 test1596 test1597 test1598 test1599 test16 test160 test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 test1608 test1609 test161 test1610 test1611 test1612 test1613 test1614 test1615 test1616 test1617 test1618 test1619 test162 test1620 test1621 test1622 test1623 test1624 test1625 test1626 test1627 test1628 test1629 test163 test1630 test1631 test1632 test1633 test1634 test1635 test1636 test1637 test1638 test1639 test164 test1640 test1641 test1642 test1643 test1644 test1645 test165 test1650 test1651 test1652 test1653 test1654 test1655 test1656 test1657 test1658 test1659 test166 test1660 test1661 test1662 test1663 test1664 test1665 test1666 test1667 test1668 test1669 test167 test1670 test1671 test1672 test1673 test1674 test1675 test1676 test168 test1680 test1681 test1682 test1683 test1684 test1685 test169 test17 test170 test1700 test1701 test1702 test1703 test1704 test1705 test1706 test1707 test1708 test1709 test171 test1710 test1711 test1712 test1713 test1714 test1715 test172 test1720 test1721 test173 test174 test175 test176 test177 test178 test179 test18 test180 test1800 test1801 test1802 test181 test182 test183 test184 test1847 test1848 test1849 test185 test1850 test1851 test186 test187 test188 test189 test19 test190 test1900 test1901 test1902 test1903 test1904 test1905 test1906 test1907 test1908 test1909 test191 test1910 test1911 test1912 test1913 test1914 test1915 test1916 test1917 test1918 test1919 test192 test1920 test1921 test193 test1933 test1934 test1935 test1936 test1937 test1938 test1939 test194 test1940 test1941 test1942 test1943 test1944 test1945 test1946 test1947 test1948 test195 test1955 test1956 test1957 test1958 test1959 test196 test1960 test1964 test1965 test1966 test197 test1970 test1971 test1972 test1973 test1974 test1975 test1976 test1977 test1978 test1979 test198 test1980 test1981 test1982 test1983 test1984 test199 test2 test20 test200 test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 test2008 test2009 test201 test2010 test2011 test2012 test2013 test2014 test202 test2023 test2024 test2025 test2026 test2027 test2028 test2029 test203 test2030 test2031 test2032 test2033 test2034 test2035 test2037 test2038 test2039 test204 test2040 test2041 test2042 test2043 test2044 test2045 test2046 test2047 test2048 test2049 test205 test2050 test2051 test2052 test2053 test2054 test2055 test2056 test2057 test2058 test2059 test206 test2060 test2061 test2062 test2063 test2064 test2065 test2066 test2067 test2068 test2069 test207 test2070 test2071 test2072 test2073 test2074 test2075 test2076 test2077 test2078 test2079 test208 test2080 test2081 test2082 test2083 test2084 test2085 test2086 test2087 test2088 test2089 test209 test2090 test2091 test2092 test21 test210 test2100 test2101 test2102 test2103 test2104 test211 test212 test213 test214 test215 test216 test217 test218 test219 test22 test220 test2200 test2201 test2202 test2203 test2204 test2205 test2206 test2207 test221 test222 test223 test224 test225 test226 test227 test228 test229 test23 test230 test2300 test2301 test2302 test2303 test2304 test2306 test2307 test2308 test2309 test231 test232 test233 test234 test235 test236 test237 test238 test239 test24 test240 test2400 test2401 test2402 test2403 test2404 test2405 test2406 test2407 test2408 test2409 test241 test2410 test2411 test242 test243 test244 test245 test246 test247 test248 test249 test25 test250 test2500 test2501 test2502 test2503 test2504 test2505 test2506 test251 test252 test253 test254 test255 test256 test257 test258 test259 test26 test260 test2600 test2601 test2602 test2603 test2604 test2605 test261 test262 test263 test264 test265 test266 test267 test268 test269 test27 test270 test2700 test2701 test2702 test2703 test2704 test2705 test2706 test2707 test2708 test2709 test271 test2710 test2711 test2712 test2713 test2714 test2715 test2716 test2717 test2718 test2719 test272 test2720 test2721 test2722 test2723 test273 test274 test275 test276 test277 test278 test279 test28 test280 test281 test282 test283 test284 test285 test286 test287 test288 test289 test29 test290 test291 test292 test293 test294 test295 test296 test297 test298 test299 test3 test30 test300 test3000 test3001 test3002 test3003 test3004 test3005 test3006 test3007 test3008 test3009 test301 test3010 test3011 test3012 test3013 test3014 test3015 test3016 test3017 test3018 test3019 test302 test3020 test3021 test3022 test3023 test3024 test3025 test3026 test3027 test3028 test3029 test303 test3030 test3031 test3032 test3033 test3034 test3035 test3036 test304 test305 test306 test307 test308 test309 test31 test310 test3100 test3101 test3102 test3103 test3104 test3105 test3106 test311 test312 test313 test314 test315 test316 test317 test318 test319 test32 test320 test3200 test3201 test3202 test3203 test3204 test3205 test3206 test3207 test3208 test3209 test321 test3210 test3211 test3212 test3213 test3214 test3215 test3216 test3217 test3218 test3219 test322 test3220 test323 test324 test325 test326 test327 test328 test329 test33 test330 test3300 test3301 test3302 test331 test332 test333 test334 test335 test336 test337 test338 test339 test34 test340 test341 test342 test343 test344 test345 test346 test347 test348 test349 test35 test350 test351 test352 test353 test354 test355 test356 test357 test358 test359 test36 test360 test361 test362 test363 test364 test365 test366 test367 test368 test369 test37 test370 test371 test372 test373 test374 test375 test376 test378 test379 test38 test380 test381 test383 test384 test385 test386 test387 test388 test389 test39 test390 test391 test392 test393 test394 test395 test396 test397 test398 test399 test4 test40 test400 test4000 test4001 test401 test402 test403 test404 test405 test406 test407 test408 test409 test41 test410 test411 test412 test413 test414 test415 test416 test417 test418 test419 test42 test420 test421 test422 test423 test424 test425 test426 test427 test428 test429 test43 test430 test431 test432 test433 test434 test435 test436 test437 test438 test439 test44 test440 test441 test442 test443 test444 test445 test446 test447 test448 test449 test45 test450 test451 test452 test453 test454 test455 test456 test457 test458 test459 test46 test460 test461 test462 test463 test467 test468 test469 test47 test470 test471 test472 test473 test474 test475 test476 test477 test478 test479 test48 test480 test481 test482 test483 test484 test485 test486 test487 test488 test489 test49 test490 test491 test492 test493 test494 test495 test496 test497 test498 test499 test5 test50 test500 test501 test502 test503 test504 test505 test506 test507 test508 test509 test51 test510 test511 test512 test513 test514 test515 test516 test517 test518 test519 test52 test520 test521 test522 test523 test524 test525 test526 test527 test528 test529 test53 test530 test531 test532 test533 test534 test535 test536 test537 test538 test539 test54 test540 test541 test542 test543 test544 test545 test546 test547 test548 test549 test55 test550 test551 test552 test553 test554 test555 test556 test557 test558 test559 test56 test560 test561 test562 test563 test564 test565 test566 test567 test568 test569 test57 test570 test571 test572 test573 test574 test575 test576 test577 test578 test579 test58 test580 test581 test582 test583 test584 test585 test586 test587 test588 test589 test59 test590 test591 test592 test593 test594 test595 test596 test597 test598 test599 test6 test60 test600 test601 test602 test603 test604 test605 test606 test607 test608 test609 test61 test610 test611 test612 test613 test614 test615 test616 test617 test618 test619 test62 test620 test621 test622 test623 test624 test625 test626 test627 test628 test629 test63 test630 test631 test632 test633 test634 test635 test636 test637 test638 test639 test64 test640 test641 test642 test643 test644 test645 test646 test647 test648 test649 test65 test650 test651 test652 test653 test654 test655 test656 test658 test659 test66 test660 test661 test662 test663 test664 test665 test666 test667 test668 test669 test67 test670 test671 test672 test673 test674 test675 test676 test677 test678 test679 test68 test680 test681 test682 test683 test684 test685 test686 test687 test688 test689 test69 test690 test691 test692 test693 test694 test695 test696 test697 test698 test699 test7 test70 test700 test701 test702 test703 test704 test705 test706 test707 test708 test709 test71 test710 test711 test712 test713 test714 test715 test716 test717 test718 test719 test72 test720 test721 test722 test723 test724 test725 test726 test727 test728 test729 test73 test730 test731 test732 test733 test734 test735 test736 test737 test738 test739 test74 test740 test741 test742 test743 test744 test745 test746 test747 test748 test749 test75 test750 test751 test752 test753 test754 test755 test756 test757 test758 test759 test76 test760 test761 test762 test763 test764 test765 test766 test767 test768 test769 test77 test770 test771 test772 test773 test774 test775 test776 test777 test778 test779 test78 test780 test781 test782 test783 test784 test785 test786 test787 test788 test789 test79 test790 test791 test792 test793 test794 test795 test796 test797 test798 test799 test8 test80 test800 test801 test802 test803 test804 test805 test806 test807 test808 test809 test81 test810 test811 test812 test813 test814 test815 test816 test817 test818 test819 test82 test820 test821 test822 test823 test824 test825 test826 test827 test828 test829 test83 test830 test831 test832 test833 test834 test835 test836 test837 test838 test839 test84 test840 test841 test842 test843 test844 test845 test846 test847 test848 test849 test85 test850 test851 test852 test853 test854 test855 test856 test857 test858 test859 test86 test860 test861 test862 test863 test864 test865 test866 test867 test868 test869 test87 test870 test871 test872 test873 test874 test875 test876 test877 test878 test879 test88 test880 test881 test882 test883 test884 test885 test886 test887 test888 test889 test89 test890 test891 test892 test893 test894 test895 test896 test897 test898 test899 test9 test90 test900 test901 test902 test903 test904 test905 test906 test907 test908 test909 test91 test910 test911 test912 test913 test914 test915 test916 test917 test918 test919 test92 test920 test921 test922 test923 test924 test925 test926 test927 test928 test929 test93 test930 test931 test932 test933 test934 test935 test936 test937 test938 test939 test94 test940 test941 test942 test943 test944 test945 test946 test947 test948 test949 test95 test950 test951 test952 test953 test954 test955 test956 test957 test958 test959 test96 test960 test961 test962 test963 test964 test965 test966 test967 test968 test969 test97 test970 test971 test972 test973 test974 test975 test976 test977 test978 test979 test98 test980 test981 test982 test983 test984 test985 test986 test987 test988 test989 test99 test990 test991 test992 test993 test994 test995 test996 test997 test998 test999
http
testenv
mod_curltest .gitignore mod_curltest.c
__init__.py caddy.py certs.py client.py curl.py dante.py dnsd.py env.py httpd.py nghttpx.py ports.py sshd.py vsftpd.py ws_echo_server.py
.gitignore CMakeLists.txt Makefile.am config.ini.in conftest.py requirements.txt scorecard.py test_01_basic.py test_02_download.py test_03_goaway.py test_04_stuttered.py test_05_errors.py test_06_eyeballs.py test_07_upload.py test_08_caddy.py test_09_push.py test_10_proxy.py test_11_unix.py test_12_reuse.py test_13_proxy_auth.py test_14_auth.py test_15_tracing.py test_16_info.py test_17_ssl_use.py test_18_methods.py test_19_shutdown.py test_20_websockets.py test_21_resolve.py test_22_httpsrr.py test_30_vsftpd.py test_31_vsftpds.py test_32_ftps_vsftpd.py test_40_socks.py test_50_scp.py test_51_sftp.py
libtest .gitignore CMakeLists.txt Makefile.am Makefile.inc cli_ftp_upload.c cli_h2_pausing.c cli_h2_serverpush.c cli_h2_upgrade_extreme.c cli_hx_download.c cli_hx_upload.c cli_tls_session_reuse.c cli_upload_pausing.c cli_ws_data.c cli_ws_pingpong.c first.c first.h lib1156.c lib1301.c lib1308.c lib1485.c lib1500.c lib1501.c lib1502.c lib1506.c lib1507.c lib1508.c lib1509.c lib1510.c lib1511.c lib1512.c lib1513.c lib1514.c lib1515.c lib1517.c lib1518.c lib1520.c lib1522.c lib1523.c lib1525.c lib1526.c lib1527.c lib1528.c lib1529.c lib1530.c lib1531.c lib1532.c lib1533.c lib1534.c lib1535.c lib1536.c lib1537.c lib1538.c lib1540.c lib1541.c lib1542.c lib1545.c lib1549.c lib1550.c lib1551.c lib1552.c lib1553.c lib1554.c lib1555.c lib1556.c lib1557.c lib1558.c lib1559.c lib1560.c lib1564.c lib1565.c lib1567.c lib1568.c lib1569.c lib1571.c lib1576.c lib1582.c lib1587.c lib1588.c lib1589.c lib1591.c lib1592.c lib1593.c lib1594.c lib1597.c lib1598.c lib1599.c lib1662.c lib1900.c lib1901.c lib1902.c lib1903.c lib1905.c lib1906.c lib1907.c lib1908.c lib1910.c lib1911.c lib1912.c lib1913.c lib1915.c lib1916.c lib1918.c lib1919.c lib1920.c lib1921.c lib1933.c lib1934.c lib1935.c lib1936.c lib1937.c lib1938.c lib1939.c lib1940.c lib1945.c lib1947.c lib1948.c lib1955.c lib1956.c lib1957.c lib1958.c lib1959.c lib1960.c lib1964.c lib1965.c lib1970.c lib1971.c lib1972.c lib1973.c lib1974.c lib1975.c lib1977.c lib1978.c lib2023.c lib2032.c lib2082.c lib2301.c lib2302.c lib2304.c lib2306.c lib2308.c lib2309.c lib2402.c lib2404.c lib2405.c lib2502.c lib2504.c lib2505.c lib2506.c lib2700.c lib3010.c lib3025.c lib3026.c lib3027.c lib3033.c lib3034.c lib3100.c lib3101.c lib3102.c lib3103.c lib3104.c lib3105.c lib3207.c lib3208.c lib500.c lib501.c lib502.c lib503.c lib504.c lib505.c lib506.c lib507.c lib508.c lib509.c lib510.c lib511.c lib512.c lib513.c lib514.c lib515.c lib516.c lib517.c lib518.c lib519.c lib520.c lib521.c lib523.c lib524.c lib525.c lib526.c lib530.c lib533.c lib536.c lib537.c lib539.c lib540.c lib541.c lib542.c lib543.c lib544.c lib547.c lib549.c lib552.c lib553.c lib554.c lib555.c lib556.c lib557.c lib558.c lib559.c lib560.c lib562.c lib564.c lib566.c lib567.c lib568.c lib569.c lib570.c lib571.c lib572.c lib573.c lib574.c lib575.c lib576.c lib578.c lib579.c lib582.c lib583.c lib586.c lib589.c lib590.c lib591.c lib597.c lib598.c lib599.c lib643.c lib650.c lib651.c lib652.c lib653.c lib654.c lib655.c lib658.c lib659.c lib661.c lib666.c lib667.c lib668.c lib670.c lib674.c lib676.c lib677.c lib678.c lib694.c lib695.c lib751.c lib753.c lib757.c lib758.c lib766.c memptr.c mk-lib1521.pl test1013.pl test1022.pl test307.pl test610.pl test613.pl testtrace.c testtrace.h testutil.c testutil.h unitcheck.h
server .checksrc .gitignore CMakeLists.txt Makefile.am Makefile.inc dnsd.c first.c first.h getpart.c mqttd.c resolve.c rtspd.c sockfilt.c socksd.c sws.c tftpd.c util.c
tunit .gitignore CMakeLists.txt Makefile.am Makefile.inc README.md tool1394.c tool1604.c tool1621.c tool1622.c tool1623.c tool1720.c
unit .gitignore CMakeLists.txt Makefile.am Makefile.inc README.md unit1300.c unit1302.c unit1303.c unit1304.c unit1305.c unit1307.c unit1309.c unit1323.c unit1330.c unit1395.c unit1396.c unit1397.c unit1398.c unit1399.c unit1600.c unit1601.c unit1602.c unit1603.c unit1605.c unit1606.c unit1607.c unit1608.c unit1609.c unit1610.c unit1611.c unit1612.c unit1614.c unit1615.c unit1616.c unit1620.c unit1625.c unit1626.c unit1627.c unit1636.c unit1650.c unit1651.c unit1652.c unit1653.c unit1654.c unit1655.c unit1656.c unit1657.c unit1658.c unit1660.c unit1661.c unit1663.c unit1664.c unit1666.c unit1667.c unit1668.c unit1669.c unit1674.c unit1675.c unit1676.c unit1979.c unit1980.c unit2600.c unit2601.c unit2602.c unit2603.c unit2604.c unit2605.c unit3200.c unit3205.c unit3211.c unit3212.c unit3213.c unit3214.c unit3216.c unit3219.c unit3300.c unit3301.c unit3302.c
.gitignore CMakeLists.txt Makefile.am allversions.pm appveyor.pm azure.pm config.in configurehelp.pm.in devtest.pl dictserver.py directories.pm ech_combos.py ech_tests.sh ftpserver.pl getpart.pm globalconfig.pm http-server.pl http2-server.pl http3-server.pl memanalyze.pl memanalyzer.pm negtelnetserver.py nghttpx.conf pathhelp.pm processhelp.pm requirements.txt rtspserver.pl runner.pm runtests.pl secureserver.pl serverhelp.pm servers.pm smbserver.py sshhelp.pm sshserver.pl test1119.pl test1135.pl test1139.pl test1140.pl test1165.pl test1167.pl test1173.pl test1175.pl test1177.pl test1222.pl test1275.pl test1276.pl test1477.pl test1486.pl test1488.pl test1544.pl test1707.pl test745.pl test971.pl testcurl.pl testutil.pm tftpserver.pl util.py valgrind.pm valgrind.supp
.clang-tidy.yml .dir-locals.el .editorconfig .git-blame-ignore-revs .gitattributes .gitignore .mailmap CHANGES.md CMakeLists.txt COPYING Dockerfile GIT-INFO.md Makefile.am README README.md RELEASE-NOTES REUSE.toml SECURITY.md acinclude.m4 appveyor.sh appveyor.yml configure.ac curl-config.in libcurl.pc.in renovate.json
examples .env config.ini crypto_test.lua env_test.lua fs_example.lua http_server.lua https_test.lua ini_example.lua json.lua log.lua path_fs_example.lua process_example.lua request_download.lua request_test.lua run_all.lua sqlite_example.lua sqlite_http_template.lua stash_test.lua template_test.lua timer.lua websocket.lua
iniparser
.github
ISSUE_TEMPLATE config.yml
workflows disable-pull-requests.yml trigger-gitlab-ci.yml
cmake JoinPaths.cmake config.cmake.in pc.in
example iniexample.c iniwrite.c parse.c twisted-errors.ini twisted-genhuge.py twisted-ofkey.ini twisted-ofval.ini twisted.ini
src dictionary.c dictionary.h iniparser.c iniparser.h
test
ressources
bad_ini ends_well.ini twisted-errors.ini twisted-ofkey.ini twisted-ofval.ini
good_ini empty.ini spaced.ini spaced2.ini twisted.ini
gruezi.ini old.ini quotes.ini utf8.ini
CMakeLists.txt test_dictionary.c test_iniparser.c unity-config.yml unity_config.h
.cmake-format.py .gitignore .gitlab-ci.yml .gitmessage .travis.yml AUTHORS CMakeLists.txt FAQ-en.md FAQ-zhcn.md INSTALL LICENSE README.md compile_commands.json
jinjac
example CMakeLists.txt example.c
jinjac_test_app CMakeLists.txt jinjac_test_app.c
libjinjac
include jinjac.h
src CMakeLists.txt ast.c ast.h block_statement.c block_statement.h buffer.c buffer.h buildin.c buildin.h common.h convert.c convert.h flex_decl.h jfunction.c jfunction.h jinja_expression.l jinja_expression.y jinjac_parse.c jinjac_parse.h jinjac_stream.c jinjac_stream.h jlist.c jlist.h jobject.c jobject.h parameter.c parameter.h str_obj.c str_obj.h trace.c trace.h
CMakeLists.txt
test .gitignore CMakeLists.txt autotest.rb test_01.expected test_01.jinja test_01b.expected test_01b.jinja test_01c.expected test_01c.jinja test_01d.expected test_01d.jinja test_02.expected test_02.jinja test_03.expected test_03.jinja test_04.expected test_04.jinja test_05.expected test_05.jinja test_06.expected test_06.jinja test_07.expected test_07.jinja test_08.expected test_08.jinja test_08b.expected test_08b.jinja test_09.expected test_09.jinja test_10.expected test_10.jinja test_11.expected test_11.jinja test_12.expected test_12.jinja test_13.expected test_13.jinja test_14.expected test_14.jinja test_15.expected test_15.jinja test_16.expected test_16.jinja test_17.expected test_17.jinja test_18.expected test_18.jinja test_18b.expected test_18b.jinja test_18c.expected test_18c.jinja test_19.expected test_19.jinja test_19b.expected test_19b.jinja test_19c.expected test_19c.jinja test_19d.expected test_19d.jinja test_19e.expected test_19e.jinja test_19f.expected test_19f.jinja test_20.expected test_20.jinja test_21.expected test_21.jinja test_22.expected test_22.jinja test_22a.expected test_22a.jinja test_22b.expected test_22b.jinja test_23.expected test_23.jinja test_24.expected test_24.jinja
.gitignore CMakeLists.txt LICENSE.txt README.md build_coverage.sh build_debug.sh build_release.sh cppcheck_analysis.sh
libev Changes LICENSE Makefile Makefile.am Makefile.in README Symbols.ev Symbols.event aclocal.m4 autogen.sh compile config.guess config.h config.h.in config.status config.sub configure configure.ac depcomp ev++.h ev.3 ev.c ev.h ev.pod ev_epoll.c ev_kqueue.c ev_poll.c ev_port.c ev_select.c ev_vars.h ev_win32.c ev_wrap.h event.c event.h install-sh libev.m4 libtool ltmain.sh missing mkinstalldirs stamp-h1
luajit
doc
img contact.png
bluequad-print.css bluequad.css contact.html ext_buffer.html ext_c_api.html ext_ffi.html ext_ffi_api.html ext_ffi_semantics.html ext_ffi_tutorial.html ext_jit.html ext_profiler.html extensions.html install.html luajit.html running.html
dynasm dasm_arm.h dasm_arm.lua dasm_arm64.h dasm_arm64.lua dasm_mips.h dasm_mips.lua dasm_mips64.lua dasm_ppc.h dasm_ppc.lua dasm_proto.h dasm_x64.lua dasm_x86.h dasm_x86.lua dynasm.lua
etc luajit.1 luajit.pc
src
host .gitignore README buildvm.c buildvm.h buildvm_asm.c buildvm_fold.c buildvm_lib.c buildvm_libbc.h buildvm_peobj.c genlibbc.lua genminilua.lua genversion.lua minilua.c
jit .gitignore bc.lua bcsave.lua dis_arm.lua dis_arm64.lua dis_arm64be.lua dis_mips.lua dis_mips64.lua dis_mips64el.lua dis_mips64r6.lua dis_mips64r6el.lua dis_mipsel.lua dis_ppc.lua dis_x64.lua dis_x86.lua dump.lua p.lua v.lua zone.lua
.gitignore Makefile Makefile.dep lauxlib.h lib_aux.c lib_base.c lib_bit.c lib_buffer.c lib_debug.c lib_ffi.c lib_init.c lib_io.c lib_jit.c lib_math.c lib_os.c lib_package.c lib_string.c lib_table.c lj_alloc.c lj_alloc.h lj_api.c lj_arch.h lj_asm.c lj_asm.h lj_asm_arm.h lj_asm_arm64.h lj_asm_mips.h lj_asm_ppc.h lj_asm_x86.h lj_assert.c lj_bc.c lj_bc.h lj_bcdump.h lj_bcread.c lj_bcwrite.c lj_buf.c lj_buf.h lj_carith.c lj_carith.h lj_ccall.c lj_ccall.h lj_ccallback.c lj_ccallback.h lj_cconv.c lj_cconv.h lj_cdata.c lj_cdata.h lj_char.c lj_char.h lj_clib.c lj_clib.h lj_cparse.c lj_cparse.h lj_crecord.c lj_crecord.h lj_ctype.c lj_ctype.h lj_debug.c lj_debug.h lj_def.h lj_dispatch.c lj_dispatch.h lj_emit_arm.h lj_emit_arm64.h lj_emit_mips.h lj_emit_ppc.h lj_emit_x86.h lj_err.c lj_err.h lj_errmsg.h lj_ff.h lj_ffrecord.c lj_ffrecord.h lj_frame.h lj_func.c lj_func.h lj_gc.c lj_gc.h lj_gdbjit.c lj_gdbjit.h lj_ir.c lj_ir.h lj_ircall.h lj_iropt.h lj_jit.h lj_lex.c lj_lex.h lj_lib.c lj_lib.h lj_load.c lj_mcode.c lj_mcode.h lj_meta.c lj_meta.h lj_obj.c lj_obj.h lj_opt_dce.c lj_opt_fold.c lj_opt_loop.c lj_opt_mem.c lj_opt_narrow.c lj_opt_sink.c lj_opt_split.c lj_parse.c lj_parse.h lj_prng.c lj_prng.h lj_profile.c lj_profile.h lj_record.c lj_record.h lj_serialize.c lj_serialize.h lj_snap.c lj_snap.h lj_state.c lj_state.h lj_str.c lj_str.h lj_strfmt.c lj_strfmt.h lj_strfmt_num.c lj_strscan.c lj_strscan.h lj_tab.c lj_tab.h lj_target.h lj_target_arm.h lj_target_arm64.h lj_target_mips.h lj_target_ppc.h lj_target_x86.h lj_trace.c lj_trace.h lj_traceerr.h lj_udata.c lj_udata.h lj_vm.h lj_vmevent.c lj_vmevent.h lj_vmmath.c ljamalg.c lua.h lua.hpp luaconf.h luajit.c luajit_rolling.h lualib.h msvcbuild.bat nxbuild.bat ps4build.bat ps5build.bat psvitabuild.bat vm_arm.dasc vm_arm64.dasc vm_mips.dasc vm_mips64.dasc vm_ppc.dasc vm_x64.dasc vm_x86.dasc xb1build.bat xedkbuild.bat
.gitattributes .gitignore .relver COPYRIGHT Makefile README
sqlite shell.c sqlite3.c sqlite3.h sqlite3ext.h
wolfssl
.github
ISSUE_TEMPLATE bug_report.yaml other.yaml
actions
install-apt-deps action.yml
scripts
zephyr-4.x external_libc.conf zephyr-test.sh
openssl-ech.sh tls-anvil-test.sh
workflows
disabled haproxy.yml hitch.yml hostap.yml
hostap-files
configs
07c9f183ea744ac04585fb6dd10220c75a5e2e74 hostapd.config tests wpa_supplicant.config
b607d2723e927a3446d89aed813f1aa6068186bb hostapd.config tests wpa_supplicant.config
hostap_2_10 extra.patch hostapd.config tests wpa_supplicant.config
Makefile README dbus-wpa_supplicant.conf
ada.yml arduino.yml async-examples.yml async.yml atecc608-sim.yml bind.yml cmake-autoconf.yml cmake.yml codespell.yml coverity-scan-fixes.yml cryptocb-only.yml curl.yml cyrus-sasl.yml disable-pk-algs.yml docker-Espressif.yml docker-OpenWrt.yml emnet-nonblock.yml fil-c.yml freertos-mem-track.yml gencertbuf.yml grpc.yml haproxy.yml hostap-vm.yml intelasm-c-fallback.yml ipmitool.yml jwt-cpp.yml krb5.yml libspdm.yml libssh2.yml libvncserver.yml linuxkm.yml macos-apple-native-cert-validation.yml mbedtls.sh mbedtls.yml membrowse-comment.yml membrowse-onboard.yml membrowse-report.yml memcached.sh memcached.yml mono.yml mosquitto.yml msmtp.yml msys2.yml multi-arch.yml multi-compiler.yml net-snmp.yml nginx.yml no-malloc.yml no-tls.yml nss.sh nss.yml ntp.yml ocsp.yml openldap.yml openssh.yml openssl-ech.yml opensslcoexist.yml openvpn.yml os-check.yml packaging.yml pam-ipmi.yml pq-all.yml pr-commit-check.yml psk.yml puf.yml python.yml rng-tools.yml rust-wrapper.yml se050-sim.yml smallStackSize.yml socat.yml softhsm.yml sssd.yml stm32-sim.yml stsafe-a120-sim.yml stunnel.yml symbol-prefixes.yml threadx.yml tls-anvil.yml trackmemory.yml watcomc.yml win-csharp-test.yml wolfCrypt-Wconversion.yml wolfboot-integration.yml wolfsm.yml xcode.yml zephyr-4.x.yml zephyr.yml
PULL_REQUEST_TEMPLATE.md SECURITY.md membrowse-targets.json
Docker
OpenWrt Dockerfile README.md runTests.sh
packaging
debian Dockerfile
fedora Dockerfile
wolfCLU Dockerfile README.md
yocto Dockerfile buildAndPush.sh
Dockerfile Dockerfile.cross-compiler README.md buildAndPush.sh include.am run.sh
IDE
ARDUINO
sketches
wolfssl_client README.md
wolfssl_server README.md
wolfssl_version README.md
README.md
Arduino_README_prepend.md README.md include.am keywords.txt library.properties.template wolfssl-arduino.cpp wolfssl-arduino.sh wolfssl.h
AURIX Cpu0_Main.c README.md include.am user_settings.h wolf_main.c
Android Android.bp README.md include.am user_settings.h
CRYPTOCELL README.md include.am main.c user_settings.h
CSBENCH include.am user_settings.h
ECLIPSE
DEOS
deos_wolfssl .options
README.md deos_malloc.c include.am tls_wolfssl.c tls_wolfssl.h user_settings.h
MICRIUM README.md client_wolfssl.c client_wolfssl.h include.am server_wolfssl.c server_wolfssl.h user_settings.h wolfsslRunTests.c
RTTHREAD README.md include.am user_settings.h wolfssl_test.c
SIFIVE README.md include.am
Espressif
ESP-IDF
examples
template
VisualGDB wolfssl_template_IDF_v5.1_ESP32.vgdbproj
components
wolfssl
include user_settings.h
CMakeLists.txt Kconfig README.md component.mk
main
include main.h
CMakeLists.txt Kconfig.projbuild component.mk main.c
CMakeLists.txt Makefile README.md partitions_singleapp_large.csv sdkconfig.defaults sdkconfig.defaults.esp8266
wolfssl_benchmark
VisualGDB wolfssl_benchmark_IDF_v4.4_ESP32.sln wolfssl_benchmark_IDF_v4.4_ESP32.vgdbproj wolfssl_benchmark_IDF_v5_ESP32.sln wolfssl_benchmark_IDF_v5_ESP32.vgdbproj wolfssl_benchmark_IDF_v5_ESP32C3.sln wolfssl_benchmark_IDF_v5_ESP32C3.vgdbproj wolfssl_benchmark_IDF_v5_ESP32S3.sln wolfssl_benchmark_IDF_v5_ESP32S3.vgdbproj
components
wolfssl
include user_settings.h
CMakeLists.txt Kconfig README.md component.mk
main
include main.h
CMakeLists.txt Kconfig.projbuild component.mk main.c
CMakeLists.txt Makefile README.md partitions_singleapp_large.csv sdkconfig.defaults sdkconfig.defaults.esp8266
wolfssl_client
VisualGDB README.md wolfssl_client_IDF_v5_ESP32.sln wolfssl_client_IDF_v5_ESP32.vgdbproj
components
wolfssl
include user_settings.h
CMakeLists.txt Kconfig README.md component.mk
main
include client-tls.h main.h time_helper.h wifi_connect.h
CMakeLists.txt Kconfig.projbuild client-tls.c component.mk main.c time_helper.c wifi_connect.c
CMakeLists.txt Makefile README.md README_server_sm.md partitions_singleapp_large.csv sdkconfig.defaults sdkconfig.defaults.esp32c2 sdkconfig.defaults.esp8266 wolfssl_client_ESP8266.vgdbproj
wolfssl_server
VisualGDB README.md wolfssl_server_IDF_v5_ESP32.sln wolfssl_server_IDF_v5_ESP32.vgdbproj
components
wolfssl
include user_settings.h
CMakeLists.txt Kconfig README.md component.mk
main
include main.h server-tls.h time_helper.h wifi_connect.h
CMakeLists.txt Kconfig.projbuild component.mk main.c server-tls.c time_helper.c wifi_connect.c
CMakeLists.txt Makefile README.md README_server_sm.md partitions_singleapp_large.csv sdkconfig.defaults sdkconfig.defaults.esp32c2 sdkconfig.defaults.esp8266 wolfssl_server_ESP8266.vgdbproj
wolfssl_test
VisualGDB wolfssl_test-IDF_v5_ESP32.sln wolfssl_test-IDF_v5_ESP32.vgdbproj wolfssl_test-IDF_v5_ESP32C3.sln wolfssl_test-IDF_v5_ESP32C3.vgdbproj wolfssl_test-IDF_v5_ESP32C6.sln wolfssl_test-IDF_v5_ESP32C6.vgdbproj wolfssl_test_IDF_v5_ESP32S3.sln wolfssl_test_IDF_v5_ESP32S3.vgdbproj
components
wolfssl
include user_settings.h
CMakeLists.txt Kconfig README.md component.mk
main
include main.h
CMakeLists.txt Kconfig.projbuild component.mk main.c
CMakeLists.txt Makefile README.md partitions_singleapp_large.csv sdkconfig.defaults sdkconfig.defaults.esp32 sdkconfig.defaults.esp32c3 sdkconfig.defaults.esp32c6 sdkconfig.defaults.esp32h2 sdkconfig.defaults.esp32s2 sdkconfig.defaults.esp32s3 sdkconfig.defaults.esp8266 testAll.sh testMonitor.sh wolfssl_test_ESP8266.sln wolfssl_test_ESP8266.vgdbproj
wolfssl_test_idf
VisualGDB VisualGDB_wolfssl_test_idf.sln VisualGDB_wolfssl_test_idf.vgdbproj
main CMakeLists.txt Kconfig.projbuild component.mk main.c main_wip.c.ex time_helper.c time_helper.h
CMakeLists.txt Kconfig.projbuild README.md component.mk sdkconfig.defaults
README.md
libs CMakeLists.txt README.md component.mk tigard.cfg
test CMakeLists.txt README.md component.mk test_wolfssl.c
README.md README_32se.md UPDATE.md compileAllExamples.sh dummy_config_h dummy_test_paths.h setup.sh setup_win.bat user_settings.h
README.md include.am
GCC-ARM
Header user_settings.h
Source armtarget.c benchmark_main.c test_main.c tls_client.c tls_server.c wolf_main.c
Makefile Makefile.bench Makefile.client Makefile.common Makefile.server Makefile.static Makefile.test README.md include.am linker.ld linker_fips.ld
Gaisler-BCC README.md include.am
HEXAGON
DSP Makefile wolfssl_dsp.idl
Makefile README.md build.sh ecc-verify-benchmark.c ecc-verify.c include.am user_settings.h
HEXIWEAR
wolfSSL_HW .cwGeneratedFileSetLog user_settings.h
IAR-EWARM
Projects
benchmark benchmark-main.c current_time.c wolfCrypt-benchmark.ewd wolfCrypt-benchmark.ewp
common minimum-startup.c wolfssl.icf
lib wolfSSL-Lib.ewd wolfSSL-Lib.ewp
test test-main.c wolfCrypt-test.ewd wolfCrypt-test.ewp
user_settings.h wolfssl.eww
embOS
SAMV71_XULT
embOS_SAMV71_XULT_Linker_Script samv71q21_wolfssl.icf
embOS_SAMV71_XULT_user_settings user_settings.h user_settings_simple_example.h user_settings_verbose_example.h
embOS_wolfcrypt_benchmark_SAMV71_XULT
Application runBenchmarks.c
README_wolfcrypt_benchmark wolfcrypt_benchmark.ewd wolfcrypt_benchmark.ewp
embOS_wolfcrypt_lib_SAMV71_XULT README_wolfcrypt_lib wolfcrypt_lib.ewd wolfcrypt_lib.ewp
embOS_wolfcrypt_test_SAMV71_XULT
Application runWolfcryptTests.c
README_wolfcrypt_test wolfcrypt_test.ewd wolfcrypt_test.ewp
README_SAMV71
custom_port
custom_port_Linker_Script samv71q21_wolfssl.icf
custom_port_user_settings user_settings.h
wolfcrypt_benchmark_custom_port
Application runBenchmarks.c
wolfcrypt_test_custom_port
Application runWolfcryptTests.c
README_custom_port
extract_trial_here README_extract_trial_here
README
.gitignore README
IAR-MSP430 Makefile README.md include.am main.c user_settings.h
INTIME-RTOS Makefile README.md include.am libwolfssl.c libwolfssl.vcxproj user_settings.h wolfExamples.c wolfExamples.h wolfExamples.sln wolfExamples.vcxproj wolfssl-lib.sln wolfssl-lib.vcxproj
Infineon README.md include.am user_settings.h
KDS
config user_settings.h
include.am
LINUX-SGX README.md build.sh clean.sh include.am sgx_t_static.mk
LPCXPRESSO
lib_wolfssl lpc_18xx_port.c user_settings.h
wolf_example
src lpc_18xx_startup.c wolfssl_example.c
readme.txt
README.md
M68K
benchmark Makefile main.cpp
testwolfcrypt Makefile main.cpp
Makefile README.md include.am user_settings.h
MCUEXPRESSO
RT1170 fsl_caam_c.patch fsl_caam_h.patch user_settings.h
benchmark
source run_benchmark.c
wolfssl liblinks.xml
README.md include.am user_settings.h wolfcrypt_test.c
MDK-ARM
LPC43xx time-LCP43xx.c
MDK-ARM
wolfSSL Retarget.c cert_data.c cert_data.h config-BARE-METAL.h config-FS.h config-RTX-TCP-FS.h config-WOLFLIB.h main.c shell.c time-CortexM3-4.c time-dummy.c wolfssl_MDK_ARM.c wolfssl_MDK_ARM.h
STM32F2xx_StdPeriph_Lib time-STM32F2xx.c
MDK5-ARM
Conf user_settings.h
Inc wolfssl_MDK_ARM.h
Projects
CryptBenchmark Abstract.txt CryptBenchmark.sct CryptBenchmark.uvoptx CryptBenchmark.uvprojx main.c
CryptTest Abstract.txt CryptTest.sct CryptTest.uvoptx CryptTest.uvprojx main.c
EchoClient Abstract.txt EchoClient.uvoptx EchoClient.uvprojx main.c wolfssl-link.sct
EchoServer Abstract.txt EchoServer.uvoptx EchoServer.uvprojx main.c wolfssl-link.sct
SimpleClient Abstract.txt SimpleClient.uvoptx SimpleClient.uvprojx main.c wolfssl-link.sct
SimpleServer Abstract.txt SimpleServer.uvoptx SimpleServer.uvprojx main.c wolfssl-link.sct
wolfSSL-Full Abstract.txt main.c shell.c time-CortexM3-4.c wolfsslFull.uvoptx wolfsslFull.uvprojx
wolfSSL-Lib Abstract.txt wolfSSL-Lib.uvoptx wolfSSL-Lib.uvprojx
Src ssl-dummy.c
README.md include.am
MPLABX16
wolfcrypt_test.X
nbproject
private configurations.xml private.xml
configurations.xml include.am project.xml
Makefile
wolfssl.X
nbproject configurations.xml include.am project.xml
Makefile
README.md include.am main.c user_settings.h
MQX Makefile README-jp.md README.md client-tls.c include.am server-tls.c user_config.h user_settings.h
MSVS-2019-AZSPHERE
client client.c client.h
server server.c server.h
shared util.h
wolfssl_new_azsphere
HardwareDefinitions
avnet_mt3620_sk
inc
hw template_appliance.h
template_appliance.json
mt3620_rdb
inc
hw template_appliance.h
template_appliance.json
seeed_mt3620_mdb
inc
hw template_appliance.h
template_appliance.json
.gitignore CMakeLists.txt CMakeSettings.json app_manifest.json applibs_versions.h launch.vs.json main.c
README.md include.am user_settings.h
MYSQL CMakeLists_wolfCrypt.txt CMakeLists_wolfSSL.txt do.sh
NDS README.md
NETOS Makefile.wolfcrypt.inc README.md include.am user_settings.h user_settings.h-cert2425 user_settings.h-cert3389 wolfssl_netos_custom.c
OPENSTM32 README.md
PlatformIO
examples
wolfssl_benchmark
include README main.h
lib README
src CMakeLists.txt main.c
test README
CMakeLists.txt README.md platformio.ini sdkconfig.defaults wolfssl_benchmark.code-workspace
wolfssl_test
include README main.h
lib README
src CMakeLists.txt main.c
test README
CMakeLists.txt README.md platformio.ini sdkconfig.defaults wolfssl_test.code-workspace
README.md wolfssl_platformio.code-workspace
README.md include.am
QNX
CAAM-DRIVER Makefile
example-client Makefile client-tls.c
example-cmac Makefile cmac-test.c
example-server Makefile server-tls.c
testwolfcrypt Makefile
wolfssl Makefile user_settings.h
README.md include.am
RISCV
SIFIVE-HIFIVE1 Makefile README.md include.am main.c user_settings.h
SIFIVE-UNLEASHED README.md include.am
include.am
ROWLEY-CROSSWORKS-ARM Kinetis_FlashPlacement.xml README.md arm_startup.c benchmark_main.c hw.h include.am kinetis_hw.c retarget.c test_main.c user_settings.h wolfssl.hzp wolfssl_ltc.hzp
Renesas
cs+
Projects
common strings.h unistd.h user_settings.h wolfssl_dummy.c
t4_demo README_en.txt README_jp.txt t4_demo.mtpj wolf_client.c wolf_demo.h wolf_main.c wolf_server.c
test test.mtpj test_main.c
wolfssl_lib wolfssl_lib.mtpj
README include.am
e2studio
DK-S7G2
benchmark-template
src app_entry.c
example_server-template
src app_entry.c
wolfcrypttest-template
src app_entry.c
wolfssl-template-project configuration.xml
README.md include.am user_settings.h
Projects
common strings.h unistd.h user_settings.h wolfssl_dummy.c
test
src key_data.c key_data.h test_main.c wolf_client.c wolf_server.c wolfssl_demo.h
tools generate_rsa_keypair.sh genhexbuf.pl rsa_pss_sign.sh
wolfssl
src .gitkeep
wolfcrypt
src .gitkeep
README include.am
RA6M3
benchmark-wolfcrypt
common .gitkeep
script .gitkeep
src wolfssl_thread_entry.c
client-wolfssl
common
src .gitkeep
script .gitkeep
src wolfssl_thread_entry.c
wolfssl_thread_entry.h
common
ra6m3g README.md
src freertos_tcp_port.c
user_settings.h util.h
server-wolfssl
common
src .gitkeep
script .gitkeep
src wolfssl_thread_entry.c
wolfssl_thread_entry.h
test-wolfcrypt
common .gitkeep
script .gitkeep
src wolfssl_thread_entry.c
wolfssl
src .gitkeep
wolfcrypt .gitkeep
README.md README_APRA6M_en.md README_APRA6M_jp.md include.am
RA6M3G README.md
RA6M4
common user_settings.h wolfssl_demo.h
test
key_data key_data.h key_data_sce.c
src
SEGGER_RTT myprint.c
common .gitignore
test_main.c wolf_client.c wolfssl_sce_unit_test.c
test_RA6M4Debug.launch
tools
example_keys generate_SignedCA.sh rsa_private.pem rsa_public.pem
README.md
README.md include.am
RX65N
GR-ROSE
common strings.h unistd.h user_settings.h wolfssl_dummy.c
smc smc.scfg
test
src key_data.c key_data.h test_main.c wolf_client.c wolf_server.c wolfssl_demo.h
test.rcpc test_HardwareDebug.launch
tools
example_keys generate_SignedCA.sh rsa_private.pem rsa_public.pem
README.md
wolfssl wolfssl.rcpc
README_EN.md README_JP.md include.am
RSK
resource section.esi
wolfssl wolfssl.rcpc
wolfssl_demo key_data.c key_data.h user_settings.h wolfssl_demo.c wolfssl_demo.h
InstructionManualForExample_RSK+RX65N-2MB_EN.pdf InstructionManualForExample_RSK+RX65N-2MB_JP.pdf README_EN.md README_JP.md include.am
RX72N
EnvisionKit
Simple
common sectioninfo.esi wolfssl_dummy.c
test
src
client simple_tcp_client.c simple_tls_tsip_client.c
server simple_tcp_server.c simple_tls_server.c
test_main.c wolfssl_simple_demo.h
test.rcpc test.scfg test_HardwareDebug.launch
wolfssl wolfssl.rcpc
README_EN.md README_JP.md
resource section.esi
tools
example_keys generate_SignedCA.sh rsa_private.pem rsa_public.pem
README.md
wolfssl wolfssl.rcpc
wolfssl_demo key_data.c key_data.h user_settings.h wolfssl_demo.c wolfssl_demo.h wolfssl_tsip_unit_test.c
InstructionManualForExample_RX72N_EnvisonKit_EN.pdf InstructionManualForExample_RX72N_EnvisonKit_JP.pdf README_EN.md README_JP.md include.am
RZN2L
common user_settings.h wolfssl_demo.h
test
src
serial_io app_print.c
test wolf_client.c wolf_server.c wolfssl_rsip_unit_test.c
wolfCrypt .gitignore
wolfSSL .gitignore
local_system_init.c rzn2l_tst_thread_entry.c wolfssl_dummy.c
README.md include.am
SK-S7G2
common user_settings.h
wolfssl_lib configuration.xml
.gitignore README.md include.am
STARCORE README.txt include.am starcore_test.c user_settings.h
STM32Cube README.md STM32_Benchmarks.md default_conf.ftl include.am main.c wolfssl_example.c wolfssl_example.h
SimplicityStudio README.md include.am test_wolf.c user_settings.h
TRUESTUDIO
wolfssl user_settings.h
README include.am
VS-ARM README.md include.am user_settings.h wolfssl.sln wolfssl.vcxproj
VS-AZURE-SPHERE
client app_manifest.json client.c client.h client.vcxproj
server app_manifest.json server.c server.h server.vcxproj
shared util.h
wolfcrypt_test app_manifest.json wolfcrypt_test.vcxproj
README.md include.am user_settings.h wolfssl.sln wolfssl.vcxproj
VisualDSP include.am user_settings.h wolf_tasks.c
WICED-STUDIO README include.am user_settings.h
WIN README.txt include.am test.vcxproj user_settings.h user_settings_dtls.h wolfssl-fips.sln wolfssl-fips.vcxproj
WIN-SGX ReadMe.txt include.am wolfSSL_SGX.edl wolfSSL_SGX.sln wolfSSL_SGX.vcxproj
WIN-SRTP-KDF-140-3 README.txt include.am resource.h test.vcxproj user_settings.h wolfssl-fips.rc wolfssl-fips.sln wolfssl-fips.vcxproj
WIN10 README.txt include.am resource.h test.vcxproj user_settings.h wolfssl-fips.rc wolfssl-fips.sln wolfssl-fips.vcxproj
WINCE README.md include.am user_settings.h user_settings.h.140-2-deprecated
WORKBENCH README.md include.am
XCODE
Benchmark
wolfBench
Assets.xcassets
AppIcon.appiconset Contents.json
Base.lproj LaunchScreen.storyboard Main.storyboard
AppDelegate.h AppDelegate.m Info.plist ViewController.h ViewController.m main.m
wolfBench.xcodeproj project.pbxproj
include.am
wolfssl-FIPS.xcodeproj project.pbxproj
wolfssl.xcodeproj project.pbxproj
wolfssl_testsuite.xcodeproj project.pbxproj
README.md build-for-i386.sh include.am user_settings.h
XCODE-FIPSv2
macOS-C++
Intel user_settings.h
M1 user_settings.h
include.am user_settings.h
XCODE-FIPSv5 README include.am user_settings.h
XCODE-FIPSv6 README include.am user_settings.h
XilinxSDK
2018_2 lscript.ld
2019_2
wolfCrypt_example
src lscript.ld
wolfCrypt_example_system wolfCrypt_example_system.sprj
2022_1
wolfCrypt_FreeRTOS_example wolfCrypt_FreeRTOS_example.prj
wolfCrypt_FreeRTOS_example_system wolfCrypt_FreeRTOS_example_system.sprj
wolfCrypt_example wolfCrypt_example.prj
wolfCrypt_example_system wolfCrypt_example_system.sprj
.gitignore
README.md bench.sh combine.sh eclipse_formatter_profile.xml graph.sh include.am user_settings.h wolfssl_example.c
apple-universal
wolfssl-multiplatform
wolfssl-multiplatform
Assets.xcassets
AccentColor.colorset Contents.json
AppIcon.appiconset Contents.json
Contents.json
ContentView.swift simple_client_example.c simple_client_example.h wolfssl-multiplatform-Bridging-Header.h wolfssl_multiplatform.entitlements wolfssl_multiplatformApp.swift wolfssl_test_driver.c wolfssl_test_driver.h
wolfssl-multiplatform.xcodeproj project.pbxproj
.gitignore README.md build-wolfssl-framework.sh include.am
iotsafe Makefile README.md ca-cert.c devices.c devices.h include.am main.c memory-tls.c startup.c target.ld user_settings.h
iotsafe-raspberrypi Makefile README.md client-tls13.c include.am main.c
mynewt README.md apps.wolfcrypttest.pkg.yml crypto.wolfssl.pkg.yml crypto.wolfssl.syscfg.yml include.am setup.sh
zephyr README.md include.am
include.am
RTOS
nuttx
wolfssl .gitignore Kconfig Make.defs Makefile README.md setup-wolfssl.sh user_settings.h
include.am
bsdkm Makefile README.md bsdkm_wc_port.h include.am wolfkmod.c wolfkmod_aes.c x86_vecreg.c
certs
1024 ca-cert.der ca-cert.pem ca-key.der ca-key.pem client-cert.der client-cert.pem client-key.der client-key.pem client-keyPub.der dh1024.der dh1024.pem dsa-pub-1024.pem dsa1024.der dsa1024.pem include.am rsa1024.der server-cert.der server-cert.pem server-key.der server-key.pem
3072 client-cert.der client-cert.pem client-key.der client-key.pem client-keyPub.der include.am
4096 client-cert.der client-cert.pem client-key.der client-key.pem client-keyPub.der include.am
acert
rsa_pss acert.pem acert_ietf.pem acert_ietf_pubkey.pem acert_pubkey.pem
acert.pem acert_ietf.pem acert_ietf_pubkey.pem acert_pubkey.pem include.am
aia ca-issuers-cert.pem multi-aia-cert.pem overflow-aia-cert.pem
crl
extra-crls ca-int-cert-revoked.pem claim-root.pem crl_critical_entry.pem crlnum_57oct.pem crlnum_64oct.pem general-server-crl.pem large_crlnum.pem large_crlnum2.pem
hash_der 0fdb2da4.r0
hash_pem 0fdb2da4.r0
bad_time_fmt.pem ca-int-ecc.pem ca-int.pem ca-int2-ecc.pem ca-int2.pem caEcc384Crl.pem caEccCrl.der caEccCrl.pem cliCrl.pem client-int-ecc.pem client-int.pem crl.der crl.pem crl.revoked crl2.der crl2.pem crl_reason.pem crl_rsapss.pem eccCliCRL.pem eccSrvCRL.pem gencrls.sh include.am server-goodaltCrl.pem server-goodaltwildCrl.pem server-goodcnCrl.pem server-goodcnwildCrl.pem server-int-ecc.pem server-int.pem wolfssl.cnf
dilithium bench_dilithium_level2_key.der bench_dilithium_level3_key.der bench_dilithium_level5_key.der include.am
ecc bp256r1-key.der bp256r1-key.pem ca-secp256k1-cert.pem ca-secp256k1-key.pem client-bp256r1-cert.der client-bp256r1-cert.pem client-secp256k1-cert.der client-secp256k1-cert.pem genecc.sh include.am secp256k1-key.der secp256k1-key.pem secp256k1-param.pem secp256k1-privkey.der secp256k1-privkey.pem server-bp256r1-cert.der server-bp256r1-cert.pem server-secp256k1-cert.der server-secp256k1-cert.pem server2-secp256k1-cert.der server2-secp256k1-cert.pem wolfssl.cnf wolfssl_384.cnf
ed25519 ca-ed25519-key.der ca-ed25519-key.pem ca-ed25519-priv.der ca-ed25519-priv.pem ca-ed25519.der ca-ed25519.pem client-ed25519-key.der client-ed25519-key.pem client-ed25519-priv.der client-ed25519-priv.pem client-ed25519.der client-ed25519.pem eddsa-ed25519.der eddsa-ed25519.pem gen-ed25519-certs.sh gen-ed25519-keys.sh gen-ed25519.sh include.am root-ed25519-key.der root-ed25519-key.pem root-ed25519-priv.der root-ed25519-priv.pem root-ed25519.der root-ed25519.pem server-ed25519-cert.pem server-ed25519-key.der server-ed25519-key.pem server-ed25519-priv.der server-ed25519-priv.pem server-ed25519.der server-ed25519.pem
ed448 ca-ed448-key.der ca-ed448-key.pem ca-ed448-priv.der ca-ed448-priv.pem ca-ed448.der ca-ed448.pem client-ed448-key.der client-ed448-key.pem client-ed448-priv.der client-ed448-priv.pem client-ed448.der client-ed448.pem gen-ed448-certs.sh gen-ed448-keys.sh include.am root-ed448-key.der root-ed448-key.pem root-ed448-priv.der root-ed448-priv.pem root-ed448.der root-ed448.pem server-ed448-cert.pem server-ed448-key.der server-ed448-key.pem server-ed448-priv.der server-ed448-priv.pem server-ed448.der server-ed448.pem
external DigiCertGlobalRootCA.pem README.txt ca-digicert-ev.pem ca-globalsign-root.pem ca-google-root.pem ca_collection.pem include.am
falcon bench_falcon_level1_key.der bench_falcon_level5_key.der include.am
intermediate
ca_false_intermediate gentestcert.sh int_ca.key server.key test_ca.key test_ca.pem test_int_not_cacert.pem test_sign_bynoca_srv.pem wolfssl_base.conf wolfssl_srv.conf
ca-ecc-bad-aki.der ca-ecc-bad-aki.pem ca-int-cert.der ca-int-cert.pem ca-int-ecc-cert.der ca-int-ecc-cert.pem ca-int-ecc-key.der ca-int-ecc-key.pem ca-int-key.der ca-int-key.pem ca-int2-cert.der ca-int2-cert.pem ca-int2-ecc-cert.der ca-int2-ecc-cert.pem ca-int2-ecc-key.der ca-int2-ecc-key.pem ca-int2-key.der ca-int2-key.pem client-chain-alt-ecc.pem client-chain-alt.pem client-chain-ecc.der client-chain-ecc.pem client-chain.der client-chain.pem client-int-cert.der client-int-cert.pem client-int-ecc-cert.der client-int-ecc-cert.pem genintcerts.sh include.am server-chain-alt-ecc.pem server-chain-alt.pem server-chain-ecc.der server-chain-ecc.pem server-chain-short.pem server-chain.der server-chain.pem server-int-cert.der server-int-cert.pem server-int-ecc-cert.der server-int-ecc-cert.pem
lms bc_hss_L2_H5_W8_root.der bc_hss_L3_H5_W4_root.der bc_lms_chain_ca.der bc_lms_chain_leaf.der bc_lms_native_bc_root.der bc_lms_sha256_h10_w8_root.der bc_lms_sha256_h5_w4_root.der include.am
mldsa README.txt include.am mldsa44-cert.der mldsa44-cert.pem mldsa44-key.pem mldsa44_bare-priv.der mldsa44_bare-seed.der mldsa44_oqskeypair.der mldsa44_priv-only.der mldsa44_pub-spki.der mldsa44_seed-only.der mldsa44_seed-priv.der mldsa65-cert.der mldsa65-cert.pem mldsa65-key.pem mldsa65_bare-priv.der mldsa65_bare-seed.der mldsa65_oqskeypair.der mldsa65_priv-only.der mldsa65_pub-spki.der mldsa65_seed-only.der mldsa65_seed-priv.der mldsa87-cert.der mldsa87-cert.pem mldsa87-key.pem mldsa87_bare-priv.der mldsa87_bare-seed.der mldsa87_oqskeypair.der mldsa87_priv-only.der mldsa87_pub-spki.der mldsa87_seed-only.der mldsa87_seed-priv.der
ocsp imposter-root-ca-cert.der imposter-root-ca-cert.pem imposter-root-ca-key.der imposter-root-ca-key.pem include.am index-ca-and-intermediate-cas.txt index-ca-and-intermediate-cas.txt.attr index-intermediate1-ca-issued-certs.txt index-intermediate1-ca-issued-certs.txt.attr index-intermediate2-ca-issued-certs.txt index-intermediate2-ca-issued-certs.txt.attr index-intermediate3-ca-issued-certs.txt index-intermediate3-ca-issued-certs.txt.attr intermediate1-ca-cert.der intermediate1-ca-cert.pem intermediate1-ca-key.der intermediate1-ca-key.pem intermediate2-ca-cert.der intermediate2-ca-cert.pem intermediate2-ca-key.der intermediate2-ca-key.pem intermediate3-ca-cert.der intermediate3-ca-cert.pem intermediate3-ca-key.der intermediate3-ca-key.pem ocsp-responder-cert.der ocsp-responder-cert.pem ocsp-responder-key.der ocsp-responder-key.pem openssl.cnf renewcerts-for-test.sh renewcerts.sh root-ca-cert.der root-ca-cert.pem root-ca-crl.pem root-ca-key.der root-ca-key.pem server1-cert.der server1-cert.pem server1-chain-noroot.pem server1-key.der server1-key.pem server2-cert.der server2-cert.pem server2-key.der server2-key.pem server3-cert.der server3-cert.pem server3-key.der server3-key.pem server4-cert.der server4-cert.pem server4-key.der server4-key.pem server5-cert.der server5-cert.pem server5-key.der server5-key.pem test-leaf-response.der test-multi-response.der test-response-nointern.der test-response-rsapss.der test-response.der
p521 ca-p521-key.der ca-p521-key.pem ca-p521-priv.der ca-p521-priv.pem ca-p521.der ca-p521.pem client-p521-key.der client-p521-key.pem client-p521-priv.der client-p521-priv.pem client-p521.der client-p521.pem gen-p521-certs.sh gen-p521-keys.sh include.am root-p521-key.der root-p521-key.pem root-p521-priv.der root-p521-priv.pem root-p521.der root-p521.pem server-p521-cert.pem server-p521-key.der server-p521-key.pem server-p521-priv.der server-p521-priv.pem server-p521.der server-p521.pem
renewcerts wolfssl.cnf
rpk client-cert-rpk.der client-ecc-cert-rpk.der include.am server-cert-rpk.der server-ecc-cert-rpk.der
rsapss ca-3072-rsapss-key.der ca-3072-rsapss-key.pem ca-3072-rsapss-priv.der ca-3072-rsapss-priv.pem ca-3072-rsapss.der ca-3072-rsapss.pem ca-rsapss-key.der ca-rsapss-key.pem ca-rsapss-priv.der ca-rsapss-priv.pem ca-rsapss.der ca-rsapss.pem client-3072-rsapss-key.der client-3072-rsapss-key.pem client-3072-rsapss-priv.der client-3072-rsapss-priv.pem client-3072-rsapss.der client-3072-rsapss.pem client-rsapss-key.der client-rsapss-key.pem client-rsapss-priv.der client-rsapss-priv.pem client-rsapss.der client-rsapss.pem gen-rsapss-keys.sh include.am renew-rsapss-certs.sh root-3072-rsapss-key.der root-3072-rsapss-key.pem root-3072-rsapss-priv.der root-3072-rsapss-priv.pem root-3072-rsapss.der root-3072-rsapss.pem root-rsapss-key.der root-rsapss-key.pem root-rsapss-priv.der root-rsapss-priv.pem root-rsapss.der root-rsapss.pem server-3072-rsapss-cert.pem server-3072-rsapss-key.der server-3072-rsapss-key.pem server-3072-rsapss-priv.der server-3072-rsapss-priv.pem server-3072-rsapss.der server-3072-rsapss.pem server-mix-rsapss-cert.pem server-rsapss-cert.pem server-rsapss-key.der server-rsapss-key.pem server-rsapss-priv.der server-rsapss-priv.pem server-rsapss.der server-rsapss.pem
sia timestamping-sia-cert.pem
slhdsa bench_slhdsa_sha2_128f_key.der bench_slhdsa_sha2_128s_key.der bench_slhdsa_sha2_192f_key.der bench_slhdsa_sha2_192s_key.der bench_slhdsa_sha2_256f_key.der bench_slhdsa_sha2_256s_key.der bench_slhdsa_shake128f_key.der bench_slhdsa_shake128s_key.der bench_slhdsa_shake192f_key.der bench_slhdsa_shake192s_key.der bench_slhdsa_shake256f_key.der bench_slhdsa_shake256s_key.der client-mldsa44-priv.pem client-mldsa44-sha2.der client-mldsa44-sha2.pem client-mldsa44-shake.der client-mldsa44-shake.pem gen-slhdsa-mldsa-certs.sh include.am root-slhdsa-sha2-128s-priv.der root-slhdsa-sha2-128s-priv.pem root-slhdsa-sha2-128s.der root-slhdsa-sha2-128s.pem root-slhdsa-shake-128s-priv.der root-slhdsa-shake-128s-priv.pem root-slhdsa-shake-128s.der root-slhdsa-shake-128s.pem server-mldsa44-priv.pem server-mldsa44-sha2.der server-mldsa44-sha2.pem server-mldsa44-shake.der server-mldsa44-shake.pem
sm2 ca-sm2-key.der ca-sm2-key.pem ca-sm2-priv.der ca-sm2-priv.pem ca-sm2.der ca-sm2.pem client-sm2-key.der client-sm2-key.pem client-sm2-priv.der client-sm2-priv.pem client-sm2.der client-sm2.pem fix_sm2_spki.py gen-sm2-certs.sh gen-sm2-keys.sh include.am root-sm2-key.der root-sm2-key.pem root-sm2-priv.der root-sm2-priv.pem root-sm2.der root-sm2.pem self-sm2-cert.pem self-sm2-key.pem self-sm2-priv.pem server-sm2-cert.der server-sm2-cert.pem server-sm2-key.der server-sm2-key.pem server-sm2-priv.der server-sm2-priv.pem server-sm2.der server-sm2.pem
statickeys dh-ffdhe2048-params.pem dh-ffdhe2048-pub.der dh-ffdhe2048-pub.pem dh-ffdhe2048.der dh-ffdhe2048.pem ecc-secp256r1.der ecc-secp256r1.pem gen-static.sh include.am x25519-pub.der x25519-pub.pem x25519.der x25519.pem
test
expired expired-ca.der expired-ca.pem expired-cert.der expired-cert.pem
catalog.txt cert-bad-neg-int.der cert-bad-oid.der cert-bad-utf8.der cert-ext-ia.cfg cert-ext-ia.der cert-ext-ia.pem cert-ext-joi.cfg cert-ext-joi.der cert-ext-joi.pem cert-ext-mnc.der cert-ext-multiple.cfg cert-ext-multiple.der cert-ext-multiple.pem cert-ext-nc-combined.der cert-ext-nc-combined.pem cert-ext-nc.cfg cert-ext-nc.der cert-ext-nc.pem cert-ext-ncdns.der cert-ext-ncdns.pem cert-ext-ncip.der cert-ext-ncip.pem cert-ext-ncmixed.der cert-ext-ncmulti.der cert-ext-ncmulti.pem cert-ext-ncrid.der cert-ext-ncrid.pem cert-ext-nct.cfg cert-ext-nct.der cert-ext-nct.pem cert-ext-ndir-exc.cfg cert-ext-ndir-exc.der cert-ext-ndir-exc.pem cert-ext-ndir.cfg cert-ext-ndir.der cert-ext-ndir.pem cert-ext-ns.der cert-over-max-altnames.cfg cert-over-max-altnames.der cert-over-max-altnames.pem cert-over-max-nc.cfg cert-over-max-nc.der cert-over-max-nc.pem client-ecc-cert-ski.hex cn-ip-literal.der cn-ip-wildcard.der crit-cert.pem crit-key.pem dh1024.der dh1024.pem dh512.der dh512.pem digsigku.pem encrypteddata.msg gen-badsig.sh gen-ext-certs.sh gen-testcerts.sh include.am kari-keyid-cms.msg ktri-keyid-cms.msg ossl-trusted-cert.pem server-badaltname.der server-badaltname.pem server-badaltnull.der server-badaltnull.pem server-badcn.der server-badcn.pem server-badcnnull.der server-badcnnull.pem server-cert-ecc-badsig.der server-cert-ecc-badsig.pem server-cert-rsa-badsig.der server-cert-rsa-badsig.pem server-duplicate-policy.pem server-garbage.der server-garbage.pem server-goodalt.der server-goodalt.pem server-goodaltwild.der server-goodaltwild.pem server-goodcn.der server-goodcn.pem server-goodcnwild.der server-goodcnwild.pem server-localhost.der server-localhost.pem smime-test-canon.p7s smime-test-multipart-badsig.p7s smime-test-multipart.p7s smime-test.p7s
test-pathlen assemble-chains.sh chainA-ICA1-key.pem chainA-ICA1-pathlen0.pem chainA-assembled.pem chainA-entity-key.pem chainA-entity.pem chainB-ICA1-key.pem chainB-ICA1-pathlen0.pem chainB-ICA2-key.pem chainB-ICA2-pathlen1.pem chainB-assembled.pem chainB-entity-key.pem chainB-entity.pem chainC-ICA1-key.pem chainC-ICA1-pathlen1.pem chainC-assembled.pem chainC-entity-key.pem chainC-entity.pem chainD-ICA1-key.pem chainD-ICA1-pathlen127.pem chainD-assembled.pem chainD-entity-key.pem chainD-entity.pem chainE-ICA1-key.pem chainE-ICA1-pathlen128.pem chainE-assembled.pem chainE-entity-key.pem chainE-entity.pem chainF-ICA1-key.pem chainF-ICA1-pathlen1.pem chainF-ICA2-key.pem chainF-ICA2-pathlen0.pem chainF-assembled.pem chainF-entity-key.pem chainF-entity.pem chainG-ICA1-key.pem chainG-ICA1-pathlen0.pem chainG-ICA2-key.pem chainG-ICA2-pathlen1.pem chainG-ICA3-key.pem chainG-ICA3-pathlen99.pem chainG-ICA4-key.pem chainG-ICA4-pathlen5.pem chainG-ICA5-key.pem chainG-ICA5-pathlen20.pem chainG-ICA6-key.pem chainG-ICA6-pathlen10.pem chainG-ICA7-key.pem chainG-ICA7-pathlen100.pem chainG-assembled.pem chainG-entity-key.pem chainG-entity.pem chainH-ICA1-key.pem chainH-ICA1-pathlen0.pem chainH-ICA2-key.pem chainH-ICA2-pathlen2.pem chainH-ICA3-key.pem chainH-ICA3-pathlen2.pem chainH-ICA4-key.pem chainH-ICA4-pathlen2.pem chainH-assembled.pem chainH-entity-key.pem chainH-entity.pem chainI-ICA1-key.pem chainI-ICA1-no_pathlen.pem chainI-ICA2-key.pem chainI-ICA2-no_pathlen.pem chainI-ICA3-key.pem chainI-ICA3-pathlen2.pem chainI-assembled.pem chainI-entity-key.pem chainI-entity.pem chainJ-ICA1-key.pem chainJ-ICA1-no_pathlen.pem chainJ-ICA2-key.pem chainJ-ICA2-no_pathlen.pem chainJ-ICA3-key.pem chainJ-ICA3-no_pathlen.pem chainJ-ICA4-key.pem chainJ-ICA4-pathlen2.pem chainJ-assembled.pem chainJ-entity-key.pem chainJ-entity.pem include.am refreshkeys.sh
test-serial0 ee_normal.pem ee_serial0.pem generate_certs.sh include.am intermediate_serial0.pem root_serial0.pem root_serial0_key.pem selfsigned_nonca_serial0.pem
xmss bc_xmss_chain_ca.der bc_xmss_chain_leaf.der bc_xmss_sha2_10_256_root.der bc_xmss_sha2_16_256_root.der bc_xmssmt_sha2_20_2_256_root.der bc_xmssmt_sha2_20_4_256_root.der bc_xmssmt_sha2_40_8_256_root.der include.am
ca-cert-chain.der ca-cert.der ca-cert.pem ca-ecc-cert.der ca-ecc-cert.pem ca-ecc-key.der ca-ecc-key.pem ca-ecc384-cert.der ca-ecc384-cert.pem ca-ecc384-key.der ca-ecc384-key.pem ca-key-pkcs8-attribute.der ca-key.der ca-key.pem check_dates.sh client-absolute-urn.pem client-ca-cert.der client-ca-cert.pem client-ca.pem client-cert-ext.der client-cert-ext.pem client-cert.der client-cert.pem client-crl-dist.der client-crl-dist.pem client-ecc-ca-cert.der client-ecc-ca-cert.pem client-ecc-cert.der client-ecc-cert.pem client-ecc384-cert.der client-ecc384-cert.pem client-ecc384-key.der client-ecc384-key.pem client-key.der client-key.pem client-keyEnc.pem client-keyPub.der client-keyPub.pem client-relative-uri.pem client-uri-cert.pem csr.attr.der csr.dsa.der csr.dsa.pem csr.ext.der csr.signed.der dh-priv-2048.der dh-priv-2048.pem dh-pub-2048.der dh-pub-2048.pem dh-pubkey-2048.der dh2048.der dh2048.pem dh3072.der dh3072.pem dh4096.der dh4096.pem dsa-pubkey-2048.der dsa2048.der dsa2048.pem dsa3072.der dsaparams.der dsaparams.pem ecc-client-key.der ecc-client-key.pem ecc-client-keyPub.der ecc-client-keyPub.pem ecc-key-comp.pem ecc-keyPkcs8.der ecc-keyPkcs8.pem ecc-keyPkcs8Enc.der ecc-keyPkcs8Enc.pem ecc-keyPub.der ecc-keyPub.pem ecc-params.der ecc-params.pem ecc-privOnlyCert.pem ecc-privOnlyKey.pem ecc-privkey.der ecc-privkey.pem ecc-privkeyPkcs8.der ecc-privkeyPkcs8.pem ecc-rsa-server.p12 empty-issuer-cert.pem entity-no-ca-bool-cert.pem entity-no-ca-bool-key.pem fpki-cert.der fpki-certpol-cert.der gen_revoked.sh include.am renewcerts.sh rid-cert.der rsa-pub-2048.pem rsa2048.der rsa3072.der server-cert-chain.der server-cert.der server-cert.pem server-ecc-comp.der server-ecc-comp.pem server-ecc-rsa.der server-ecc-rsa.pem server-ecc-self.der server-ecc-self.pem server-ecc.der server-ecc.pem server-ecc384-cert.der server-ecc384-cert.pem server-ecc384-key.der server-ecc384-key.pem server-key.der server-key.pem server-keyEnc.pem server-keyPkcs8.der server-keyPkcs8.pem server-keyPkcs8Enc.der server-keyPkcs8Enc.pem server-keyPkcs8Enc12.pem server-keyPkcs8Enc2.pem server-keyPub.der server-keyPub.pem server-revoked-cert.pem server-revoked-key.pem taoCert.txt test-ber-exp02-05-2022.p7b test-degenerate.p7b test-multiple-recipients.p7b test-servercert-rc2.p12 test-servercert.p12 test-stream-dec.p7b test-stream-sign.p7b wolfssl-website-ca.pem x942dh2048.der x942dh2048.pem
cmake
consumer CMakeLists.txt README.md main.c
modules FindARIA.cmake FindOQS.cmake
Config.cmake.in README.md config.in functions.cmake include.am options.h.in wolfssl-config-version.cmake.in wolfssl-targets.cmake.in
debian
source format
changelog.in control.in copyright include.am libwolfssl-dev.install libwolfssl.install rules.in
doc
dox_comments
header_files aes.h arc4.h ascon.h asn.h asn_public.h blake2.h bn.h camellia.h chacha.h chacha20_poly1305.h cmac.h coding.h compress.h cryptocb.h curve25519.h curve448.h des3.h dh.h doxygen_groups.h doxygen_pages.h dsa.h ecc.h eccsi.h ed25519.h ed448.h error-crypt.h evp.h hash.h hmac.h iotsafe.h kdf.h logging.h md2.h md4.h md5.h memory.h ocsp.h pem.h pkcs11.h pkcs7.h poly1305.h psa.h puf.h pwdbased.h quic.h random.h ripemd.h rsa.h sakke.h sha.h sha256.h sha3.h sha512.h signature.h siphash.h srp.h ssl.h tfm.h types.h wc_encrypt.h wc_port.h wc_she.h wc_slhdsa.h wolfio.h
header_files-ja aes.h arc4.h ascon.h asn.h asn_public.h blake2.h bn.h camellia.h chacha.h chacha20_poly1305.h cmac.h coding.h compress.h cryptocb.h curve25519.h curve448.h des3.h dh.h doxygen_groups.h doxygen_pages.h dsa.h ecc.h eccsi.h ed25519.h ed448.h error-crypt.h evp.h hash.h hmac.h iotsafe.h kdf.h logging.h md2.h md4.h md5.h memory.h ocsp.h pem.h pkcs11.h pkcs7.h poly1305.h psa.h pwdbased.h quic.h random.h ripemd.h rsa.h sakke.h sha.h sha256.h sha3.h sha512.h signature.h siphash.h srp.h ssl.h tfm.h types.h wc_encrypt.h wc_port.h wolfio.h
formats
html
html_changes
search search.css search.js
customdoxygen.css doxygen.css menu.js menudata.js tabs.css
Doxyfile footer.html header.html mainpage.dox
pdf Doxyfile header.tex
images wolfssl_logo.png
QUIC.md README.txt README_DOXYGEN check_api.sh generate_documentation.sh include.am
examples
asn1 asn1.c dumpasn1.cfg gen_oid_names.rb include.am oid_names.h
async Makefile README.md async_client.c async_server.c async_tls.c async_tls.h include.am user_settings.h
benchmark include.am tls_bench.c tls_bench.h
client client.c client.h client.sln client.vcproj client.vcxproj include.am
configs README.md include.am user_settings_EBSnet.h user_settings_all.h user_settings_arduino.h user_settings_baremetal.h user_settings_ca.h user_settings_curve25519nonblock.h user_settings_dtls13.h user_settings_eccnonblock.h user_settings_espressif.h user_settings_fipsv2.h user_settings_fipsv5.h user_settings_min_ecc.h user_settings_openssl_compat.h user_settings_pkcs7.h user_settings_platformio.h user_settings_pq.h user_settings_rsa_only.h user_settings_stm32.h user_settings_template.h user_settings_tls12.h user_settings_tls13.h user_settings_wolfboot_keytools.h user_settings_wolfssh.h user_settings_wolftpm.h
crypto_policies
default wolfssl.txt
future wolfssl.txt
legacy wolfssl.txt
echoclient echoclient.c echoclient.h echoclient.sln echoclient.vcproj echoclient.vcxproj include.am quit
echoserver echoserver.c echoserver.h echoserver.sln echoserver.vcproj echoserver.vcxproj include.am
ocsp_responder include.am ocsp_responder.c ocsp_responder.h
pem include.am pem.c
sctp include.am sctp-client-dtls.c sctp-client.c sctp-server-dtls.c sctp-server.c
server include.am server.c server.h server.sln server.vcproj server.vcxproj
README.md include.am
linuxkm
patches
5.10.17 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v10v17.patch
5.10.236 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v10v236.patch
5.14.0-570.58.1.el9_6 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v14-570v58v1-el9_6.patch
5.15 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v15.patch
5.17 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v17.patch
5.17-ubuntu-jammy-tegra WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-5v17-ubuntu-jammy-tegra.patch
6.1.73 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-6v1v73.patch
6.12 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-6v12.patch
6.15 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-6v15.patch
7.0 WOLFSSL_LINUXKM_HAVE_GET_RANDOM_CALLBACKS-7v0.patch
regen-patches.sh
Kbuild Makefile README.md get_thread_size.c include.am linuxkm-fips-hash-wrapper.sh linuxkm-fips-hash.c linuxkm_memory.c linuxkm_memory.h linuxkm_wc_port.h lkcapi_aes_glue.c lkcapi_dh_glue.c lkcapi_ecdh_glue.c lkcapi_ecdsa_glue.c lkcapi_glue.c lkcapi_rsa_glue.c lkcapi_sha_glue.c module_exports.c.template module_hooks.c pie_redirect_table.c wolfcrypt.lds x86_vector_register_glue.c
m4 ax_add_am_macro.m4 ax_am_jobserver.m4 ax_am_macros.m4 ax_append_compile_flags.m4 ax_append_flag.m4 ax_append_link_flags.m4 ax_append_to_file.m4 ax_atomic.m4 ax_bsdkm.m4 ax_check_compile_flag.m4 ax_check_link_flag.m4 ax_compiler_version.m4 ax_count_cpus.m4 ax_create_generic_config.m4 ax_debug.m4 ax_file_escapes.m4 ax_harden_compiler_flags.m4 ax_linuxkm.m4 ax_print_to_file.m4 ax_pthread.m4 ax_require_defined.m4 ax_tls.m4 ax_vcs_checkout.m4 hexversion.m4 lib_socket_nsl.m4 visibility.m4
mcapi
wolfcrypt_mcapi.X
nbproject configurations.xml include.am project.xml
Makefile
wolfcrypt_test.X
nbproject configurations.xml include.am project.xml
Makefile
wolfssl.X
nbproject configurations.xml include.am project.xml
Makefile
zlib.X
nbproject configurations.xml include.am project.xml
Makefile
PIC32MZ-serial.h README crypto.c crypto.h include.am mcapi_test.c user_settings.h
mplabx
wolfcrypt_benchmark.X
nbproject configurations.xml include.am project.xml
Makefile
wolfcrypt_test.X
nbproject configurations.xml include.am project.xml
Makefile
wolfssl.X
nbproject configurations.xml include.am project.xml
Makefile
PIC32MZ-serial.h README benchmark_main.c include.am test_main.c user_settings.h
mqx
util_lib
Sources include.am util.c util.h
wolfcrypt_benchmark
Debugger K70FN1M0.mem init_kinetis.tcl mass_erase_kinetis.tcl
Sources include.am main.c main.h
ReferencedRSESystems.xml wolfcrypt_benchmark_twrk70f120m_Int_Flash_DDRData_Debug_PnE_U-MultiLink.launch wolfcrypt_benchmark_twrk70f120m_Int_Flash_DDRData_Release_PnE_U-MultiLink.launch wolfcrypt_benchmark_twrk70f120m_Int_Flash_SramData_Debug_JTrace.jlink wolfcrypt_benchmark_twrk70f120m_Int_Flash_SramData_Debug_JTrace.launch wolfcrypt_benchmark_twrk70f120m_Int_Flash_SramData_Debug_PnE_U-MultiLink.launch wolfcrypt_benchmark_twrk70f120m_Int_Flash_SramData_Release_PnE_U-MultiLink.launch
wolfcrypt_test
Debugger K70FN1M0.mem init_kinetis.tcl mass_erase_kinetis.tcl
Sources include.am main.c main.h
ReferencedRSESystems.xml wolfcrypt_test_twrk70f120m_Int_Flash_DDRData_Debug_PnE_U-MultiLink.launch wolfcrypt_test_twrk70f120m_Int_Flash_DDRData_Release_PnE_U-MultiLink.launch wolfcrypt_test_twrk70f120m_Int_Flash_SramData_Debug_JTrace.jlink wolfcrypt_test_twrk70f120m_Int_Flash_SramData_Debug_JTrace.launch wolfcrypt_test_twrk70f120m_Int_Flash_SramData_Debug_PnE_U-MultiLink.launch wolfcrypt_test_twrk70f120m_Int_Flash_SramData_Release_PnE_U-MultiLink.launch
wolfssl include.am
wolfssl_client
Debugger K70FN1M0.mem init_kinetis.tcl mass_erase_kinetis.tcl
Sources include.am main.c main.h
ReferencedRSESystems.xml wolfssl_client_twrk70f120m_Int_Flash_DDRData_Debug_PnE_U-MultiLink.launch wolfssl_client_twrk70f120m_Int_Flash_DDRData_Release_PnE_U-MultiLink.launch wolfssl_client_twrk70f120m_Int_Flash_SramData_Debug_JTrace.jlink wolfssl_client_twrk70f120m_Int_Flash_SramData_Debug_JTrace.launch wolfssl_client_twrk70f120m_Int_Flash_SramData_Debug_PnE_U-MultiLink.launch wolfssl_client_twrk70f120m_Int_Flash_SramData_Release_PnE_U-MultiLink.launch
README
rpm include.am spec.in
scripts
bench bench_functions.sh
aria-cmake-build-test.sh asn1_oid_sum.pl benchmark.test benchmark_compare.sh cleanup_testfiles.sh crl-gen-openssl.test crl-revoked.test dertoc.pl dtls.test dtlscid.test external.test google.test include.am makedistsmall.sh memtest.sh ocsp-responder-openssl-interop.test ocsp-stapling-with-ca-as-responder.test ocsp-stapling-with-wolfssl-responder.test ocsp-stapling.test ocsp-stapling2.test ocsp-stapling_tls13multi.test ocsp.test openssl.test openssl_srtp.test pem.test ping.test pkcallbacks.test psk.test resume.test rsapss.test sniffer-gen.sh sniffer-ipv6.pcap sniffer-static-rsa.pcap sniffer-testsuite.test sniffer-tls12-keylog.out sniffer-tls12-keylog.pcap sniffer-tls12-keylog.sslkeylog sniffer-tls13-dh-resume.pcap sniffer-tls13-dh.pcap sniffer-tls13-ecc-resume.pcap sniffer-tls13-ecc.pcap sniffer-tls13-hrr.pcap sniffer-tls13-keylog.out sniffer-tls13-keylog.pcap sniffer-tls13-keylog.sslkeylog sniffer-tls13-x25519-resume.pcap sniffer-tls13-x25519.pcap stm32l4-v4_0_1_build.sh tls13.test trusted_peer.test unit.test.in user_settings_asm.sh
src bio.c conf.c crl.c dtls.c dtls13.c include.am internal.c keys.c ocsp.c pk.c pk_ec.c pk_rsa.c quic.c sniffer.c ssl.c ssl_api_cert.c ssl_api_crl_ocsp.c ssl_api_pk.c ssl_asn1.c ssl_bn.c ssl_certman.c ssl_crypto.c ssl_ech.c ssl_load.c ssl_misc.c ssl_p7p12.c ssl_sess.c ssl_sk.c tls.c tls13.c wolfio.c x509.c x509_str.c
sslSniffer
sslSnifferTest README_WIN.md include.am snifftest.c sslSniffTest.vcproj sslSniffTest.vcxproj
README.md sslSniffer.vcproj sslSniffer.vcxproj
support gen-debug-trace-error-codes.sh include.am wolfssl.pc.in
tests
api api.h api_decl.h create_ocsp_test_blobs.py include.am test_aes.c test_aes.h test_arc4.c test_arc4.h test_ascon.c test_ascon.h test_ascon_kats.h test_asn.c test_asn.h test_blake2.c test_blake2.h test_camellia.c test_camellia.h test_certman.c test_certman.h test_chacha.c test_chacha.h test_chacha20_poly1305.c test_chacha20_poly1305.h test_cmac.c test_cmac.h test_curve25519.c test_curve25519.h test_curve448.c test_curve448.h test_des3.c test_des3.h test_dh.c test_dh.h test_digest.h test_dsa.c test_dsa.h test_dtls.c test_dtls.h test_ecc.c test_ecc.h test_ed25519.c test_ed25519.h test_ed448.c test_ed448.h test_evp.c test_evp.h test_evp_cipher.c test_evp_cipher.h test_evp_digest.c test_evp_digest.h test_evp_pkey.c test_evp_pkey.h test_hash.c test_hash.h test_hmac.c test_hmac.h test_md2.c test_md2.h test_md4.c test_md4.h test_md5.c test_md5.h test_mldsa.c test_mldsa.h test_mlkem.c test_mlkem.h test_ocsp.c test_ocsp.h test_ocsp_test_blobs.h test_ossl_asn1.c test_ossl_asn1.h test_ossl_bio.c test_ossl_bio.h test_ossl_bn.c test_ossl_bn.h test_ossl_cipher.c test_ossl_cipher.h test_ossl_dgst.c test_ossl_dgst.h test_ossl_dh.c test_ossl_dh.h test_ossl_dsa.c test_ossl_dsa.h test_ossl_ec.c test_ossl_ec.h test_ossl_ecx.c test_ossl_ecx.h test_ossl_mac.c test_ossl_mac.h test_ossl_obj.c test_ossl_obj.h test_ossl_p7p12.c test_ossl_p7p12.h test_ossl_pem.c test_ossl_pem.h test_ossl_rand.c test_ossl_rand.h test_ossl_rsa.c test_ossl_rsa.h test_ossl_sk.c test_ossl_sk.h test_ossl_x509.c test_ossl_x509.h test_ossl_x509_acert.c test_ossl_x509_acert.h test_ossl_x509_crypto.c test_ossl_x509_crypto.h test_ossl_x509_ext.c test_ossl_x509_ext.h test_ossl_x509_info.c test_ossl_x509_info.h test_ossl_x509_io.c test_ossl_x509_io.h test_ossl_x509_lu.c test_ossl_x509_lu.h test_ossl_x509_name.c test_ossl_x509_name.h test_ossl_x509_pk.c test_ossl_x509_pk.h test_ossl_x509_str.c test_ossl_x509_str.h test_ossl_x509_vp.c test_ossl_x509_vp.h test_pkcs12.c test_pkcs12.h test_pkcs7.c test_pkcs7.h test_poly1305.c test_poly1305.h test_random.c test_random.h test_rc2.c test_rc2.h test_ripemd.c test_ripemd.h test_rsa.c test_rsa.h test_sha.c test_sha.h test_sha256.c test_sha256.h test_sha3.c test_sha3.h test_sha512.c test_sha512.h test_she.c test_she.h test_signature.c test_signature.h test_slhdsa.c test_slhdsa.h test_sm2.c test_sm2.h test_sm3.c test_sm3.h test_sm4.c test_sm4.h test_tls.c test_tls.h test_tls13.c test_tls13.h test_tls_ext.c test_tls_ext.h test_wc_encrypt.c test_wc_encrypt.h test_wolfmath.c test_wolfmath.h test_x509.c test_x509.h
emnet
IP IP.h
Makefile emnet_nonblock_test.c emnet_shim.c
freertos-mem-track-repro FreeRTOS.h repro.c run.sh semphr.h task.h user_settings.h
swdev .gitignore Makefile README.md swdev.c swdev.h swdev_loader.c swdev_loader.h user_settings.h
CONF_FILES_README.md NCONF_test.cnf README TXT_DB.txt api.c include.am quic.c srp.c suites.c test-altchains.conf test-chains.conf test-dhprime.conf test-dtls-downgrade.conf test-dtls-fails-cipher.conf test-dtls-fails.conf test-dtls-group.conf test-dtls-mtu.conf test-dtls-reneg-client.conf test-dtls-reneg-server.conf test-dtls-resume.conf test-dtls-sha2.conf test-dtls-srtp-fails.conf test-dtls-srtp.conf test-dtls.conf test-dtls13-cid.conf test-dtls13-downgrade-fails.conf test-dtls13-downgrade.conf test-dtls13-pq-hybrid-extra-frag.conf test-dtls13-pq-hybrid-extra.conf test-dtls13-pq-hybrid-frag.conf test-dtls13-pq-standalone-frag.conf test-dtls13-pq-standalone.conf test-dtls13-psk.conf test-dtls13.conf test-ecc-cust-curves.conf test-ed25519.conf test-ed448.conf test-enckeys.conf test-fails.conf test-maxfrag-dtls.conf test-maxfrag.conf test-p521.conf test-psk-no-id-sha2.conf test-psk-no-id.conf test-psk.conf test-rsapss.conf test-sctp-sha2.conf test-sctp.conf test-sha2.conf test-sig.conf test-sm2.conf test-tls-downgrade.conf test-tls13-down.conf test-tls13-ecc.conf test-tls13-pq-hybrid-extra.conf test-tls13-pq-hybrid.conf test-tls13-pq-standalone.conf test-tls13-psk-certs.conf test-tls13-psk.conf test-tls13-slhdsa-fail.conf test-tls13-slhdsa-sha2.conf test-tls13-slhdsa-shake.conf test-tls13.conf test-trustpeer.conf test.conf unit.c unit.h utils.c utils.h w64wrapper.c
testsuite include.am testsuite.c testsuite.sln testsuite.vcproj testsuite.vcxproj utils.c utils.h
tirtos
packages
ti
net
wolfssl
tests
EK_TM4C1294XL
wolfcrypt
benchmark TM4C1294NC.icf benchmark.cfg main.c package.bld.hide package.xdc
test TM4C1294NC.icf main.c package.bld.hide package.xdc test.cfg
package.bld package.xdc package.xs
.gitignore README include.am products.mak wolfssl.bld wolfssl.mak
wolfcrypt
benchmark README.md benchmark-VS2022.sln benchmark-VS2022.vcxproj benchmark-VS2022.vcxproj.user benchmark.c benchmark.h benchmark.sln benchmark.vcproj benchmark.vcxproj include.am
src
port
Espressif
esp_crt_bundle README.md cacrt_all.pem cacrt_deprecated.pem cacrt_local.pem esp_crt_bundle.c gen_crt_bundle.py pio_install_cryptography.py
README.md esp32_aes.c esp32_mp.c esp32_sha.c esp32_util.c esp_sdk_mem_lib.c esp_sdk_time_lib.c esp_sdk_wifi_lib.c
Renesas README.md renesas_common.c renesas_fspsm_aes.c renesas_fspsm_rsa.c renesas_fspsm_sha.c renesas_fspsm_util.c renesas_rx64_hw_sha.c renesas_rx64_hw_util.c renesas_tsip_aes.c renesas_tsip_rsa.c renesas_tsip_sha.c renesas_tsip_util.c
af_alg afalg_aes.c afalg_hash.c wc_afalg.c
aria aria-crypt.c aria-cryptocb.c
arm armv8-32-aes-asm.S armv8-32-aes-asm_c.c armv8-32-chacha-asm.S armv8-32-chacha-asm_c.c armv8-32-curve25519.S armv8-32-curve25519_c.c armv8-32-mlkem-asm.S armv8-32-mlkem-asm_c.c armv8-32-poly1305-asm.S armv8-32-poly1305-asm_c.c armv8-32-sha256-asm.S armv8-32-sha256-asm_c.c armv8-32-sha3-asm.S armv8-32-sha3-asm_c.c armv8-32-sha512-asm.S armv8-32-sha512-asm_c.c armv8-aes-asm.S armv8-aes-asm_c.c armv8-aes.c armv8-chacha-asm.S armv8-chacha-asm_c.c armv8-curve25519.S armv8-curve25519_c.c armv8-mlkem-asm.S armv8-mlkem-asm_c.c armv8-poly1305-asm.S armv8-poly1305-asm_c.c armv8-sha256-asm.S armv8-sha256-asm_c.c armv8-sha256.c armv8-sha3-asm.S armv8-sha3-asm_c.c armv8-sha512-asm.S armv8-sha512-asm_c.c armv8-sha512.c cryptoCell.c cryptoCellHash.c thumb2-aes-asm.S thumb2-aes-asm_c.c thumb2-chacha-asm.S thumb2-chacha-asm_c.c thumb2-curve25519.S thumb2-curve25519_c.c thumb2-mlkem-asm.S thumb2-mlkem-asm_c.c thumb2-poly1305-asm.S thumb2-poly1305-asm_c.c thumb2-sha256-asm.S thumb2-sha256-asm_c.c thumb2-sha3-asm.S thumb2-sha3-asm_c.c thumb2-sha512-asm.S thumb2-sha512-asm_c.c
atmel README.md atmel.c
autosar README.md cryif.c crypto.c csm.c include.am test.c
caam README.md caam_aes.c caam_doc.pdf caam_driver.c caam_error.c caam_integrity.c caam_qnx.c caam_sha.c wolfcaam_aes.c wolfcaam_cmac.c wolfcaam_ecdsa.c wolfcaam_fsl_nxp.c wolfcaam_hash.c wolfcaam_hmac.c wolfcaam_init.c wolfcaam_qnx.c wolfcaam_rsa.c wolfcaam_seco.c wolfcaam_x25519.c
cavium README.md README_Octeon.md cavium_nitrox.c cavium_octeon_sync.c
cuda README.md aes-cuda.cu
cypress README.md psoc6_crypto.c
devcrypto README.md devcrypto_aes.c devcrypto_ecdsa.c devcrypto_hash.c devcrypto_hmac.c devcrypto_rsa.c devcrypto_x25519.c wc_devcrypto.c
intel README.md quickassist.c quickassist_mem.c quickassist_sync.c
iotsafe iotsafe.c
kcapi README.md kcapi_aes.c kcapi_dh.c kcapi_ecc.c kcapi_hash.c kcapi_hmac.c kcapi_rsa.c
liboqs liboqs.c
maxim README.md max3266x.c maxq10xx.c
mynewt mynewt_port.c
nxp README.md README_SE050.md casper_port.c dcp_port.c hashcrypt_port.c ksdk_port.c se050_port.c
pic32 pic32mz-crypt.c
ppc32 ppc32-sha256-asm.S ppc32-sha256-asm_c.c ppc32-sha256-asm_cr.c
psa README.md psa.c psa_aes.c psa_hash.c psa_pkcbs.c
riscv riscv-64-aes.c riscv-64-chacha.c riscv-64-poly1305.c riscv-64-sha256.c riscv-64-sha3.c riscv-64-sha512.c
rpi_pico README.md pico.c
silabs README.md silabs_aes.c silabs_ecc.c silabs_hash.c silabs_random.c
st README.md STM32MP13.md STM32MP25.md stm32.c stsafe.c
ti ti-aes.c ti-ccm.c ti-des3.c ti-hash.c
tropicsquare README.md tropic01.c
xilinx xil-aesgcm.c xil-sha3.c xil-versal-glue.c xil-versal-trng.c
nrf51.c
ASN_TEMPLATE.md aes.c aes_asm.S aes_asm.asm aes_gcm_asm.S aes_gcm_asm.asm aes_gcm_x86_asm.S aes_xts_asm.S aes_xts_asm.asm arc4.c ascon.c asm.c asn.c asn_orig.c async.c blake2b.c blake2s.c camellia.c chacha.c chacha20_poly1305.c chacha_asm.S chacha_asm.asm cmac.c coding.c compress.c cpuid.c cryptocb.c curve25519.c curve448.c des3.c dh.c dilithium.c dsa.c ecc.c ecc_fp.c eccsi.c ed25519.c ed448.c error.c evp.c evp_pk.c falcon.c fe_448.c fe_low_mem.c fe_operations.c fe_x25519_128.h fe_x25519_asm.S fp_mont_small.i fp_mul_comba_12.i fp_mul_comba_17.i fp_mul_comba_20.i fp_mul_comba_24.i fp_mul_comba_28.i fp_mul_comba_3.i fp_mul_comba_32.i fp_mul_comba_4.i fp_mul_comba_48.i fp_mul_comba_6.i fp_mul_comba_64.i fp_mul_comba_7.i fp_mul_comba_8.i fp_mul_comba_9.i fp_mul_comba_small_set.i fp_sqr_comba_12.i fp_sqr_comba_17.i fp_sqr_comba_20.i fp_sqr_comba_24.i fp_sqr_comba_28.i fp_sqr_comba_3.i fp_sqr_comba_32.i fp_sqr_comba_4.i fp_sqr_comba_48.i fp_sqr_comba_6.i fp_sqr_comba_64.i fp_sqr_comba_7.i fp_sqr_comba_8.i fp_sqr_comba_9.i fp_sqr_comba_small_set.i ge_448.c ge_low_mem.c ge_operations.c hash.c hmac.c hpke.c include.am integer.c kdf.c logging.c md2.c md4.c md5.c memory.c misc.c pkcs12.c pkcs7.c poly1305.c poly1305_asm.S poly1305_asm.asm puf.c pwdbased.c random.c rc2.c ripemd.c rng_bank.c rsa.c sakke.c sha.c sha256.c sha256_asm.S sha3.c sha3_asm.S sha512.c sha512_asm.S signature.c siphash.c sm2.c sm3.c sm3_asm.S sm4.c sp_arm32.c sp_arm64.c sp_armthumb.c sp_c32.c sp_c64.c sp_cortexm.c sp_dsp32.c sp_int.c sp_sm2_arm32.c sp_sm2_arm64.c sp_sm2_armthumb.c sp_sm2_c32.c sp_sm2_c64.c sp_sm2_cortexm.c sp_sm2_x86_64.c sp_sm2_x86_64_asm.S sp_x86_64.c sp_x86_64_asm.S sp_x86_64_asm.asm srp.c tfm.c wc_dsp.c wc_encrypt.c wc_lms.c wc_lms_impl.c wc_mldsa_asm.S wc_mlkem.c wc_mlkem_asm.S wc_mlkem_poly.c wc_pkcs11.c wc_port.c wc_she.c wc_slhdsa.c wc_xmss.c wc_xmss_impl.c wolfentropy.c wolfevent.c wolfmath.c
test README.md include.am test-VS2022.sln test-VS2022.vcxproj test-VS2022.vcxproj.user test.c test.h test.sln test.vcproj test_paths.h.in
wolfssl
openssl aes.h asn1.h asn1t.h bio.h bn.h buffer.h camellia.h cmac.h cms.h compat_types.h conf.h crypto.h des.h dh.h dsa.h ec.h ec25519.h ec448.h ecdh.h ecdsa.h ed25519.h ed448.h engine.h err.h evp.h fips_rand.h hmac.h include.am kdf.h lhash.h md4.h md5.h modes.h obj_mac.h objects.h ocsp.h opensslconf.h opensslv.h ossl_typ.h pem.h pkcs12.h pkcs7.h rand.h rc4.h ripemd.h rsa.h safestack.h sha.h sha3.h srp.h ssl.h ssl23.h stack.h tls1.h txt_db.h ui.h x509.h x509_vfy.h x509v3.h
wolfcrypt
port
Espressif esp-sdk-lib.h esp32-crypt.h esp_crt_bundle.h
Renesas renesas-fspsm-crypt.h renesas-fspsm-types.h renesas-rx64-hw-crypt.h renesas-tsip-crypt.h renesas_cmn.h renesas_fspsm_internal.h renesas_sync.h renesas_tsip_internal.h renesas_tsip_types.h
af_alg afalg_hash.h wc_afalg.h
aria aria-crypt.h aria-cryptocb.h
arm cryptoCell.h
atmel atmel.h
autosar CryIf.h Crypto.h Csm.h StandardTypes.h
caam caam_driver.h caam_error.h caam_qnx.h wolfcaam.h wolfcaam_aes.h wolfcaam_cmac.h wolfcaam_ecdsa.h wolfcaam_fsl_nxp.h wolfcaam_hash.h wolfcaam_qnx.h wolfcaam_rsa.h wolfcaam_seco.h wolfcaam_sha.h wolfcaam_x25519.h
cavium cavium_nitrox.h cavium_octeon_sync.h
cypress psoc6_crypto.h
devcrypto wc_devcrypto.h
intel quickassist.h quickassist_mem.h quickassist_sync.h
iotsafe iotsafe.h
kcapi kcapi_dh.h kcapi_ecc.h kcapi_hash.h kcapi_hmac.h kcapi_rsa.h wc_kcapi.h
liboqs liboqs.h
maxim max3266x-cryptocb.h max3266x.h maxq10xx.h
nxp casper_port.h dcp_port.h hashcrypt_port.h ksdk_port.h se050_port.h
pic32 pic32mz-crypt.h
psa psa.h
riscv riscv-64-asm.h
rpi_pico pico.h
silabs silabs_aes.h silabs_ecc.h silabs_hash.h silabs_random.h
st stm32.h stsafe.h
ti ti-ccm.h ti-hash.h
tropicsquare tropic01.h
xilinx xil-sha3.h xil-versal-glue.h xil-versal-trng.h
nrf51.h
aes.h arc4.h ascon.h asn.h asn_public.h async.h blake2-impl.h blake2-int.h blake2.h camellia.h chacha.h chacha20_poly1305.h cmac.h coding.h compress.h cpuid.h cryptocb.h curve25519.h curve448.h des3.h dh.h dilithium.h dsa.h ecc.h eccsi.h ed25519.h ed448.h error-crypt.h falcon.h fe_448.h fe_operations.h fips_test.h ge_448.h ge_operations.h hash.h hmac.h hpke.h include.am integer.h kdf.h libwolfssl_sources.h libwolfssl_sources_asm.h logging.h md2.h md4.h md5.h mem_track.h memory.h misc.h mpi_class.h mpi_superclass.h oid_sum.h pkcs11.h pkcs12.h pkcs7.h poly1305.h puf.h pwdbased.h random.h rc2.h ripemd.h rng_bank.h rsa.h sakke.h selftest.h settings.h sha.h sha256.h sha3.h sha512.h signature.h siphash.h sm2.h sm3.h sm4.h sp.h sp_int.h srp.h tfm.h types.h visibility.h wc_encrypt.h wc_lms.h wc_mlkem.h wc_pkcs11.h wc_port.h wc_she.h wc_slhdsa.h wc_xmss.h wolfentropy.h wolfevent.h wolfmath.h
callbacks.h certs_test.h certs_test_sm.h crl.h error-ssl.h include.am internal.h ocsp.h options.h.in quic.h sniffer.h sniffer_error.h sniffer_error.rc ssl.h test.h version.h version.h.in wolfio.h
wrapper
Ada
examples
src aes_verify_main.adb rsa_verify_main.adb sha256_main.adb spark_sockets.adb spark_sockets.ads spark_terminal.adb spark_terminal.ads tls_client.adb tls_client.ads tls_client_main.adb tls_server.adb tls_server.ads tls_server_main.adb
.gitignore alire.toml examples.gpr
tests
src
support test_support.adb test_support.ads tests_root_suite.adb tests_root_suite.ads
aes_bindings_tests.adb aes_bindings_tests.ads rsa_verify_bindings_tests.adb rsa_verify_bindings_tests.ads sha256_bindings_tests.adb sha256_bindings_tests.ads tests.adb
.gitignore README.md alire.toml tests.gpr valgrind.supp
.gitignore README.md ada_binding.c alire.toml default.gpr include.am restricted.adc user_settings.h wolfssl-full_runtime.adb wolfssl-full_runtime.ads wolfssl.adb wolfssl.ads wolfssl.gpr
CSharp
wolfCrypt-Test
Properties AssemblyInfo.cs
App.config wolfCrypt-Test.cs wolfCrypt-Test.csproj
wolfSSL-DTLS-PSK-Server
Properties AssemblyInfo.cs
App.config wolfSSL-DTLS-PSK-Server.cs wolfSSL-DTLS-PSK-Server.csproj
wolfSSL-DTLS-Server
Properties AssemblyInfo.cs
App.config wolfSSL-DTLS-Server.cs wolfSSL-DTLS-Server.csproj
wolfSSL-Example-IOCallbacks
Properties AssemblyInfo.cs
App.config wolfSSL-Example-IOCallbacks.cs wolfSSL-Example-IOCallbacks.csproj
wolfSSL-TLS-Client
Properties AssemblyInfo.cs
App.config wolfSSL-TLS-Client.cs wolfSSL-TLS-Client.csproj
wolfSSL-TLS-PSK-Client
Properties AssemblyInfo.cs
App.config wolfSSL-TLS-PSK-Client.cs wolfSSL-TLS-PSK-Client.csproj
wolfSSL-TLS-PSK-Server
Properties AssemblyInfo.cs
App.config wolfSSL-TLS-PSK-Server.cs wolfSSL-TLS-PSK-Server.csproj
wolfSSL-TLS-Server
Properties AssemblyInfo.cs
App.config wolfSSL-TLS-Server.cs wolfSSL-TLS-Server.csproj
wolfSSL-TLS-ServerThreaded
Properties AssemblyInfo.cs
App.config wolfSSL-TLS-ServerThreaded.cs wolfSSL-TLS-ServerThreaded.csproj
wolfSSL_CSharp
Properties AssemblyInfo.cs Resources.Designer.cs Resources.resx
X509.cs wolfCrypt.cs wolfSSL.cs wolfSSL_CSharp.csproj
README.md include.am user_settings.h wolfSSL_CSharp.sln wolfssl.vcxproj
python README.md
rust
wolfssl-wolfcrypt
src aes.rs blake2.rs chacha20_poly1305.rs cmac.rs cmac_mac.rs curve25519.rs dh.rs dilithium.rs ecc.rs ecdsa.rs ed25519.rs ed448.rs fips.rs hkdf.rs hmac.rs hmac_mac.rs kdf.rs lib.rs lms.rs mlkem.rs mlkem_kem.rs pbkdf2_password_hash.rs prf.rs random.rs rsa.rs rsa_pkcs1v15.rs sha.rs sha_digest.rs sys.rs
tests
common mod.rs
test_aes.rs test_blake2.rs test_chacha20_poly1305.rs test_cmac.rs test_cmac_mac.rs test_curve25519.rs test_dh.rs test_dilithium.rs test_ecc.rs test_ecdsa.rs test_ed25519.rs test_ed448.rs test_hkdf.rs test_hmac.rs test_hmac_mac.rs test_kdf.rs test_lms.rs test_mlkem.rs test_mlkem_kem.rs test_pbkdf2_password_hash.rs test_prf.rs test_random.rs test_rsa.rs test_rsa_pkcs1v15.rs test_sha.rs test_sha_digest.rs test_wolfcrypt.rs
CHANGELOG.md Cargo.lock Cargo.toml Makefile README.md build.rs headers.h
Makefile README.md include.am
include.am
zephyr
samples
wolfssl_benchmark
boards native_sim.conf nrf5340dk_nrf5340_cpuapp.conf nrf5340dk_nrf5340_cpuapp_ns.conf
CMakeLists.txt README install_test.sh prj.conf sample.yaml zephyr_legacy.conf zephyr_v4.1.conf
wolfssl_test
boards native_sim.conf nrf5340dk_nrf5340_cpuapp.conf nrf5340dk_nrf5340_cpuapp_ns.conf
CMakeLists.txt README install_test.sh prj-no-malloc.conf prj.conf sample.yaml zephyr_legacy.conf zephyr_v4.1.conf
wolfssl_tls_sock
boards native_sim.conf
src tls_sock.c
CMakeLists.txt README install_sample.sh prj-no-malloc.conf prj.conf sample.yaml zephyr_legacy.conf zephyr_v4.1.conf
wolfssl_tls_thread
boards native_sim.conf nrf5340dk_nrf5340_cpuapp.conf nrf5340dk_nrf5340_cpuapp_ns.conf
src tls_threaded.c
CMakeLists.txt README install_sample.sh prj.conf sample.yaml zephyr_legacy.conf zephyr_v4.1.conf
wolfssl options.h
CMakeLists.txt Kconfig Kconfig.tls-generic README.md include.am module.yml user_settings-no-malloc.h user_settings.h zephyr_init.c
.codespellexcludelines .cyignore .editorconfig .gitignore .wolfssl_known_macro_extras AUTHORS CMakeLists.txt CMakePresets.json CMakeSettings.json COPYING ChangeLog.md INSTALL LICENSING LPCExpresso.cproject LPCExpresso.project Makefile.am README README-async.md README.md SCRIPTS-LIST SECURITY-POLICY.md SECURITY-REPORT-TEMPLATE.md Vagrantfile autogen.sh commit-tests.sh configure.ac fips-check.sh fips-hash.sh gencertbuf.pl input pull_to_vagrant.sh quit resource.h stamp-h.in valgrind-bash.supp valgrind-error.sh wnr-example.conf wolfssl-VS2022.vcxproj wolfssl.rc wolfssl.vcproj wolfssl.vcxproj wolfssl64.sln
.clangd .gitignore DOCS.md Makefile README.md assert.c core.c crypto.c env.c fs.c http.c ini.c json.c log.c luna.h main.c makext.mk path.c process.c request.c sqlite.c stash.c template.c util.c
wolfssl/wolfcrypt/src/port/ppc32/ppc32-sha256-asm.S raw
   1/* ppc32-sha256-asm
   2 *
   3 * Copyright (C) 2006-2026 wolfSSL Inc.
   4 *
   5 * This file is part of wolfSSL.
   6 *
   7 * wolfSSL is free software; you can redistribute it and/or modify
   8 * it under the terms of the GNU General Public License as published by
   9 * the Free Software Foundation; either version 3 of the License, or
  10 * (at your option) any later version.
  11 *
  12 * wolfSSL is distributed in the hope that it will be useful,
  13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15 * GNU General Public License for more details.
  16 *
  17 * You should have received a copy of the GNU General Public License
  18 * along with this program; if not, write to the Free Software
  19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
  20 */
  21
  22/* Generated using (from wolfssl):
  23 *   cd ../scripts
  24 *   ruby ./sha2/sha256.rb ppc32 \
  25 *       ../wolfssl/wolfcrypt/src/port/ppc32/ppc32-sha256-asm.S
  26 */
  27
  28
  29#ifdef WOLFSSL_PPC32_ASM
  30#ifndef WOLFSSL_PPC32_ASM_INLINE
  31	.machine ppc
  32#ifndef NO_SHA256
  33#ifdef WOLFSSL_PPC32_ASM_SPE
  34#ifndef __APPLE__
  35	.text
  36	.type	L_SHA256_transform_spe_len_k, %object
  37	.size	L_SHA256_transform_spe_len_k, 256
  38#else
  39	.section	__DATA,__data
  40#endif /* __APPLE__ */
  41	# 8-byte aligned, 64-bit aligned
  42#ifndef __APPLE__
  43	.align	3
  44#else
  45	.p2align	3
  46#endif /* __APPLE__ */
  47L_SHA256_transform_spe_len_k:
  48	.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
  49	.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
  50	.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
  51	.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
  52	.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
  53	.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
  54	.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
  55	.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
  56	.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
  57	.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
  58	.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
  59	.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
  60	.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
  61	.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
  62	.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
  63	.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
  64	.section	".text"
  65	.align	4
  66	.globl	Transform_Sha256_Len
  67	.type	Transform_Sha256_Len, @function
  68Transform_Sha256_Len:
  69	stwu	1, -104(1)
  70	mflr	0
  71	stw	0, 100(1)
  72	stw	14, 0(1)
  73	stw	15, 4(1)
  74	stw	16, 8(1)
  75	stw	17, 12(1)
  76	stw	18, 16(1)
  77	stw	19, 20(1)
  78	stw	20, 24(1)
  79	stw	21, 28(1)
  80	evstdw	22, 32(1)
  81	evstdw	23, 40(1)
  82	evstdw	24, 48(1)
  83	evstdw	25, 56(1)
  84	evstdw	26, 64(1)
  85	evstdw	27, 72(1)
  86	evstdw	28, 80(1)
  87	evstdw	29, 88(1)
  88	stw	30, 96(1)
  89	srwi	5, 5, 6
  90	lis	30, L_SHA256_transform_spe_len_k@ha
  91	la	30, L_SHA256_transform_spe_len_k@l(30)
  92	# Load digest into registers
  93	lwz	14, 0(3)
  94	lwz	15, 4(3)
  95	lwz	16, 8(3)
  96	lwz	17, 12(3)
  97	lwz	18, 16(3)
  98	lwz	19, 20(3)
  99	lwz	20, 24(3)
 100	lwz	21, 28(3)
 101	# Start of loop processing a block
 102L_SHA256_transform_spe_len_begin:
 103	# Load W
 104	lwz	22, 0(4)
 105	lwz	0, 4(4)
 106	evmergelo	22, 0, 22
 107	lwz	23, 8(4)
 108	lwz	0, 12(4)
 109	evmergelo	23, 0, 23
 110	lwz	24, 16(4)
 111	lwz	0, 20(4)
 112	evmergelo	24, 0, 24
 113	lwz	25, 24(4)
 114	lwz	0, 28(4)
 115	evmergelo	25, 0, 25
 116	lwz	26, 32(4)
 117	lwz	0, 36(4)
 118	evmergelo	26, 0, 26
 119	lwz	27, 40(4)
 120	lwz	0, 44(4)
 121	evmergelo	27, 0, 27
 122	lwz	28, 48(4)
 123	lwz	0, 52(4)
 124	evmergelo	28, 0, 28
 125	lwz	29, 56(4)
 126	lwz	0, 60(4)
 127	evmergelo	29, 0, 29
 128	li	0, 3
 129	mtctr	0
 130	# Start of 16 rounds
 131L_SHA256_transform_spe_len_start:
 132	# Round 0
 133	mr	9, 22
 134	rotlwi	6, 18, 26
 135	xor	7, 19, 20
 136	rotlwi	8, 18, 21
 137	xor	6, 6, 8
 138	and	7, 7, 18
 139	rotlwi	8, 18, 7
 140	xor	6, 6, 8
 141	xor	7, 7, 20
 142	add	21, 21, 6
 143	add	21, 21, 7
 144	lwz	6, 0(30)
 145	add	21, 21, 9
 146	add	21, 21, 6
 147	add	17, 17, 21
 148	rotlwi	6, 14, 30
 149	xor	7, 14, 15
 150	rotlwi	8, 14, 19
 151	xor	6, 6, 8
 152	xor	8, 15, 16
 153	and	7, 7, 8
 154	rotlwi	8, 14, 10
 155	xor	6, 6, 8
 156	xor	7, 7, 15
 157	add	21, 21, 6
 158	add	21, 21, 7
 159	# Round 1
 160	evmergehi	9, 22, 22
 161	# Calc new W[0]-W[1]
 162	evmergelohi	12, 23, 22
 163	rotlwi	6, 17, 26
 164	evrlwi	10, 29, 15
 165	xor	7, 18, 19
 166	evrlwi	11, 29, 13
 167	rotlwi	8, 17, 21
 168	evxor	11, 11, 10
 169	xor	6, 6, 8
 170	evsrwiu	10, 29, 10
 171	and	7, 7, 17
 172	evxor	11, 11, 10
 173	rotlwi	8, 17, 7
 174	evaddw	22, 22, 11
 175	xor	6, 6, 8
 176	evmergelohi	10, 27, 26
 177	xor	7, 7, 19
 178	evaddw	22, 22, 10
 179	add	20, 20, 6
 180	evrlwi	10, 12, 25
 181	add	20, 20, 7
 182	evrlwi	11, 12, 14
 183	lwz	6, 4(30)
 184	evxor	11, 11, 10
 185	add	20, 20, 9
 186	evsrwiu	12, 12, 3
 187	add	20, 20, 6
 188	evxor	11, 11, 12
 189	add	16, 16, 20
 190	evaddw	22, 22, 11
 191	rotlwi	6, 21, 30
 192	xor	7, 21, 14
 193	rotlwi	8, 21, 19
 194	xor	6, 6, 8
 195	xor	8, 14, 15
 196	and	7, 7, 8
 197	rotlwi	8, 21, 10
 198	xor	6, 6, 8
 199	xor	7, 7, 14
 200	add	20, 20, 6
 201	add	20, 20, 7
 202	# Round 2
 203	mr	9, 23
 204	rotlwi	6, 16, 26
 205	xor	7, 17, 18
 206	rotlwi	8, 16, 21
 207	xor	6, 6, 8
 208	and	7, 7, 16
 209	rotlwi	8, 16, 7
 210	xor	6, 6, 8
 211	xor	7, 7, 18
 212	add	19, 19, 6
 213	add	19, 19, 7
 214	lwz	6, 8(30)
 215	add	19, 19, 9
 216	add	19, 19, 6
 217	add	15, 15, 19
 218	rotlwi	6, 20, 30
 219	xor	7, 20, 21
 220	rotlwi	8, 20, 19
 221	xor	6, 6, 8
 222	xor	8, 21, 14
 223	and	7, 7, 8
 224	rotlwi	8, 20, 10
 225	xor	6, 6, 8
 226	xor	7, 7, 21
 227	add	19, 19, 6
 228	add	19, 19, 7
 229	# Round 3
 230	evmergehi	9, 23, 23
 231	# Calc new W[2]-W[3]
 232	evmergelohi	12, 24, 23
 233	rotlwi	6, 15, 26
 234	evrlwi	10, 22, 15
 235	xor	7, 16, 17
 236	evrlwi	11, 22, 13
 237	rotlwi	8, 15, 21
 238	evxor	11, 11, 10
 239	xor	6, 6, 8
 240	evsrwiu	10, 22, 10
 241	and	7, 7, 15
 242	evxor	11, 11, 10
 243	rotlwi	8, 15, 7
 244	evaddw	23, 23, 11
 245	xor	6, 6, 8
 246	evmergelohi	10, 28, 27
 247	xor	7, 7, 17
 248	evaddw	23, 23, 10
 249	add	18, 18, 6
 250	evrlwi	10, 12, 25
 251	add	18, 18, 7
 252	evrlwi	11, 12, 14
 253	lwz	6, 12(30)
 254	evxor	11, 11, 10
 255	add	18, 18, 9
 256	evsrwiu	12, 12, 3
 257	add	18, 18, 6
 258	evxor	11, 11, 12
 259	add	14, 14, 18
 260	evaddw	23, 23, 11
 261	rotlwi	6, 19, 30
 262	xor	7, 19, 20
 263	rotlwi	8, 19, 19
 264	xor	6, 6, 8
 265	xor	8, 20, 21
 266	and	7, 7, 8
 267	rotlwi	8, 19, 10
 268	xor	6, 6, 8
 269	xor	7, 7, 20
 270	add	18, 18, 6
 271	add	18, 18, 7
 272	# Round 4
 273	mr	9, 24
 274	rotlwi	6, 14, 26
 275	xor	7, 15, 16
 276	rotlwi	8, 14, 21
 277	xor	6, 6, 8
 278	and	7, 7, 14
 279	rotlwi	8, 14, 7
 280	xor	6, 6, 8
 281	xor	7, 7, 16
 282	add	17, 17, 6
 283	add	17, 17, 7
 284	lwz	6, 16(30)
 285	add	17, 17, 9
 286	add	17, 17, 6
 287	add	21, 21, 17
 288	rotlwi	6, 18, 30
 289	xor	7, 18, 19
 290	rotlwi	8, 18, 19
 291	xor	6, 6, 8
 292	xor	8, 19, 20
 293	and	7, 7, 8
 294	rotlwi	8, 18, 10
 295	xor	6, 6, 8
 296	xor	7, 7, 19
 297	add	17, 17, 6
 298	add	17, 17, 7
 299	# Round 5
 300	evmergehi	9, 24, 24
 301	# Calc new W[4]-W[5]
 302	evmergelohi	12, 25, 24
 303	rotlwi	6, 21, 26
 304	evrlwi	10, 23, 15
 305	xor	7, 14, 15
 306	evrlwi	11, 23, 13
 307	rotlwi	8, 21, 21
 308	evxor	11, 11, 10
 309	xor	6, 6, 8
 310	evsrwiu	10, 23, 10
 311	and	7, 7, 21
 312	evxor	11, 11, 10
 313	rotlwi	8, 21, 7
 314	evaddw	24, 24, 11
 315	xor	6, 6, 8
 316	evmergelohi	10, 29, 28
 317	xor	7, 7, 15
 318	evaddw	24, 24, 10
 319	add	16, 16, 6
 320	evrlwi	10, 12, 25
 321	add	16, 16, 7
 322	evrlwi	11, 12, 14
 323	lwz	6, 20(30)
 324	evxor	11, 11, 10
 325	add	16, 16, 9
 326	evsrwiu	12, 12, 3
 327	add	16, 16, 6
 328	evxor	11, 11, 12
 329	add	20, 20, 16
 330	evaddw	24, 24, 11
 331	rotlwi	6, 17, 30
 332	xor	7, 17, 18
 333	rotlwi	8, 17, 19
 334	xor	6, 6, 8
 335	xor	8, 18, 19
 336	and	7, 7, 8
 337	rotlwi	8, 17, 10
 338	xor	6, 6, 8
 339	xor	7, 7, 18
 340	add	16, 16, 6
 341	add	16, 16, 7
 342	# Round 6
 343	mr	9, 25
 344	rotlwi	6, 20, 26
 345	xor	7, 21, 14
 346	rotlwi	8, 20, 21
 347	xor	6, 6, 8
 348	and	7, 7, 20
 349	rotlwi	8, 20, 7
 350	xor	6, 6, 8
 351	xor	7, 7, 14
 352	add	15, 15, 6
 353	add	15, 15, 7
 354	lwz	6, 24(30)
 355	add	15, 15, 9
 356	add	15, 15, 6
 357	add	19, 19, 15
 358	rotlwi	6, 16, 30
 359	xor	7, 16, 17
 360	rotlwi	8, 16, 19
 361	xor	6, 6, 8
 362	xor	8, 17, 18
 363	and	7, 7, 8
 364	rotlwi	8, 16, 10
 365	xor	6, 6, 8
 366	xor	7, 7, 17
 367	add	15, 15, 6
 368	add	15, 15, 7
 369	# Round 7
 370	evmergehi	9, 25, 25
 371	# Calc new W[6]-W[7]
 372	evmergelohi	12, 26, 25
 373	rotlwi	6, 19, 26
 374	evrlwi	10, 24, 15
 375	xor	7, 20, 21
 376	evrlwi	11, 24, 13
 377	rotlwi	8, 19, 21
 378	evxor	11, 11, 10
 379	xor	6, 6, 8
 380	evsrwiu	10, 24, 10
 381	and	7, 7, 19
 382	evxor	11, 11, 10
 383	rotlwi	8, 19, 7
 384	evaddw	25, 25, 11
 385	xor	6, 6, 8
 386	evmergelohi	10, 22, 29
 387	xor	7, 7, 21
 388	evaddw	25, 25, 10
 389	add	14, 14, 6
 390	evrlwi	10, 12, 25
 391	add	14, 14, 7
 392	evrlwi	11, 12, 14
 393	lwz	6, 28(30)
 394	evxor	11, 11, 10
 395	add	14, 14, 9
 396	evsrwiu	12, 12, 3
 397	add	14, 14, 6
 398	evxor	11, 11, 12
 399	add	18, 18, 14
 400	evaddw	25, 25, 11
 401	rotlwi	6, 15, 30
 402	xor	7, 15, 16
 403	rotlwi	8, 15, 19
 404	xor	6, 6, 8
 405	xor	8, 16, 17
 406	and	7, 7, 8
 407	rotlwi	8, 15, 10
 408	xor	6, 6, 8
 409	xor	7, 7, 16
 410	add	14, 14, 6
 411	add	14, 14, 7
 412	# Round 8
 413	mr	9, 26
 414	rotlwi	6, 18, 26
 415	xor	7, 19, 20
 416	rotlwi	8, 18, 21
 417	xor	6, 6, 8
 418	and	7, 7, 18
 419	rotlwi	8, 18, 7
 420	xor	6, 6, 8
 421	xor	7, 7, 20
 422	add	21, 21, 6
 423	add	21, 21, 7
 424	lwz	6, 32(30)
 425	add	21, 21, 9
 426	add	21, 21, 6
 427	add	17, 17, 21
 428	rotlwi	6, 14, 30
 429	xor	7, 14, 15
 430	rotlwi	8, 14, 19
 431	xor	6, 6, 8
 432	xor	8, 15, 16
 433	and	7, 7, 8
 434	rotlwi	8, 14, 10
 435	xor	6, 6, 8
 436	xor	7, 7, 15
 437	add	21, 21, 6
 438	add	21, 21, 7
 439	# Round 9
 440	evmergehi	9, 26, 26
 441	# Calc new W[8]-W[9]
 442	evmergelohi	12, 27, 26
 443	rotlwi	6, 17, 26
 444	evrlwi	10, 25, 15
 445	xor	7, 18, 19
 446	evrlwi	11, 25, 13
 447	rotlwi	8, 17, 21
 448	evxor	11, 11, 10
 449	xor	6, 6, 8
 450	evsrwiu	10, 25, 10
 451	and	7, 7, 17
 452	evxor	11, 11, 10
 453	rotlwi	8, 17, 7
 454	evaddw	26, 26, 11
 455	xor	6, 6, 8
 456	evmergelohi	10, 23, 22
 457	xor	7, 7, 19
 458	evaddw	26, 26, 10
 459	add	20, 20, 6
 460	evrlwi	10, 12, 25
 461	add	20, 20, 7
 462	evrlwi	11, 12, 14
 463	lwz	6, 36(30)
 464	evxor	11, 11, 10
 465	add	20, 20, 9
 466	evsrwiu	12, 12, 3
 467	add	20, 20, 6
 468	evxor	11, 11, 12
 469	add	16, 16, 20
 470	evaddw	26, 26, 11
 471	rotlwi	6, 21, 30
 472	xor	7, 21, 14
 473	rotlwi	8, 21, 19
 474	xor	6, 6, 8
 475	xor	8, 14, 15
 476	and	7, 7, 8
 477	rotlwi	8, 21, 10
 478	xor	6, 6, 8
 479	xor	7, 7, 14
 480	add	20, 20, 6
 481	add	20, 20, 7
 482	# Round 10
 483	mr	9, 27
 484	rotlwi	6, 16, 26
 485	xor	7, 17, 18
 486	rotlwi	8, 16, 21
 487	xor	6, 6, 8
 488	and	7, 7, 16
 489	rotlwi	8, 16, 7
 490	xor	6, 6, 8
 491	xor	7, 7, 18
 492	add	19, 19, 6
 493	add	19, 19, 7
 494	lwz	6, 40(30)
 495	add	19, 19, 9
 496	add	19, 19, 6
 497	add	15, 15, 19
 498	rotlwi	6, 20, 30
 499	xor	7, 20, 21
 500	rotlwi	8, 20, 19
 501	xor	6, 6, 8
 502	xor	8, 21, 14
 503	and	7, 7, 8
 504	rotlwi	8, 20, 10
 505	xor	6, 6, 8
 506	xor	7, 7, 21
 507	add	19, 19, 6
 508	add	19, 19, 7
 509	# Round 11
 510	evmergehi	9, 27, 27
 511	# Calc new W[10]-W[11]
 512	evmergelohi	12, 28, 27
 513	rotlwi	6, 15, 26
 514	evrlwi	10, 26, 15
 515	xor	7, 16, 17
 516	evrlwi	11, 26, 13
 517	rotlwi	8, 15, 21
 518	evxor	11, 11, 10
 519	xor	6, 6, 8
 520	evsrwiu	10, 26, 10
 521	and	7, 7, 15
 522	evxor	11, 11, 10
 523	rotlwi	8, 15, 7
 524	evaddw	27, 27, 11
 525	xor	6, 6, 8
 526	evmergelohi	10, 24, 23
 527	xor	7, 7, 17
 528	evaddw	27, 27, 10
 529	add	18, 18, 6
 530	evrlwi	10, 12, 25
 531	add	18, 18, 7
 532	evrlwi	11, 12, 14
 533	lwz	6, 44(30)
 534	evxor	11, 11, 10
 535	add	18, 18, 9
 536	evsrwiu	12, 12, 3
 537	add	18, 18, 6
 538	evxor	11, 11, 12
 539	add	14, 14, 18
 540	evaddw	27, 27, 11
 541	rotlwi	6, 19, 30
 542	xor	7, 19, 20
 543	rotlwi	8, 19, 19
 544	xor	6, 6, 8
 545	xor	8, 20, 21
 546	and	7, 7, 8
 547	rotlwi	8, 19, 10
 548	xor	6, 6, 8
 549	xor	7, 7, 20
 550	add	18, 18, 6
 551	add	18, 18, 7
 552	# Round 12
 553	mr	9, 28
 554	rotlwi	6, 14, 26
 555	xor	7, 15, 16
 556	rotlwi	8, 14, 21
 557	xor	6, 6, 8
 558	and	7, 7, 14
 559	rotlwi	8, 14, 7
 560	xor	6, 6, 8
 561	xor	7, 7, 16
 562	add	17, 17, 6
 563	add	17, 17, 7
 564	lwz	6, 48(30)
 565	add	17, 17, 9
 566	add	17, 17, 6
 567	add	21, 21, 17
 568	rotlwi	6, 18, 30
 569	xor	7, 18, 19
 570	rotlwi	8, 18, 19
 571	xor	6, 6, 8
 572	xor	8, 19, 20
 573	and	7, 7, 8
 574	rotlwi	8, 18, 10
 575	xor	6, 6, 8
 576	xor	7, 7, 19
 577	add	17, 17, 6
 578	add	17, 17, 7
 579	# Round 13
 580	evmergehi	9, 28, 28
 581	# Calc new W[12]-W[13]
 582	evmergelohi	12, 29, 28
 583	rotlwi	6, 21, 26
 584	evrlwi	10, 27, 15
 585	xor	7, 14, 15
 586	evrlwi	11, 27, 13
 587	rotlwi	8, 21, 21
 588	evxor	11, 11, 10
 589	xor	6, 6, 8
 590	evsrwiu	10, 27, 10
 591	and	7, 7, 21
 592	evxor	11, 11, 10
 593	rotlwi	8, 21, 7
 594	evaddw	28, 28, 11
 595	xor	6, 6, 8
 596	evmergelohi	10, 25, 24
 597	xor	7, 7, 15
 598	evaddw	28, 28, 10
 599	add	16, 16, 6
 600	evrlwi	10, 12, 25
 601	add	16, 16, 7
 602	evrlwi	11, 12, 14
 603	lwz	6, 52(30)
 604	evxor	11, 11, 10
 605	add	16, 16, 9
 606	evsrwiu	12, 12, 3
 607	add	16, 16, 6
 608	evxor	11, 11, 12
 609	add	20, 20, 16
 610	evaddw	28, 28, 11
 611	rotlwi	6, 17, 30
 612	xor	7, 17, 18
 613	rotlwi	8, 17, 19
 614	xor	6, 6, 8
 615	xor	8, 18, 19
 616	and	7, 7, 8
 617	rotlwi	8, 17, 10
 618	xor	6, 6, 8
 619	xor	7, 7, 18
 620	add	16, 16, 6
 621	add	16, 16, 7
 622	# Round 14
 623	mr	9, 29
 624	rotlwi	6, 20, 26
 625	xor	7, 21, 14
 626	rotlwi	8, 20, 21
 627	xor	6, 6, 8
 628	and	7, 7, 20
 629	rotlwi	8, 20, 7
 630	xor	6, 6, 8
 631	xor	7, 7, 14
 632	add	15, 15, 6
 633	add	15, 15, 7
 634	lwz	6, 56(30)
 635	add	15, 15, 9
 636	add	15, 15, 6
 637	add	19, 19, 15
 638	rotlwi	6, 16, 30
 639	xor	7, 16, 17
 640	rotlwi	8, 16, 19
 641	xor	6, 6, 8
 642	xor	8, 17, 18
 643	and	7, 7, 8
 644	rotlwi	8, 16, 10
 645	xor	6, 6, 8
 646	xor	7, 7, 17
 647	add	15, 15, 6
 648	add	15, 15, 7
 649	# Round 15
 650	evmergehi	9, 29, 29
 651	# Calc new W[14]-W[15]
 652	evmergelohi	12, 22, 29
 653	rotlwi	6, 19, 26
 654	evrlwi	10, 28, 15
 655	xor	7, 20, 21
 656	evrlwi	11, 28, 13
 657	rotlwi	8, 19, 21
 658	evxor	11, 11, 10
 659	xor	6, 6, 8
 660	evsrwiu	10, 28, 10
 661	and	7, 7, 19
 662	evxor	11, 11, 10
 663	rotlwi	8, 19, 7
 664	evaddw	29, 29, 11
 665	xor	6, 6, 8
 666	evmergelohi	10, 26, 25
 667	xor	7, 7, 21
 668	evaddw	29, 29, 10
 669	add	14, 14, 6
 670	evrlwi	10, 12, 25
 671	add	14, 14, 7
 672	evrlwi	11, 12, 14
 673	lwz	6, 60(30)
 674	evxor	11, 11, 10
 675	add	14, 14, 9
 676	evsrwiu	12, 12, 3
 677	add	14, 14, 6
 678	evxor	11, 11, 12
 679	add	18, 18, 14
 680	evaddw	29, 29, 11
 681	rotlwi	6, 15, 30
 682	xor	7, 15, 16
 683	rotlwi	8, 15, 19
 684	xor	6, 6, 8
 685	xor	8, 16, 17
 686	and	7, 7, 8
 687	rotlwi	8, 15, 10
 688	xor	6, 6, 8
 689	xor	7, 7, 16
 690	add	14, 14, 6
 691	add	14, 14, 7
 692	addi	30, 30, 0x40
 693	bdnz	L_SHA256_transform_spe_len_start
 694	# Round 0
 695	mr	9, 22
 696	rotlwi	6, 18, 26
 697	xor	7, 19, 20
 698	rotlwi	8, 18, 21
 699	xor	6, 6, 8
 700	and	7, 7, 18
 701	rotlwi	8, 18, 7
 702	xor	6, 6, 8
 703	xor	7, 7, 20
 704	add	21, 21, 6
 705	add	21, 21, 7
 706	lwz	6, 0(30)
 707	add	21, 21, 9
 708	add	21, 21, 6
 709	add	17, 17, 21
 710	rotlwi	6, 14, 30
 711	xor	7, 14, 15
 712	rotlwi	8, 14, 19
 713	xor	6, 6, 8
 714	xor	8, 15, 16
 715	and	7, 7, 8
 716	rotlwi	8, 14, 10
 717	xor	6, 6, 8
 718	xor	7, 7, 15
 719	add	21, 21, 6
 720	add	21, 21, 7
 721	# Round 1
 722	evmergehi	9, 22, 22
 723	rotlwi	6, 17, 26
 724	xor	7, 18, 19
 725	rotlwi	8, 17, 21
 726	xor	6, 6, 8
 727	and	7, 7, 17
 728	rotlwi	8, 17, 7
 729	xor	6, 6, 8
 730	xor	7, 7, 19
 731	add	20, 20, 6
 732	add	20, 20, 7
 733	lwz	6, 4(30)
 734	add	20, 20, 9
 735	add	20, 20, 6
 736	add	16, 16, 20
 737	rotlwi	6, 21, 30
 738	xor	7, 21, 14
 739	rotlwi	8, 21, 19
 740	xor	6, 6, 8
 741	xor	8, 14, 15
 742	and	7, 7, 8
 743	rotlwi	8, 21, 10
 744	xor	6, 6, 8
 745	xor	7, 7, 14
 746	add	20, 20, 6
 747	add	20, 20, 7
 748	# Round 2
 749	mr	9, 23
 750	rotlwi	6, 16, 26
 751	xor	7, 17, 18
 752	rotlwi	8, 16, 21
 753	xor	6, 6, 8
 754	and	7, 7, 16
 755	rotlwi	8, 16, 7
 756	xor	6, 6, 8
 757	xor	7, 7, 18
 758	add	19, 19, 6
 759	add	19, 19, 7
 760	lwz	6, 8(30)
 761	add	19, 19, 9
 762	add	19, 19, 6
 763	add	15, 15, 19
 764	rotlwi	6, 20, 30
 765	xor	7, 20, 21
 766	rotlwi	8, 20, 19
 767	xor	6, 6, 8
 768	xor	8, 21, 14
 769	and	7, 7, 8
 770	rotlwi	8, 20, 10
 771	xor	6, 6, 8
 772	xor	7, 7, 21
 773	add	19, 19, 6
 774	add	19, 19, 7
 775	# Round 3
 776	evmergehi	9, 23, 23
 777	rotlwi	6, 15, 26
 778	xor	7, 16, 17
 779	rotlwi	8, 15, 21
 780	xor	6, 6, 8
 781	and	7, 7, 15
 782	rotlwi	8, 15, 7
 783	xor	6, 6, 8
 784	xor	7, 7, 17
 785	add	18, 18, 6
 786	add	18, 18, 7
 787	lwz	6, 12(30)
 788	add	18, 18, 9
 789	add	18, 18, 6
 790	add	14, 14, 18
 791	rotlwi	6, 19, 30
 792	xor	7, 19, 20
 793	rotlwi	8, 19, 19
 794	xor	6, 6, 8
 795	xor	8, 20, 21
 796	and	7, 7, 8
 797	rotlwi	8, 19, 10
 798	xor	6, 6, 8
 799	xor	7, 7, 20
 800	add	18, 18, 6
 801	add	18, 18, 7
 802	# Round 4
 803	mr	9, 24
 804	rotlwi	6, 14, 26
 805	xor	7, 15, 16
 806	rotlwi	8, 14, 21
 807	xor	6, 6, 8
 808	and	7, 7, 14
 809	rotlwi	8, 14, 7
 810	xor	6, 6, 8
 811	xor	7, 7, 16
 812	add	17, 17, 6
 813	add	17, 17, 7
 814	lwz	6, 16(30)
 815	add	17, 17, 9
 816	add	17, 17, 6
 817	add	21, 21, 17
 818	rotlwi	6, 18, 30
 819	xor	7, 18, 19
 820	rotlwi	8, 18, 19
 821	xor	6, 6, 8
 822	xor	8, 19, 20
 823	and	7, 7, 8
 824	rotlwi	8, 18, 10
 825	xor	6, 6, 8
 826	xor	7, 7, 19
 827	add	17, 17, 6
 828	add	17, 17, 7
 829	# Round 5
 830	evmergehi	9, 24, 24
 831	rotlwi	6, 21, 26
 832	xor	7, 14, 15
 833	rotlwi	8, 21, 21
 834	xor	6, 6, 8
 835	and	7, 7, 21
 836	rotlwi	8, 21, 7
 837	xor	6, 6, 8
 838	xor	7, 7, 15
 839	add	16, 16, 6
 840	add	16, 16, 7
 841	lwz	6, 20(30)
 842	add	16, 16, 9
 843	add	16, 16, 6
 844	add	20, 20, 16
 845	rotlwi	6, 17, 30
 846	xor	7, 17, 18
 847	rotlwi	8, 17, 19
 848	xor	6, 6, 8
 849	xor	8, 18, 19
 850	and	7, 7, 8
 851	rotlwi	8, 17, 10
 852	xor	6, 6, 8
 853	xor	7, 7, 18
 854	add	16, 16, 6
 855	add	16, 16, 7
 856	# Round 6
 857	mr	9, 25
 858	rotlwi	6, 20, 26
 859	xor	7, 21, 14
 860	rotlwi	8, 20, 21
 861	xor	6, 6, 8
 862	and	7, 7, 20
 863	rotlwi	8, 20, 7
 864	xor	6, 6, 8
 865	xor	7, 7, 14
 866	add	15, 15, 6
 867	add	15, 15, 7
 868	lwz	6, 24(30)
 869	add	15, 15, 9
 870	add	15, 15, 6
 871	add	19, 19, 15
 872	rotlwi	6, 16, 30
 873	xor	7, 16, 17
 874	rotlwi	8, 16, 19
 875	xor	6, 6, 8
 876	xor	8, 17, 18
 877	and	7, 7, 8
 878	rotlwi	8, 16, 10
 879	xor	6, 6, 8
 880	xor	7, 7, 17
 881	add	15, 15, 6
 882	add	15, 15, 7
 883	# Round 7
 884	evmergehi	9, 25, 25
 885	rotlwi	6, 19, 26
 886	xor	7, 20, 21
 887	rotlwi	8, 19, 21
 888	xor	6, 6, 8
 889	and	7, 7, 19
 890	rotlwi	8, 19, 7
 891	xor	6, 6, 8
 892	xor	7, 7, 21
 893	add	14, 14, 6
 894	add	14, 14, 7
 895	lwz	6, 28(30)
 896	add	14, 14, 9
 897	add	14, 14, 6
 898	add	18, 18, 14
 899	rotlwi	6, 15, 30
 900	xor	7, 15, 16
 901	rotlwi	8, 15, 19
 902	xor	6, 6, 8
 903	xor	8, 16, 17
 904	and	7, 7, 8
 905	rotlwi	8, 15, 10
 906	xor	6, 6, 8
 907	xor	7, 7, 16
 908	add	14, 14, 6
 909	add	14, 14, 7
 910	# Round 8
 911	mr	9, 26
 912	rotlwi	6, 18, 26
 913	xor	7, 19, 20
 914	rotlwi	8, 18, 21
 915	xor	6, 6, 8
 916	and	7, 7, 18
 917	rotlwi	8, 18, 7
 918	xor	6, 6, 8
 919	xor	7, 7, 20
 920	add	21, 21, 6
 921	add	21, 21, 7
 922	lwz	6, 32(30)
 923	add	21, 21, 9
 924	add	21, 21, 6
 925	add	17, 17, 21
 926	rotlwi	6, 14, 30
 927	xor	7, 14, 15
 928	rotlwi	8, 14, 19
 929	xor	6, 6, 8
 930	xor	8, 15, 16
 931	and	7, 7, 8
 932	rotlwi	8, 14, 10
 933	xor	6, 6, 8
 934	xor	7, 7, 15
 935	add	21, 21, 6
 936	add	21, 21, 7
 937	# Round 9
 938	evmergehi	9, 26, 26
 939	rotlwi	6, 17, 26
 940	xor	7, 18, 19
 941	rotlwi	8, 17, 21
 942	xor	6, 6, 8
 943	and	7, 7, 17
 944	rotlwi	8, 17, 7
 945	xor	6, 6, 8
 946	xor	7, 7, 19
 947	add	20, 20, 6
 948	add	20, 20, 7
 949	lwz	6, 36(30)
 950	add	20, 20, 9
 951	add	20, 20, 6
 952	add	16, 16, 20
 953	rotlwi	6, 21, 30
 954	xor	7, 21, 14
 955	rotlwi	8, 21, 19
 956	xor	6, 6, 8
 957	xor	8, 14, 15
 958	and	7, 7, 8
 959	rotlwi	8, 21, 10
 960	xor	6, 6, 8
 961	xor	7, 7, 14
 962	add	20, 20, 6
 963	add	20, 20, 7
 964	# Round 10
 965	mr	9, 27
 966	rotlwi	6, 16, 26
 967	xor	7, 17, 18
 968	rotlwi	8, 16, 21
 969	xor	6, 6, 8
 970	and	7, 7, 16
 971	rotlwi	8, 16, 7
 972	xor	6, 6, 8
 973	xor	7, 7, 18
 974	add	19, 19, 6
 975	add	19, 19, 7
 976	lwz	6, 40(30)
 977	add	19, 19, 9
 978	add	19, 19, 6
 979	add	15, 15, 19
 980	rotlwi	6, 20, 30
 981	xor	7, 20, 21
 982	rotlwi	8, 20, 19
 983	xor	6, 6, 8
 984	xor	8, 21, 14
 985	and	7, 7, 8
 986	rotlwi	8, 20, 10
 987	xor	6, 6, 8
 988	xor	7, 7, 21
 989	add	19, 19, 6
 990	add	19, 19, 7
 991	# Round 11
 992	evmergehi	9, 27, 27
 993	rotlwi	6, 15, 26
 994	xor	7, 16, 17
 995	rotlwi	8, 15, 21
 996	xor	6, 6, 8
 997	and	7, 7, 15
 998	rotlwi	8, 15, 7
 999	xor	6, 6, 8
1000	xor	7, 7, 17
1001	add	18, 18, 6
1002	add	18, 18, 7
1003	lwz	6, 44(30)
1004	add	18, 18, 9
1005	add	18, 18, 6
1006	add	14, 14, 18
1007	rotlwi	6, 19, 30
1008	xor	7, 19, 20
1009	rotlwi	8, 19, 19
1010	xor	6, 6, 8
1011	xor	8, 20, 21
1012	and	7, 7, 8
1013	rotlwi	8, 19, 10
1014	xor	6, 6, 8
1015	xor	7, 7, 20
1016	add	18, 18, 6
1017	add	18, 18, 7
1018	# Round 12
1019	mr	9, 28
1020	rotlwi	6, 14, 26
1021	xor	7, 15, 16
1022	rotlwi	8, 14, 21
1023	xor	6, 6, 8
1024	and	7, 7, 14
1025	rotlwi	8, 14, 7
1026	xor	6, 6, 8
1027	xor	7, 7, 16
1028	add	17, 17, 6
1029	add	17, 17, 7
1030	lwz	6, 48(30)
1031	add	17, 17, 9
1032	add	17, 17, 6
1033	add	21, 21, 17
1034	rotlwi	6, 18, 30
1035	xor	7, 18, 19
1036	rotlwi	8, 18, 19
1037	xor	6, 6, 8
1038	xor	8, 19, 20
1039	and	7, 7, 8
1040	rotlwi	8, 18, 10
1041	xor	6, 6, 8
1042	xor	7, 7, 19
1043	add	17, 17, 6
1044	add	17, 17, 7
1045	# Round 13
1046	evmergehi	9, 28, 28
1047	rotlwi	6, 21, 26
1048	xor	7, 14, 15
1049	rotlwi	8, 21, 21
1050	xor	6, 6, 8
1051	and	7, 7, 21
1052	rotlwi	8, 21, 7
1053	xor	6, 6, 8
1054	xor	7, 7, 15
1055	add	16, 16, 6
1056	add	16, 16, 7
1057	lwz	6, 52(30)
1058	add	16, 16, 9
1059	add	16, 16, 6
1060	add	20, 20, 16
1061	rotlwi	6, 17, 30
1062	xor	7, 17, 18
1063	rotlwi	8, 17, 19
1064	xor	6, 6, 8
1065	xor	8, 18, 19
1066	and	7, 7, 8
1067	rotlwi	8, 17, 10
1068	xor	6, 6, 8
1069	xor	7, 7, 18
1070	add	16, 16, 6
1071	add	16, 16, 7
1072	# Round 14
1073	mr	9, 29
1074	rotlwi	6, 20, 26
1075	xor	7, 21, 14
1076	rotlwi	8, 20, 21
1077	xor	6, 6, 8
1078	and	7, 7, 20
1079	rotlwi	8, 20, 7
1080	xor	6, 6, 8
1081	xor	7, 7, 14
1082	add	15, 15, 6
1083	add	15, 15, 7
1084	lwz	6, 56(30)
1085	add	15, 15, 9
1086	add	15, 15, 6
1087	add	19, 19, 15
1088	rotlwi	6, 16, 30
1089	xor	7, 16, 17
1090	rotlwi	8, 16, 19
1091	xor	6, 6, 8
1092	xor	8, 17, 18
1093	and	7, 7, 8
1094	rotlwi	8, 16, 10
1095	xor	6, 6, 8
1096	xor	7, 7, 17
1097	add	15, 15, 6
1098	add	15, 15, 7
1099	# Round 15
1100	evmergehi	9, 29, 29
1101	rotlwi	6, 19, 26
1102	xor	7, 20, 21
1103	rotlwi	8, 19, 21
1104	xor	6, 6, 8
1105	and	7, 7, 19
1106	rotlwi	8, 19, 7
1107	xor	6, 6, 8
1108	xor	7, 7, 21
1109	add	14, 14, 6
1110	add	14, 14, 7
1111	lwz	6, 60(30)
1112	add	14, 14, 9
1113	add	14, 14, 6
1114	add	18, 18, 14
1115	rotlwi	6, 15, 30
1116	xor	7, 15, 16
1117	rotlwi	8, 15, 19
1118	xor	6, 6, 8
1119	xor	8, 16, 17
1120	and	7, 7, 8
1121	rotlwi	8, 15, 10
1122	xor	6, 6, 8
1123	xor	7, 7, 16
1124	add	14, 14, 6
1125	add	14, 14, 7
1126	# Add in digest from start
1127	lwz	6, 0(3)
1128	lwz	7, 4(3)
1129	add	14, 14, 6
1130	add	15, 15, 7
1131	lwz	6, 8(3)
1132	lwz	7, 12(3)
1133	add	16, 16, 6
1134	add	17, 17, 7
1135	lwz	6, 16(3)
1136	lwz	7, 20(3)
1137	add	18, 18, 6
1138	add	19, 19, 7
1139	lwz	6, 24(3)
1140	lwz	7, 28(3)
1141	add	20, 20, 6
1142	add	21, 21, 7
1143	stw	14, 0(3)
1144	stw	15, 4(3)
1145	stw	16, 8(3)
1146	stw	17, 12(3)
1147	stw	18, 16(3)
1148	stw	19, 20(3)
1149	stw	20, 24(3)
1150	stw	21, 28(3)
1151	subi	30, 30, 0xc0
1152	mtctr	5
1153	addi	4, 4, 0x40
1154	subi	5, 5, 1
1155	bdnz	L_SHA256_transform_spe_len_begin
1156	lwz	0, 100(1)
1157	mtlr	0
1158	lwz	14, 0(1)
1159	lwz	15, 4(1)
1160	lwz	16, 8(1)
1161	lwz	17, 12(1)
1162	lwz	18, 16(1)
1163	lwz	19, 20(1)
1164	lwz	20, 24(1)
1165	lwz	21, 28(1)
1166	evldw	22, 32(1)
1167	evldw	23, 40(1)
1168	evldw	24, 48(1)
1169	evldw	25, 56(1)
1170	evldw	26, 64(1)
1171	evldw	27, 72(1)
1172	evldw	28, 80(1)
1173	evldw	29, 88(1)
1174	lwz	30, 96(1)
1175	addi	1, 1, 0x68
1176	blr
1177	.size	Transform_Sha256_Len,.-Transform_Sha256_Len
1178#endif /* WOLFSSL_PPC32_ASM_SPE */
1179#ifndef WOLFSSL_PPC32_ASM_SPE
1180#ifndef __APPLE__
1181	.text
1182	.type	L_SHA256_transform_len_k, %object
1183	.size	L_SHA256_transform_len_k, 256
1184#else
1185	.section	__DATA,__data
1186#endif /* __APPLE__ */
1187	# 8-byte aligned, 64-bit aligned
1188#ifndef __APPLE__
1189	.align	3
1190#else
1191	.p2align	3
1192#endif /* __APPLE__ */
1193L_SHA256_transform_len_k:
1194	.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1195	.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1196	.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1197	.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1198	.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1199	.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1200	.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1201	.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1202	.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1203	.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1204	.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1205	.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1206	.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1207	.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1208	.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1209	.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1210#ifndef __PIC__
1211	.section	".text"
1212	.align	4
1213	.globl	Transform_Sha256_Len
1214	.type	Transform_Sha256_Len, @function
1215Transform_Sha256_Len:
1216	stwu	1, -76(1)
1217	mflr	0
1218	stw	0, 72(1)
1219	stw	14, 0(1)
1220	stw	15, 4(1)
1221	stw	16, 8(1)
1222	stw	17, 12(1)
1223	stw	18, 16(1)
1224	stw	19, 20(1)
1225	stw	20, 24(1)
1226	stw	21, 28(1)
1227	stw	22, 32(1)
1228	stw	23, 36(1)
1229	stw	24, 40(1)
1230	stw	25, 44(1)
1231	stw	26, 48(1)
1232	stw	27, 52(1)
1233	stw	28, 56(1)
1234	stw	29, 60(1)
1235	stw	30, 64(1)
1236	stw	31, 68(1)
1237	srwi	5, 5, 6
1238	lis	6, L_SHA256_transform_len_k@ha
1239	la	6, L_SHA256_transform_len_k@l(6)
1240	# Copy digest to add in at end
1241	lwz	7, 0(3)
1242	lwz	8, 4(3)
1243	lwz	9, 8(3)
1244	lwz	10, 12(3)
1245	lwz	11, 16(3)
1246	lwz	12, 20(3)
1247	lwz	14, 24(3)
1248	lwz	15, 28(3)
1249#ifndef WOLFSSL_PPC32_ASM_SMALL
1250	mtctr	5
1251	# Start of loop processing a block
1252L_SHA256_transform_len_begin:
1253	# Load W - 64 bytes
1254	lwz	16, 0(4)
1255	lwz	17, 4(4)
1256	lwz	18, 8(4)
1257	lwz	19, 12(4)
1258	lwz	20, 16(4)
1259	lwz	21, 20(4)
1260	lwz	22, 24(4)
1261	lwz	23, 28(4)
1262	lwz	24, 32(4)
1263	lwz	25, 36(4)
1264	lwz	26, 40(4)
1265	lwz	27, 44(4)
1266	lwz	28, 48(4)
1267	lwz	29, 52(4)
1268	lwz	30, 56(4)
1269	lwz	31, 60(4)
1270	# Start of 16 rounds
1271	# Round 0
1272	rotlwi	0, 11, 26
1273	rotlwi	5, 11, 21
1274	xor	0, 0, 5
1275	rotlwi	5, 11, 7
1276	xor	0, 0, 5
1277	add	15, 15, 0
1278	xor	0, 12, 14
1279	and	0, 0, 11
1280	xor	0, 0, 14
1281	add	15, 15, 0
1282	lwz	0, 0(6)
1283	add	15, 15, 16
1284	add	15, 15, 0
1285	add	10, 10, 15
1286	rotlwi	0, 7, 30
1287	rotlwi	5, 7, 19
1288	xor	0, 0, 5
1289	rotlwi	5, 7, 10
1290	xor	0, 0, 5
1291	add	15, 15, 0
1292	xor	5, 7, 8
1293	xor	0, 8, 9
1294	and	0, 0, 5
1295	xor	0, 0, 8
1296	add	15, 15, 0
1297	# Calc new W[0]
1298	rotlwi	0, 17, 25
1299	rotlwi	5, 17, 14
1300	xor	0, 0, 5
1301	srwi	5, 17, 3
1302	xor	0, 0, 5
1303	add	16, 16, 0
1304	rotlwi	0, 30, 15
1305	rotlwi	5, 30, 13
1306	xor	0, 0, 5
1307	srwi	5, 30, 10
1308	xor	0, 0, 5
1309	add	16, 16, 0
1310	add	16, 16, 25
1311	# Round 1
1312	rotlwi	0, 10, 26
1313	rotlwi	5, 10, 21
1314	xor	0, 0, 5
1315	rotlwi	5, 10, 7
1316	xor	0, 0, 5
1317	add	14, 14, 0
1318	xor	0, 11, 12
1319	and	0, 0, 10
1320	xor	0, 0, 12
1321	add	14, 14, 0
1322	lwz	0, 4(6)
1323	add	14, 14, 17
1324	add	14, 14, 0
1325	add	9, 9, 14
1326	rotlwi	0, 15, 30
1327	rotlwi	5, 15, 19
1328	xor	0, 0, 5
1329	rotlwi	5, 15, 10
1330	xor	0, 0, 5
1331	add	14, 14, 0
1332	xor	5, 15, 7
1333	xor	0, 7, 8
1334	and	0, 0, 5
1335	xor	0, 0, 7
1336	add	14, 14, 0
1337	# Calc new W[1]
1338	rotlwi	0, 18, 25
1339	rotlwi	5, 18, 14
1340	xor	0, 0, 5
1341	srwi	5, 18, 3
1342	xor	0, 0, 5
1343	add	17, 17, 0
1344	rotlwi	0, 31, 15
1345	rotlwi	5, 31, 13
1346	xor	0, 0, 5
1347	srwi	5, 31, 10
1348	xor	0, 0, 5
1349	add	17, 17, 0
1350	add	17, 17, 26
1351	# Round 2
1352	rotlwi	0, 9, 26
1353	rotlwi	5, 9, 21
1354	xor	0, 0, 5
1355	rotlwi	5, 9, 7
1356	xor	0, 0, 5
1357	add	12, 12, 0
1358	xor	0, 10, 11
1359	and	0, 0, 9
1360	xor	0, 0, 11
1361	add	12, 12, 0
1362	lwz	0, 8(6)
1363	add	12, 12, 18
1364	add	12, 12, 0
1365	add	8, 8, 12
1366	rotlwi	0, 14, 30
1367	rotlwi	5, 14, 19
1368	xor	0, 0, 5
1369	rotlwi	5, 14, 10
1370	xor	0, 0, 5
1371	add	12, 12, 0
1372	xor	5, 14, 15
1373	xor	0, 15, 7
1374	and	0, 0, 5
1375	xor	0, 0, 15
1376	add	12, 12, 0
1377	# Calc new W[2]
1378	rotlwi	0, 19, 25
1379	rotlwi	5, 19, 14
1380	xor	0, 0, 5
1381	srwi	5, 19, 3
1382	xor	0, 0, 5
1383	add	18, 18, 0
1384	rotlwi	0, 16, 15
1385	rotlwi	5, 16, 13
1386	xor	0, 0, 5
1387	srwi	5, 16, 10
1388	xor	0, 0, 5
1389	add	18, 18, 0
1390	add	18, 18, 27
1391	# Round 3
1392	rotlwi	0, 8, 26
1393	rotlwi	5, 8, 21
1394	xor	0, 0, 5
1395	rotlwi	5, 8, 7
1396	xor	0, 0, 5
1397	add	11, 11, 0
1398	xor	0, 9, 10
1399	and	0, 0, 8
1400	xor	0, 0, 10
1401	add	11, 11, 0
1402	lwz	0, 12(6)
1403	add	11, 11, 19
1404	add	11, 11, 0
1405	add	7, 7, 11
1406	rotlwi	0, 12, 30
1407	rotlwi	5, 12, 19
1408	xor	0, 0, 5
1409	rotlwi	5, 12, 10
1410	xor	0, 0, 5
1411	add	11, 11, 0
1412	xor	5, 12, 14
1413	xor	0, 14, 15
1414	and	0, 0, 5
1415	xor	0, 0, 14
1416	add	11, 11, 0
1417	# Calc new W[3]
1418	rotlwi	0, 20, 25
1419	rotlwi	5, 20, 14
1420	xor	0, 0, 5
1421	srwi	5, 20, 3
1422	xor	0, 0, 5
1423	add	19, 19, 0
1424	rotlwi	0, 17, 15
1425	rotlwi	5, 17, 13
1426	xor	0, 0, 5
1427	srwi	5, 17, 10
1428	xor	0, 0, 5
1429	add	19, 19, 0
1430	add	19, 19, 28
1431	# Round 4
1432	rotlwi	0, 7, 26
1433	rotlwi	5, 7, 21
1434	xor	0, 0, 5
1435	rotlwi	5, 7, 7
1436	xor	0, 0, 5
1437	add	10, 10, 0
1438	xor	0, 8, 9
1439	and	0, 0, 7
1440	xor	0, 0, 9
1441	add	10, 10, 0
1442	lwz	0, 16(6)
1443	add	10, 10, 20
1444	add	10, 10, 0
1445	add	15, 15, 10
1446	rotlwi	0, 11, 30
1447	rotlwi	5, 11, 19
1448	xor	0, 0, 5
1449	rotlwi	5, 11, 10
1450	xor	0, 0, 5
1451	add	10, 10, 0
1452	xor	5, 11, 12
1453	xor	0, 12, 14
1454	and	0, 0, 5
1455	xor	0, 0, 12
1456	add	10, 10, 0
1457	# Calc new W[4]
1458	rotlwi	0, 21, 25
1459	rotlwi	5, 21, 14
1460	xor	0, 0, 5
1461	srwi	5, 21, 3
1462	xor	0, 0, 5
1463	add	20, 20, 0
1464	rotlwi	0, 18, 15
1465	rotlwi	5, 18, 13
1466	xor	0, 0, 5
1467	srwi	5, 18, 10
1468	xor	0, 0, 5
1469	add	20, 20, 0
1470	add	20, 20, 29
1471	# Round 5
1472	rotlwi	0, 15, 26
1473	rotlwi	5, 15, 21
1474	xor	0, 0, 5
1475	rotlwi	5, 15, 7
1476	xor	0, 0, 5
1477	add	9, 9, 0
1478	xor	0, 7, 8
1479	and	0, 0, 15
1480	xor	0, 0, 8
1481	add	9, 9, 0
1482	lwz	0, 20(6)
1483	add	9, 9, 21
1484	add	9, 9, 0
1485	add	14, 14, 9
1486	rotlwi	0, 10, 30
1487	rotlwi	5, 10, 19
1488	xor	0, 0, 5
1489	rotlwi	5, 10, 10
1490	xor	0, 0, 5
1491	add	9, 9, 0
1492	xor	5, 10, 11
1493	xor	0, 11, 12
1494	and	0, 0, 5
1495	xor	0, 0, 11
1496	add	9, 9, 0
1497	# Calc new W[5]
1498	rotlwi	0, 22, 25
1499	rotlwi	5, 22, 14
1500	xor	0, 0, 5
1501	srwi	5, 22, 3
1502	xor	0, 0, 5
1503	add	21, 21, 0
1504	rotlwi	0, 19, 15
1505	rotlwi	5, 19, 13
1506	xor	0, 0, 5
1507	srwi	5, 19, 10
1508	xor	0, 0, 5
1509	add	21, 21, 0
1510	add	21, 21, 30
1511	# Round 6
1512	rotlwi	0, 14, 26
1513	rotlwi	5, 14, 21
1514	xor	0, 0, 5
1515	rotlwi	5, 14, 7
1516	xor	0, 0, 5
1517	add	8, 8, 0
1518	xor	0, 15, 7
1519	and	0, 0, 14
1520	xor	0, 0, 7
1521	add	8, 8, 0
1522	lwz	0, 24(6)
1523	add	8, 8, 22
1524	add	8, 8, 0
1525	add	12, 12, 8
1526	rotlwi	0, 9, 30
1527	rotlwi	5, 9, 19
1528	xor	0, 0, 5
1529	rotlwi	5, 9, 10
1530	xor	0, 0, 5
1531	add	8, 8, 0
1532	xor	5, 9, 10
1533	xor	0, 10, 11
1534	and	0, 0, 5
1535	xor	0, 0, 10
1536	add	8, 8, 0
1537	# Calc new W[6]
1538	rotlwi	0, 23, 25
1539	rotlwi	5, 23, 14
1540	xor	0, 0, 5
1541	srwi	5, 23, 3
1542	xor	0, 0, 5
1543	add	22, 22, 0
1544	rotlwi	0, 20, 15
1545	rotlwi	5, 20, 13
1546	xor	0, 0, 5
1547	srwi	5, 20, 10
1548	xor	0, 0, 5
1549	add	22, 22, 0
1550	add	22, 22, 31
1551	# Round 7
1552	rotlwi	0, 12, 26
1553	rotlwi	5, 12, 21
1554	xor	0, 0, 5
1555	rotlwi	5, 12, 7
1556	xor	0, 0, 5
1557	add	7, 7, 0
1558	xor	0, 14, 15
1559	and	0, 0, 12
1560	xor	0, 0, 15
1561	add	7, 7, 0
1562	lwz	0, 28(6)
1563	add	7, 7, 23
1564	add	7, 7, 0
1565	add	11, 11, 7
1566	rotlwi	0, 8, 30
1567	rotlwi	5, 8, 19
1568	xor	0, 0, 5
1569	rotlwi	5, 8, 10
1570	xor	0, 0, 5
1571	add	7, 7, 0
1572	xor	5, 8, 9
1573	xor	0, 9, 10
1574	and	0, 0, 5
1575	xor	0, 0, 9
1576	add	7, 7, 0
1577	# Calc new W[7]
1578	rotlwi	0, 24, 25
1579	rotlwi	5, 24, 14
1580	xor	0, 0, 5
1581	srwi	5, 24, 3
1582	xor	0, 0, 5
1583	add	23, 23, 0
1584	rotlwi	0, 21, 15
1585	rotlwi	5, 21, 13
1586	xor	0, 0, 5
1587	srwi	5, 21, 10
1588	xor	0, 0, 5
1589	add	23, 23, 0
1590	add	23, 23, 16
1591	# Round 8
1592	rotlwi	0, 11, 26
1593	rotlwi	5, 11, 21
1594	xor	0, 0, 5
1595	rotlwi	5, 11, 7
1596	xor	0, 0, 5
1597	add	15, 15, 0
1598	xor	0, 12, 14
1599	and	0, 0, 11
1600	xor	0, 0, 14
1601	add	15, 15, 0
1602	lwz	0, 32(6)
1603	add	15, 15, 24
1604	add	15, 15, 0
1605	add	10, 10, 15
1606	rotlwi	0, 7, 30
1607	rotlwi	5, 7, 19
1608	xor	0, 0, 5
1609	rotlwi	5, 7, 10
1610	xor	0, 0, 5
1611	add	15, 15, 0
1612	xor	5, 7, 8
1613	xor	0, 8, 9
1614	and	0, 0, 5
1615	xor	0, 0, 8
1616	add	15, 15, 0
1617	# Calc new W[8]
1618	rotlwi	0, 25, 25
1619	rotlwi	5, 25, 14
1620	xor	0, 0, 5
1621	srwi	5, 25, 3
1622	xor	0, 0, 5
1623	add	24, 24, 0
1624	rotlwi	0, 22, 15
1625	rotlwi	5, 22, 13
1626	xor	0, 0, 5
1627	srwi	5, 22, 10
1628	xor	0, 0, 5
1629	add	24, 24, 0
1630	add	24, 24, 17
1631	# Round 9
1632	rotlwi	0, 10, 26
1633	rotlwi	5, 10, 21
1634	xor	0, 0, 5
1635	rotlwi	5, 10, 7
1636	xor	0, 0, 5
1637	add	14, 14, 0
1638	xor	0, 11, 12
1639	and	0, 0, 10
1640	xor	0, 0, 12
1641	add	14, 14, 0
1642	lwz	0, 36(6)
1643	add	14, 14, 25
1644	add	14, 14, 0
1645	add	9, 9, 14
1646	rotlwi	0, 15, 30
1647	rotlwi	5, 15, 19
1648	xor	0, 0, 5
1649	rotlwi	5, 15, 10
1650	xor	0, 0, 5
1651	add	14, 14, 0
1652	xor	5, 15, 7
1653	xor	0, 7, 8
1654	and	0, 0, 5
1655	xor	0, 0, 7
1656	add	14, 14, 0
1657	# Calc new W[9]
1658	rotlwi	0, 26, 25
1659	rotlwi	5, 26, 14
1660	xor	0, 0, 5
1661	srwi	5, 26, 3
1662	xor	0, 0, 5
1663	add	25, 25, 0
1664	rotlwi	0, 23, 15
1665	rotlwi	5, 23, 13
1666	xor	0, 0, 5
1667	srwi	5, 23, 10
1668	xor	0, 0, 5
1669	add	25, 25, 0
1670	add	25, 25, 18
1671	# Round 10
1672	rotlwi	0, 9, 26
1673	rotlwi	5, 9, 21
1674	xor	0, 0, 5
1675	rotlwi	5, 9, 7
1676	xor	0, 0, 5
1677	add	12, 12, 0
1678	xor	0, 10, 11
1679	and	0, 0, 9
1680	xor	0, 0, 11
1681	add	12, 12, 0
1682	lwz	0, 40(6)
1683	add	12, 12, 26
1684	add	12, 12, 0
1685	add	8, 8, 12
1686	rotlwi	0, 14, 30
1687	rotlwi	5, 14, 19
1688	xor	0, 0, 5
1689	rotlwi	5, 14, 10
1690	xor	0, 0, 5
1691	add	12, 12, 0
1692	xor	5, 14, 15
1693	xor	0, 15, 7
1694	and	0, 0, 5
1695	xor	0, 0, 15
1696	add	12, 12, 0
1697	# Calc new W[10]
1698	rotlwi	0, 27, 25
1699	rotlwi	5, 27, 14
1700	xor	0, 0, 5
1701	srwi	5, 27, 3
1702	xor	0, 0, 5
1703	add	26, 26, 0
1704	rotlwi	0, 24, 15
1705	rotlwi	5, 24, 13
1706	xor	0, 0, 5
1707	srwi	5, 24, 10
1708	xor	0, 0, 5
1709	add	26, 26, 0
1710	add	26, 26, 19
1711	# Round 11
1712	rotlwi	0, 8, 26
1713	rotlwi	5, 8, 21
1714	xor	0, 0, 5
1715	rotlwi	5, 8, 7
1716	xor	0, 0, 5
1717	add	11, 11, 0
1718	xor	0, 9, 10
1719	and	0, 0, 8
1720	xor	0, 0, 10
1721	add	11, 11, 0
1722	lwz	0, 44(6)
1723	add	11, 11, 27
1724	add	11, 11, 0
1725	add	7, 7, 11
1726	rotlwi	0, 12, 30
1727	rotlwi	5, 12, 19
1728	xor	0, 0, 5
1729	rotlwi	5, 12, 10
1730	xor	0, 0, 5
1731	add	11, 11, 0
1732	xor	5, 12, 14
1733	xor	0, 14, 15
1734	and	0, 0, 5
1735	xor	0, 0, 14
1736	add	11, 11, 0
1737	# Calc new W[11]
1738	rotlwi	0, 28, 25
1739	rotlwi	5, 28, 14
1740	xor	0, 0, 5
1741	srwi	5, 28, 3
1742	xor	0, 0, 5
1743	add	27, 27, 0
1744	rotlwi	0, 25, 15
1745	rotlwi	5, 25, 13
1746	xor	0, 0, 5
1747	srwi	5, 25, 10
1748	xor	0, 0, 5
1749	add	27, 27, 0
1750	add	27, 27, 20
1751	# Round 12
1752	rotlwi	0, 7, 26
1753	rotlwi	5, 7, 21
1754	xor	0, 0, 5
1755	rotlwi	5, 7, 7
1756	xor	0, 0, 5
1757	add	10, 10, 0
1758	xor	0, 8, 9
1759	and	0, 0, 7
1760	xor	0, 0, 9
1761	add	10, 10, 0
1762	lwz	0, 48(6)
1763	add	10, 10, 28
1764	add	10, 10, 0
1765	add	15, 15, 10
1766	rotlwi	0, 11, 30
1767	rotlwi	5, 11, 19
1768	xor	0, 0, 5
1769	rotlwi	5, 11, 10
1770	xor	0, 0, 5
1771	add	10, 10, 0
1772	xor	5, 11, 12
1773	xor	0, 12, 14
1774	and	0, 0, 5
1775	xor	0, 0, 12
1776	add	10, 10, 0
1777	# Calc new W[12]
1778	rotlwi	0, 29, 25
1779	rotlwi	5, 29, 14
1780	xor	0, 0, 5
1781	srwi	5, 29, 3
1782	xor	0, 0, 5
1783	add	28, 28, 0
1784	rotlwi	0, 26, 15
1785	rotlwi	5, 26, 13
1786	xor	0, 0, 5
1787	srwi	5, 26, 10
1788	xor	0, 0, 5
1789	add	28, 28, 0
1790	add	28, 28, 21
1791	# Round 13
1792	rotlwi	0, 15, 26
1793	rotlwi	5, 15, 21
1794	xor	0, 0, 5
1795	rotlwi	5, 15, 7
1796	xor	0, 0, 5
1797	add	9, 9, 0
1798	xor	0, 7, 8
1799	and	0, 0, 15
1800	xor	0, 0, 8
1801	add	9, 9, 0
1802	lwz	0, 52(6)
1803	add	9, 9, 29
1804	add	9, 9, 0
1805	add	14, 14, 9
1806	rotlwi	0, 10, 30
1807	rotlwi	5, 10, 19
1808	xor	0, 0, 5
1809	rotlwi	5, 10, 10
1810	xor	0, 0, 5
1811	add	9, 9, 0
1812	xor	5, 10, 11
1813	xor	0, 11, 12
1814	and	0, 0, 5
1815	xor	0, 0, 11
1816	add	9, 9, 0
1817	# Calc new W[13]
1818	rotlwi	0, 30, 25
1819	rotlwi	5, 30, 14
1820	xor	0, 0, 5
1821	srwi	5, 30, 3
1822	xor	0, 0, 5
1823	add	29, 29, 0
1824	rotlwi	0, 27, 15
1825	rotlwi	5, 27, 13
1826	xor	0, 0, 5
1827	srwi	5, 27, 10
1828	xor	0, 0, 5
1829	add	29, 29, 0
1830	add	29, 29, 22
1831	# Round 14
1832	rotlwi	0, 14, 26
1833	rotlwi	5, 14, 21
1834	xor	0, 0, 5
1835	rotlwi	5, 14, 7
1836	xor	0, 0, 5
1837	add	8, 8, 0
1838	xor	0, 15, 7
1839	and	0, 0, 14
1840	xor	0, 0, 7
1841	add	8, 8, 0
1842	lwz	0, 56(6)
1843	add	8, 8, 30
1844	add	8, 8, 0
1845	add	12, 12, 8
1846	rotlwi	0, 9, 30
1847	rotlwi	5, 9, 19
1848	xor	0, 0, 5
1849	rotlwi	5, 9, 10
1850	xor	0, 0, 5
1851	add	8, 8, 0
1852	xor	5, 9, 10
1853	xor	0, 10, 11
1854	and	0, 0, 5
1855	xor	0, 0, 10
1856	add	8, 8, 0
1857	# Calc new W[14]
1858	rotlwi	0, 31, 25
1859	rotlwi	5, 31, 14
1860	xor	0, 0, 5
1861	srwi	5, 31, 3
1862	xor	0, 0, 5
1863	add	30, 30, 0
1864	rotlwi	0, 28, 15
1865	rotlwi	5, 28, 13
1866	xor	0, 0, 5
1867	srwi	5, 28, 10
1868	xor	0, 0, 5
1869	add	30, 30, 0
1870	add	30, 30, 23
1871	# Round 15
1872	rotlwi	0, 12, 26
1873	rotlwi	5, 12, 21
1874	xor	0, 0, 5
1875	rotlwi	5, 12, 7
1876	xor	0, 0, 5
1877	add	7, 7, 0
1878	xor	0, 14, 15
1879	and	0, 0, 12
1880	xor	0, 0, 15
1881	add	7, 7, 0
1882	lwz	0, 60(6)
1883	add	7, 7, 31
1884	add	7, 7, 0
1885	add	11, 11, 7
1886	rotlwi	0, 8, 30
1887	rotlwi	5, 8, 19
1888	xor	0, 0, 5
1889	rotlwi	5, 8, 10
1890	xor	0, 0, 5
1891	add	7, 7, 0
1892	xor	5, 8, 9
1893	xor	0, 9, 10
1894	and	0, 0, 5
1895	xor	0, 0, 9
1896	add	7, 7, 0
1897	# Calc new W[15]
1898	rotlwi	0, 16, 25
1899	rotlwi	5, 16, 14
1900	xor	0, 0, 5
1901	srwi	5, 16, 3
1902	xor	0, 0, 5
1903	add	31, 31, 0
1904	rotlwi	0, 29, 15
1905	rotlwi	5, 29, 13
1906	xor	0, 0, 5
1907	srwi	5, 29, 10
1908	xor	0, 0, 5
1909	add	31, 31, 0
1910	add	31, 31, 24
1911	addi	6, 6, 0x40
1912	# Round 0
1913	rotlwi	0, 11, 26
1914	rotlwi	5, 11, 21
1915	xor	0, 0, 5
1916	rotlwi	5, 11, 7
1917	xor	0, 0, 5
1918	add	15, 15, 0
1919	xor	0, 12, 14
1920	and	0, 0, 11
1921	xor	0, 0, 14
1922	add	15, 15, 0
1923	lwz	0, 0(6)
1924	add	15, 15, 16
1925	add	15, 15, 0
1926	add	10, 10, 15
1927	rotlwi	0, 7, 30
1928	rotlwi	5, 7, 19
1929	xor	0, 0, 5
1930	rotlwi	5, 7, 10
1931	xor	0, 0, 5
1932	add	15, 15, 0
1933	xor	5, 7, 8
1934	xor	0, 8, 9
1935	and	0, 0, 5
1936	xor	0, 0, 8
1937	add	15, 15, 0
1938	# Calc new W[0]
1939	rotlwi	0, 17, 25
1940	rotlwi	5, 17, 14
1941	xor	0, 0, 5
1942	srwi	5, 17, 3
1943	xor	0, 0, 5
1944	add	16, 16, 0
1945	rotlwi	0, 30, 15
1946	rotlwi	5, 30, 13
1947	xor	0, 0, 5
1948	srwi	5, 30, 10
1949	xor	0, 0, 5
1950	add	16, 16, 0
1951	add	16, 16, 25
1952	# Round 1
1953	rotlwi	0, 10, 26
1954	rotlwi	5, 10, 21
1955	xor	0, 0, 5
1956	rotlwi	5, 10, 7
1957	xor	0, 0, 5
1958	add	14, 14, 0
1959	xor	0, 11, 12
1960	and	0, 0, 10
1961	xor	0, 0, 12
1962	add	14, 14, 0
1963	lwz	0, 4(6)
1964	add	14, 14, 17
1965	add	14, 14, 0
1966	add	9, 9, 14
1967	rotlwi	0, 15, 30
1968	rotlwi	5, 15, 19
1969	xor	0, 0, 5
1970	rotlwi	5, 15, 10
1971	xor	0, 0, 5
1972	add	14, 14, 0
1973	xor	5, 15, 7
1974	xor	0, 7, 8
1975	and	0, 0, 5
1976	xor	0, 0, 7
1977	add	14, 14, 0
1978	# Calc new W[1]
1979	rotlwi	0, 18, 25
1980	rotlwi	5, 18, 14
1981	xor	0, 0, 5
1982	srwi	5, 18, 3
1983	xor	0, 0, 5
1984	add	17, 17, 0
1985	rotlwi	0, 31, 15
1986	rotlwi	5, 31, 13
1987	xor	0, 0, 5
1988	srwi	5, 31, 10
1989	xor	0, 0, 5
1990	add	17, 17, 0
1991	add	17, 17, 26
1992	# Round 2
1993	rotlwi	0, 9, 26
1994	rotlwi	5, 9, 21
1995	xor	0, 0, 5
1996	rotlwi	5, 9, 7
1997	xor	0, 0, 5
1998	add	12, 12, 0
1999	xor	0, 10, 11
2000	and	0, 0, 9
2001	xor	0, 0, 11
2002	add	12, 12, 0
2003	lwz	0, 8(6)
2004	add	12, 12, 18
2005	add	12, 12, 0
2006	add	8, 8, 12
2007	rotlwi	0, 14, 30
2008	rotlwi	5, 14, 19
2009	xor	0, 0, 5
2010	rotlwi	5, 14, 10
2011	xor	0, 0, 5
2012	add	12, 12, 0
2013	xor	5, 14, 15
2014	xor	0, 15, 7
2015	and	0, 0, 5
2016	xor	0, 0, 15
2017	add	12, 12, 0
2018	# Calc new W[2]
2019	rotlwi	0, 19, 25
2020	rotlwi	5, 19, 14
2021	xor	0, 0, 5
2022	srwi	5, 19, 3
2023	xor	0, 0, 5
2024	add	18, 18, 0
2025	rotlwi	0, 16, 15
2026	rotlwi	5, 16, 13
2027	xor	0, 0, 5
2028	srwi	5, 16, 10
2029	xor	0, 0, 5
2030	add	18, 18, 0
2031	add	18, 18, 27
2032	# Round 3
2033	rotlwi	0, 8, 26
2034	rotlwi	5, 8, 21
2035	xor	0, 0, 5
2036	rotlwi	5, 8, 7
2037	xor	0, 0, 5
2038	add	11, 11, 0
2039	xor	0, 9, 10
2040	and	0, 0, 8
2041	xor	0, 0, 10
2042	add	11, 11, 0
2043	lwz	0, 12(6)
2044	add	11, 11, 19
2045	add	11, 11, 0
2046	add	7, 7, 11
2047	rotlwi	0, 12, 30
2048	rotlwi	5, 12, 19
2049	xor	0, 0, 5
2050	rotlwi	5, 12, 10
2051	xor	0, 0, 5
2052	add	11, 11, 0
2053	xor	5, 12, 14
2054	xor	0, 14, 15
2055	and	0, 0, 5
2056	xor	0, 0, 14
2057	add	11, 11, 0
2058	# Calc new W[3]
2059	rotlwi	0, 20, 25
2060	rotlwi	5, 20, 14
2061	xor	0, 0, 5
2062	srwi	5, 20, 3
2063	xor	0, 0, 5
2064	add	19, 19, 0
2065	rotlwi	0, 17, 15
2066	rotlwi	5, 17, 13
2067	xor	0, 0, 5
2068	srwi	5, 17, 10
2069	xor	0, 0, 5
2070	add	19, 19, 0
2071	add	19, 19, 28
2072	# Round 4
2073	rotlwi	0, 7, 26
2074	rotlwi	5, 7, 21
2075	xor	0, 0, 5
2076	rotlwi	5, 7, 7
2077	xor	0, 0, 5
2078	add	10, 10, 0
2079	xor	0, 8, 9
2080	and	0, 0, 7
2081	xor	0, 0, 9
2082	add	10, 10, 0
2083	lwz	0, 16(6)
2084	add	10, 10, 20
2085	add	10, 10, 0
2086	add	15, 15, 10
2087	rotlwi	0, 11, 30
2088	rotlwi	5, 11, 19
2089	xor	0, 0, 5
2090	rotlwi	5, 11, 10
2091	xor	0, 0, 5
2092	add	10, 10, 0
2093	xor	5, 11, 12
2094	xor	0, 12, 14
2095	and	0, 0, 5
2096	xor	0, 0, 12
2097	add	10, 10, 0
2098	# Calc new W[4]
2099	rotlwi	0, 21, 25
2100	rotlwi	5, 21, 14
2101	xor	0, 0, 5
2102	srwi	5, 21, 3
2103	xor	0, 0, 5
2104	add	20, 20, 0
2105	rotlwi	0, 18, 15
2106	rotlwi	5, 18, 13
2107	xor	0, 0, 5
2108	srwi	5, 18, 10
2109	xor	0, 0, 5
2110	add	20, 20, 0
2111	add	20, 20, 29
2112	# Round 5
2113	rotlwi	0, 15, 26
2114	rotlwi	5, 15, 21
2115	xor	0, 0, 5
2116	rotlwi	5, 15, 7
2117	xor	0, 0, 5
2118	add	9, 9, 0
2119	xor	0, 7, 8
2120	and	0, 0, 15
2121	xor	0, 0, 8
2122	add	9, 9, 0
2123	lwz	0, 20(6)
2124	add	9, 9, 21
2125	add	9, 9, 0
2126	add	14, 14, 9
2127	rotlwi	0, 10, 30
2128	rotlwi	5, 10, 19
2129	xor	0, 0, 5
2130	rotlwi	5, 10, 10
2131	xor	0, 0, 5
2132	add	9, 9, 0
2133	xor	5, 10, 11
2134	xor	0, 11, 12
2135	and	0, 0, 5
2136	xor	0, 0, 11
2137	add	9, 9, 0
2138	# Calc new W[5]
2139	rotlwi	0, 22, 25
2140	rotlwi	5, 22, 14
2141	xor	0, 0, 5
2142	srwi	5, 22, 3
2143	xor	0, 0, 5
2144	add	21, 21, 0
2145	rotlwi	0, 19, 15
2146	rotlwi	5, 19, 13
2147	xor	0, 0, 5
2148	srwi	5, 19, 10
2149	xor	0, 0, 5
2150	add	21, 21, 0
2151	add	21, 21, 30
2152	# Round 6
2153	rotlwi	0, 14, 26
2154	rotlwi	5, 14, 21
2155	xor	0, 0, 5
2156	rotlwi	5, 14, 7
2157	xor	0, 0, 5
2158	add	8, 8, 0
2159	xor	0, 15, 7
2160	and	0, 0, 14
2161	xor	0, 0, 7
2162	add	8, 8, 0
2163	lwz	0, 24(6)
2164	add	8, 8, 22
2165	add	8, 8, 0
2166	add	12, 12, 8
2167	rotlwi	0, 9, 30
2168	rotlwi	5, 9, 19
2169	xor	0, 0, 5
2170	rotlwi	5, 9, 10
2171	xor	0, 0, 5
2172	add	8, 8, 0
2173	xor	5, 9, 10
2174	xor	0, 10, 11
2175	and	0, 0, 5
2176	xor	0, 0, 10
2177	add	8, 8, 0
2178	# Calc new W[6]
2179	rotlwi	0, 23, 25
2180	rotlwi	5, 23, 14
2181	xor	0, 0, 5
2182	srwi	5, 23, 3
2183	xor	0, 0, 5
2184	add	22, 22, 0
2185	rotlwi	0, 20, 15
2186	rotlwi	5, 20, 13
2187	xor	0, 0, 5
2188	srwi	5, 20, 10
2189	xor	0, 0, 5
2190	add	22, 22, 0
2191	add	22, 22, 31
2192	# Round 7
2193	rotlwi	0, 12, 26
2194	rotlwi	5, 12, 21
2195	xor	0, 0, 5
2196	rotlwi	5, 12, 7
2197	xor	0, 0, 5
2198	add	7, 7, 0
2199	xor	0, 14, 15
2200	and	0, 0, 12
2201	xor	0, 0, 15
2202	add	7, 7, 0
2203	lwz	0, 28(6)
2204	add	7, 7, 23
2205	add	7, 7, 0
2206	add	11, 11, 7
2207	rotlwi	0, 8, 30
2208	rotlwi	5, 8, 19
2209	xor	0, 0, 5
2210	rotlwi	5, 8, 10
2211	xor	0, 0, 5
2212	add	7, 7, 0
2213	xor	5, 8, 9
2214	xor	0, 9, 10
2215	and	0, 0, 5
2216	xor	0, 0, 9
2217	add	7, 7, 0
2218	# Calc new W[7]
2219	rotlwi	0, 24, 25
2220	rotlwi	5, 24, 14
2221	xor	0, 0, 5
2222	srwi	5, 24, 3
2223	xor	0, 0, 5
2224	add	23, 23, 0
2225	rotlwi	0, 21, 15
2226	rotlwi	5, 21, 13
2227	xor	0, 0, 5
2228	srwi	5, 21, 10
2229	xor	0, 0, 5
2230	add	23, 23, 0
2231	add	23, 23, 16
2232	# Round 8
2233	rotlwi	0, 11, 26
2234	rotlwi	5, 11, 21
2235	xor	0, 0, 5
2236	rotlwi	5, 11, 7
2237	xor	0, 0, 5
2238	add	15, 15, 0
2239	xor	0, 12, 14
2240	and	0, 0, 11
2241	xor	0, 0, 14
2242	add	15, 15, 0
2243	lwz	0, 32(6)
2244	add	15, 15, 24
2245	add	15, 15, 0
2246	add	10, 10, 15
2247	rotlwi	0, 7, 30
2248	rotlwi	5, 7, 19
2249	xor	0, 0, 5
2250	rotlwi	5, 7, 10
2251	xor	0, 0, 5
2252	add	15, 15, 0
2253	xor	5, 7, 8
2254	xor	0, 8, 9
2255	and	0, 0, 5
2256	xor	0, 0, 8
2257	add	15, 15, 0
2258	# Calc new W[8]
2259	rotlwi	0, 25, 25
2260	rotlwi	5, 25, 14
2261	xor	0, 0, 5
2262	srwi	5, 25, 3
2263	xor	0, 0, 5
2264	add	24, 24, 0
2265	rotlwi	0, 22, 15
2266	rotlwi	5, 22, 13
2267	xor	0, 0, 5
2268	srwi	5, 22, 10
2269	xor	0, 0, 5
2270	add	24, 24, 0
2271	add	24, 24, 17
2272	# Round 9
2273	rotlwi	0, 10, 26
2274	rotlwi	5, 10, 21
2275	xor	0, 0, 5
2276	rotlwi	5, 10, 7
2277	xor	0, 0, 5
2278	add	14, 14, 0
2279	xor	0, 11, 12
2280	and	0, 0, 10
2281	xor	0, 0, 12
2282	add	14, 14, 0
2283	lwz	0, 36(6)
2284	add	14, 14, 25
2285	add	14, 14, 0
2286	add	9, 9, 14
2287	rotlwi	0, 15, 30
2288	rotlwi	5, 15, 19
2289	xor	0, 0, 5
2290	rotlwi	5, 15, 10
2291	xor	0, 0, 5
2292	add	14, 14, 0
2293	xor	5, 15, 7
2294	xor	0, 7, 8
2295	and	0, 0, 5
2296	xor	0, 0, 7
2297	add	14, 14, 0
2298	# Calc new W[9]
2299	rotlwi	0, 26, 25
2300	rotlwi	5, 26, 14
2301	xor	0, 0, 5
2302	srwi	5, 26, 3
2303	xor	0, 0, 5
2304	add	25, 25, 0
2305	rotlwi	0, 23, 15
2306	rotlwi	5, 23, 13
2307	xor	0, 0, 5
2308	srwi	5, 23, 10
2309	xor	0, 0, 5
2310	add	25, 25, 0
2311	add	25, 25, 18
2312	# Round 10
2313	rotlwi	0, 9, 26
2314	rotlwi	5, 9, 21
2315	xor	0, 0, 5
2316	rotlwi	5, 9, 7
2317	xor	0, 0, 5
2318	add	12, 12, 0
2319	xor	0, 10, 11
2320	and	0, 0, 9
2321	xor	0, 0, 11
2322	add	12, 12, 0
2323	lwz	0, 40(6)
2324	add	12, 12, 26
2325	add	12, 12, 0
2326	add	8, 8, 12
2327	rotlwi	0, 14, 30
2328	rotlwi	5, 14, 19
2329	xor	0, 0, 5
2330	rotlwi	5, 14, 10
2331	xor	0, 0, 5
2332	add	12, 12, 0
2333	xor	5, 14, 15
2334	xor	0, 15, 7
2335	and	0, 0, 5
2336	xor	0, 0, 15
2337	add	12, 12, 0
2338	# Calc new W[10]
2339	rotlwi	0, 27, 25
2340	rotlwi	5, 27, 14
2341	xor	0, 0, 5
2342	srwi	5, 27, 3
2343	xor	0, 0, 5
2344	add	26, 26, 0
2345	rotlwi	0, 24, 15
2346	rotlwi	5, 24, 13
2347	xor	0, 0, 5
2348	srwi	5, 24, 10
2349	xor	0, 0, 5
2350	add	26, 26, 0
2351	add	26, 26, 19
2352	# Round 11
2353	rotlwi	0, 8, 26
2354	rotlwi	5, 8, 21
2355	xor	0, 0, 5
2356	rotlwi	5, 8, 7
2357	xor	0, 0, 5
2358	add	11, 11, 0
2359	xor	0, 9, 10
2360	and	0, 0, 8
2361	xor	0, 0, 10
2362	add	11, 11, 0
2363	lwz	0, 44(6)
2364	add	11, 11, 27
2365	add	11, 11, 0
2366	add	7, 7, 11
2367	rotlwi	0, 12, 30
2368	rotlwi	5, 12, 19
2369	xor	0, 0, 5
2370	rotlwi	5, 12, 10
2371	xor	0, 0, 5
2372	add	11, 11, 0
2373	xor	5, 12, 14
2374	xor	0, 14, 15
2375	and	0, 0, 5
2376	xor	0, 0, 14
2377	add	11, 11, 0
2378	# Calc new W[11]
2379	rotlwi	0, 28, 25
2380	rotlwi	5, 28, 14
2381	xor	0, 0, 5
2382	srwi	5, 28, 3
2383	xor	0, 0, 5
2384	add	27, 27, 0
2385	rotlwi	0, 25, 15
2386	rotlwi	5, 25, 13
2387	xor	0, 0, 5
2388	srwi	5, 25, 10
2389	xor	0, 0, 5
2390	add	27, 27, 0
2391	add	27, 27, 20
2392	# Round 12
2393	rotlwi	0, 7, 26
2394	rotlwi	5, 7, 21
2395	xor	0, 0, 5
2396	rotlwi	5, 7, 7
2397	xor	0, 0, 5
2398	add	10, 10, 0
2399	xor	0, 8, 9
2400	and	0, 0, 7
2401	xor	0, 0, 9
2402	add	10, 10, 0
2403	lwz	0, 48(6)
2404	add	10, 10, 28
2405	add	10, 10, 0
2406	add	15, 15, 10
2407	rotlwi	0, 11, 30
2408	rotlwi	5, 11, 19
2409	xor	0, 0, 5
2410	rotlwi	5, 11, 10
2411	xor	0, 0, 5
2412	add	10, 10, 0
2413	xor	5, 11, 12
2414	xor	0, 12, 14
2415	and	0, 0, 5
2416	xor	0, 0, 12
2417	add	10, 10, 0
2418	# Calc new W[12]
2419	rotlwi	0, 29, 25
2420	rotlwi	5, 29, 14
2421	xor	0, 0, 5
2422	srwi	5, 29, 3
2423	xor	0, 0, 5
2424	add	28, 28, 0
2425	rotlwi	0, 26, 15
2426	rotlwi	5, 26, 13
2427	xor	0, 0, 5
2428	srwi	5, 26, 10
2429	xor	0, 0, 5
2430	add	28, 28, 0
2431	add	28, 28, 21
2432	# Round 13
2433	rotlwi	0, 15, 26
2434	rotlwi	5, 15, 21
2435	xor	0, 0, 5
2436	rotlwi	5, 15, 7
2437	xor	0, 0, 5
2438	add	9, 9, 0
2439	xor	0, 7, 8
2440	and	0, 0, 15
2441	xor	0, 0, 8
2442	add	9, 9, 0
2443	lwz	0, 52(6)
2444	add	9, 9, 29
2445	add	9, 9, 0
2446	add	14, 14, 9
2447	rotlwi	0, 10, 30
2448	rotlwi	5, 10, 19
2449	xor	0, 0, 5
2450	rotlwi	5, 10, 10
2451	xor	0, 0, 5
2452	add	9, 9, 0
2453	xor	5, 10, 11
2454	xor	0, 11, 12
2455	and	0, 0, 5
2456	xor	0, 0, 11
2457	add	9, 9, 0
2458	# Calc new W[13]
2459	rotlwi	0, 30, 25
2460	rotlwi	5, 30, 14
2461	xor	0, 0, 5
2462	srwi	5, 30, 3
2463	xor	0, 0, 5
2464	add	29, 29, 0
2465	rotlwi	0, 27, 15
2466	rotlwi	5, 27, 13
2467	xor	0, 0, 5
2468	srwi	5, 27, 10
2469	xor	0, 0, 5
2470	add	29, 29, 0
2471	add	29, 29, 22
2472	# Round 14
2473	rotlwi	0, 14, 26
2474	rotlwi	5, 14, 21
2475	xor	0, 0, 5
2476	rotlwi	5, 14, 7
2477	xor	0, 0, 5
2478	add	8, 8, 0
2479	xor	0, 15, 7
2480	and	0, 0, 14
2481	xor	0, 0, 7
2482	add	8, 8, 0
2483	lwz	0, 56(6)
2484	add	8, 8, 30
2485	add	8, 8, 0
2486	add	12, 12, 8
2487	rotlwi	0, 9, 30
2488	rotlwi	5, 9, 19
2489	xor	0, 0, 5
2490	rotlwi	5, 9, 10
2491	xor	0, 0, 5
2492	add	8, 8, 0
2493	xor	5, 9, 10
2494	xor	0, 10, 11
2495	and	0, 0, 5
2496	xor	0, 0, 10
2497	add	8, 8, 0
2498	# Calc new W[14]
2499	rotlwi	0, 31, 25
2500	rotlwi	5, 31, 14
2501	xor	0, 0, 5
2502	srwi	5, 31, 3
2503	xor	0, 0, 5
2504	add	30, 30, 0
2505	rotlwi	0, 28, 15
2506	rotlwi	5, 28, 13
2507	xor	0, 0, 5
2508	srwi	5, 28, 10
2509	xor	0, 0, 5
2510	add	30, 30, 0
2511	add	30, 30, 23
2512	# Round 15
2513	rotlwi	0, 12, 26
2514	rotlwi	5, 12, 21
2515	xor	0, 0, 5
2516	rotlwi	5, 12, 7
2517	xor	0, 0, 5
2518	add	7, 7, 0
2519	xor	0, 14, 15
2520	and	0, 0, 12
2521	xor	0, 0, 15
2522	add	7, 7, 0
2523	lwz	0, 60(6)
2524	add	7, 7, 31
2525	add	7, 7, 0
2526	add	11, 11, 7
2527	rotlwi	0, 8, 30
2528	rotlwi	5, 8, 19
2529	xor	0, 0, 5
2530	rotlwi	5, 8, 10
2531	xor	0, 0, 5
2532	add	7, 7, 0
2533	xor	5, 8, 9
2534	xor	0, 9, 10
2535	and	0, 0, 5
2536	xor	0, 0, 9
2537	add	7, 7, 0
2538	# Calc new W[15]
2539	rotlwi	0, 16, 25
2540	rotlwi	5, 16, 14
2541	xor	0, 0, 5
2542	srwi	5, 16, 3
2543	xor	0, 0, 5
2544	add	31, 31, 0
2545	rotlwi	0, 29, 15
2546	rotlwi	5, 29, 13
2547	xor	0, 0, 5
2548	srwi	5, 29, 10
2549	xor	0, 0, 5
2550	add	31, 31, 0
2551	add	31, 31, 24
2552	addi	6, 6, 0x40
2553	# Round 0
2554	rotlwi	0, 11, 26
2555	rotlwi	5, 11, 21
2556	xor	0, 0, 5
2557	rotlwi	5, 11, 7
2558	xor	0, 0, 5
2559	add	15, 15, 0
2560	xor	0, 12, 14
2561	and	0, 0, 11
2562	xor	0, 0, 14
2563	add	15, 15, 0
2564	lwz	0, 0(6)
2565	add	15, 15, 16
2566	add	15, 15, 0
2567	add	10, 10, 15
2568	rotlwi	0, 7, 30
2569	rotlwi	5, 7, 19
2570	xor	0, 0, 5
2571	rotlwi	5, 7, 10
2572	xor	0, 0, 5
2573	add	15, 15, 0
2574	xor	5, 7, 8
2575	xor	0, 8, 9
2576	and	0, 0, 5
2577	xor	0, 0, 8
2578	add	15, 15, 0
2579	# Calc new W[0]
2580	rotlwi	0, 17, 25
2581	rotlwi	5, 17, 14
2582	xor	0, 0, 5
2583	srwi	5, 17, 3
2584	xor	0, 0, 5
2585	add	16, 16, 0
2586	rotlwi	0, 30, 15
2587	rotlwi	5, 30, 13
2588	xor	0, 0, 5
2589	srwi	5, 30, 10
2590	xor	0, 0, 5
2591	add	16, 16, 0
2592	add	16, 16, 25
2593	# Round 1
2594	rotlwi	0, 10, 26
2595	rotlwi	5, 10, 21
2596	xor	0, 0, 5
2597	rotlwi	5, 10, 7
2598	xor	0, 0, 5
2599	add	14, 14, 0
2600	xor	0, 11, 12
2601	and	0, 0, 10
2602	xor	0, 0, 12
2603	add	14, 14, 0
2604	lwz	0, 4(6)
2605	add	14, 14, 17
2606	add	14, 14, 0
2607	add	9, 9, 14
2608	rotlwi	0, 15, 30
2609	rotlwi	5, 15, 19
2610	xor	0, 0, 5
2611	rotlwi	5, 15, 10
2612	xor	0, 0, 5
2613	add	14, 14, 0
2614	xor	5, 15, 7
2615	xor	0, 7, 8
2616	and	0, 0, 5
2617	xor	0, 0, 7
2618	add	14, 14, 0
2619	# Calc new W[1]
2620	rotlwi	0, 18, 25
2621	rotlwi	5, 18, 14
2622	xor	0, 0, 5
2623	srwi	5, 18, 3
2624	xor	0, 0, 5
2625	add	17, 17, 0
2626	rotlwi	0, 31, 15
2627	rotlwi	5, 31, 13
2628	xor	0, 0, 5
2629	srwi	5, 31, 10
2630	xor	0, 0, 5
2631	add	17, 17, 0
2632	add	17, 17, 26
2633	# Round 2
2634	rotlwi	0, 9, 26
2635	rotlwi	5, 9, 21
2636	xor	0, 0, 5
2637	rotlwi	5, 9, 7
2638	xor	0, 0, 5
2639	add	12, 12, 0
2640	xor	0, 10, 11
2641	and	0, 0, 9
2642	xor	0, 0, 11
2643	add	12, 12, 0
2644	lwz	0, 8(6)
2645	add	12, 12, 18
2646	add	12, 12, 0
2647	add	8, 8, 12
2648	rotlwi	0, 14, 30
2649	rotlwi	5, 14, 19
2650	xor	0, 0, 5
2651	rotlwi	5, 14, 10
2652	xor	0, 0, 5
2653	add	12, 12, 0
2654	xor	5, 14, 15
2655	xor	0, 15, 7
2656	and	0, 0, 5
2657	xor	0, 0, 15
2658	add	12, 12, 0
2659	# Calc new W[2]
2660	rotlwi	0, 19, 25
2661	rotlwi	5, 19, 14
2662	xor	0, 0, 5
2663	srwi	5, 19, 3
2664	xor	0, 0, 5
2665	add	18, 18, 0
2666	rotlwi	0, 16, 15
2667	rotlwi	5, 16, 13
2668	xor	0, 0, 5
2669	srwi	5, 16, 10
2670	xor	0, 0, 5
2671	add	18, 18, 0
2672	add	18, 18, 27
2673	# Round 3
2674	rotlwi	0, 8, 26
2675	rotlwi	5, 8, 21
2676	xor	0, 0, 5
2677	rotlwi	5, 8, 7
2678	xor	0, 0, 5
2679	add	11, 11, 0
2680	xor	0, 9, 10
2681	and	0, 0, 8
2682	xor	0, 0, 10
2683	add	11, 11, 0
2684	lwz	0, 12(6)
2685	add	11, 11, 19
2686	add	11, 11, 0
2687	add	7, 7, 11
2688	rotlwi	0, 12, 30
2689	rotlwi	5, 12, 19
2690	xor	0, 0, 5
2691	rotlwi	5, 12, 10
2692	xor	0, 0, 5
2693	add	11, 11, 0
2694	xor	5, 12, 14
2695	xor	0, 14, 15
2696	and	0, 0, 5
2697	xor	0, 0, 14
2698	add	11, 11, 0
2699	# Calc new W[3]
2700	rotlwi	0, 20, 25
2701	rotlwi	5, 20, 14
2702	xor	0, 0, 5
2703	srwi	5, 20, 3
2704	xor	0, 0, 5
2705	add	19, 19, 0
2706	rotlwi	0, 17, 15
2707	rotlwi	5, 17, 13
2708	xor	0, 0, 5
2709	srwi	5, 17, 10
2710	xor	0, 0, 5
2711	add	19, 19, 0
2712	add	19, 19, 28
2713	# Round 4
2714	rotlwi	0, 7, 26
2715	rotlwi	5, 7, 21
2716	xor	0, 0, 5
2717	rotlwi	5, 7, 7
2718	xor	0, 0, 5
2719	add	10, 10, 0
2720	xor	0, 8, 9
2721	and	0, 0, 7
2722	xor	0, 0, 9
2723	add	10, 10, 0
2724	lwz	0, 16(6)
2725	add	10, 10, 20
2726	add	10, 10, 0
2727	add	15, 15, 10
2728	rotlwi	0, 11, 30
2729	rotlwi	5, 11, 19
2730	xor	0, 0, 5
2731	rotlwi	5, 11, 10
2732	xor	0, 0, 5
2733	add	10, 10, 0
2734	xor	5, 11, 12
2735	xor	0, 12, 14
2736	and	0, 0, 5
2737	xor	0, 0, 12
2738	add	10, 10, 0
2739	# Calc new W[4]
2740	rotlwi	0, 21, 25
2741	rotlwi	5, 21, 14
2742	xor	0, 0, 5
2743	srwi	5, 21, 3
2744	xor	0, 0, 5
2745	add	20, 20, 0
2746	rotlwi	0, 18, 15
2747	rotlwi	5, 18, 13
2748	xor	0, 0, 5
2749	srwi	5, 18, 10
2750	xor	0, 0, 5
2751	add	20, 20, 0
2752	add	20, 20, 29
2753	# Round 5
2754	rotlwi	0, 15, 26
2755	rotlwi	5, 15, 21
2756	xor	0, 0, 5
2757	rotlwi	5, 15, 7
2758	xor	0, 0, 5
2759	add	9, 9, 0
2760	xor	0, 7, 8
2761	and	0, 0, 15
2762	xor	0, 0, 8
2763	add	9, 9, 0
2764	lwz	0, 20(6)
2765	add	9, 9, 21
2766	add	9, 9, 0
2767	add	14, 14, 9
2768	rotlwi	0, 10, 30
2769	rotlwi	5, 10, 19
2770	xor	0, 0, 5
2771	rotlwi	5, 10, 10
2772	xor	0, 0, 5
2773	add	9, 9, 0
2774	xor	5, 10, 11
2775	xor	0, 11, 12
2776	and	0, 0, 5
2777	xor	0, 0, 11
2778	add	9, 9, 0
2779	# Calc new W[5]
2780	rotlwi	0, 22, 25
2781	rotlwi	5, 22, 14
2782	xor	0, 0, 5
2783	srwi	5, 22, 3
2784	xor	0, 0, 5
2785	add	21, 21, 0
2786	rotlwi	0, 19, 15
2787	rotlwi	5, 19, 13
2788	xor	0, 0, 5
2789	srwi	5, 19, 10
2790	xor	0, 0, 5
2791	add	21, 21, 0
2792	add	21, 21, 30
2793	# Round 6
2794	rotlwi	0, 14, 26
2795	rotlwi	5, 14, 21
2796	xor	0, 0, 5
2797	rotlwi	5, 14, 7
2798	xor	0, 0, 5
2799	add	8, 8, 0
2800	xor	0, 15, 7
2801	and	0, 0, 14
2802	xor	0, 0, 7
2803	add	8, 8, 0
2804	lwz	0, 24(6)
2805	add	8, 8, 22
2806	add	8, 8, 0
2807	add	12, 12, 8
2808	rotlwi	0, 9, 30
2809	rotlwi	5, 9, 19
2810	xor	0, 0, 5
2811	rotlwi	5, 9, 10
2812	xor	0, 0, 5
2813	add	8, 8, 0
2814	xor	5, 9, 10
2815	xor	0, 10, 11
2816	and	0, 0, 5
2817	xor	0, 0, 10
2818	add	8, 8, 0
2819	# Calc new W[6]
2820	rotlwi	0, 23, 25
2821	rotlwi	5, 23, 14
2822	xor	0, 0, 5
2823	srwi	5, 23, 3
2824	xor	0, 0, 5
2825	add	22, 22, 0
2826	rotlwi	0, 20, 15
2827	rotlwi	5, 20, 13
2828	xor	0, 0, 5
2829	srwi	5, 20, 10
2830	xor	0, 0, 5
2831	add	22, 22, 0
2832	add	22, 22, 31
2833	# Round 7
2834	rotlwi	0, 12, 26
2835	rotlwi	5, 12, 21
2836	xor	0, 0, 5
2837	rotlwi	5, 12, 7
2838	xor	0, 0, 5
2839	add	7, 7, 0
2840	xor	0, 14, 15
2841	and	0, 0, 12
2842	xor	0, 0, 15
2843	add	7, 7, 0
2844	lwz	0, 28(6)
2845	add	7, 7, 23
2846	add	7, 7, 0
2847	add	11, 11, 7
2848	rotlwi	0, 8, 30
2849	rotlwi	5, 8, 19
2850	xor	0, 0, 5
2851	rotlwi	5, 8, 10
2852	xor	0, 0, 5
2853	add	7, 7, 0
2854	xor	5, 8, 9
2855	xor	0, 9, 10
2856	and	0, 0, 5
2857	xor	0, 0, 9
2858	add	7, 7, 0
2859	# Calc new W[7]
2860	rotlwi	0, 24, 25
2861	rotlwi	5, 24, 14
2862	xor	0, 0, 5
2863	srwi	5, 24, 3
2864	xor	0, 0, 5
2865	add	23, 23, 0
2866	rotlwi	0, 21, 15
2867	rotlwi	5, 21, 13
2868	xor	0, 0, 5
2869	srwi	5, 21, 10
2870	xor	0, 0, 5
2871	add	23, 23, 0
2872	add	23, 23, 16
2873	# Round 8
2874	rotlwi	0, 11, 26
2875	rotlwi	5, 11, 21
2876	xor	0, 0, 5
2877	rotlwi	5, 11, 7
2878	xor	0, 0, 5
2879	add	15, 15, 0
2880	xor	0, 12, 14
2881	and	0, 0, 11
2882	xor	0, 0, 14
2883	add	15, 15, 0
2884	lwz	0, 32(6)
2885	add	15, 15, 24
2886	add	15, 15, 0
2887	add	10, 10, 15
2888	rotlwi	0, 7, 30
2889	rotlwi	5, 7, 19
2890	xor	0, 0, 5
2891	rotlwi	5, 7, 10
2892	xor	0, 0, 5
2893	add	15, 15, 0
2894	xor	5, 7, 8
2895	xor	0, 8, 9
2896	and	0, 0, 5
2897	xor	0, 0, 8
2898	add	15, 15, 0
2899	# Calc new W[8]
2900	rotlwi	0, 25, 25
2901	rotlwi	5, 25, 14
2902	xor	0, 0, 5
2903	srwi	5, 25, 3
2904	xor	0, 0, 5
2905	add	24, 24, 0
2906	rotlwi	0, 22, 15
2907	rotlwi	5, 22, 13
2908	xor	0, 0, 5
2909	srwi	5, 22, 10
2910	xor	0, 0, 5
2911	add	24, 24, 0
2912	add	24, 24, 17
2913	# Round 9
2914	rotlwi	0, 10, 26
2915	rotlwi	5, 10, 21
2916	xor	0, 0, 5
2917	rotlwi	5, 10, 7
2918	xor	0, 0, 5
2919	add	14, 14, 0
2920	xor	0, 11, 12
2921	and	0, 0, 10
2922	xor	0, 0, 12
2923	add	14, 14, 0
2924	lwz	0, 36(6)
2925	add	14, 14, 25
2926	add	14, 14, 0
2927	add	9, 9, 14
2928	rotlwi	0, 15, 30
2929	rotlwi	5, 15, 19
2930	xor	0, 0, 5
2931	rotlwi	5, 15, 10
2932	xor	0, 0, 5
2933	add	14, 14, 0
2934	xor	5, 15, 7
2935	xor	0, 7, 8
2936	and	0, 0, 5
2937	xor	0, 0, 7
2938	add	14, 14, 0
2939	# Calc new W[9]
2940	rotlwi	0, 26, 25
2941	rotlwi	5, 26, 14
2942	xor	0, 0, 5
2943	srwi	5, 26, 3
2944	xor	0, 0, 5
2945	add	25, 25, 0
2946	rotlwi	0, 23, 15
2947	rotlwi	5, 23, 13
2948	xor	0, 0, 5
2949	srwi	5, 23, 10
2950	xor	0, 0, 5
2951	add	25, 25, 0
2952	add	25, 25, 18
2953	# Round 10
2954	rotlwi	0, 9, 26
2955	rotlwi	5, 9, 21
2956	xor	0, 0, 5
2957	rotlwi	5, 9, 7
2958	xor	0, 0, 5
2959	add	12, 12, 0
2960	xor	0, 10, 11
2961	and	0, 0, 9
2962	xor	0, 0, 11
2963	add	12, 12, 0
2964	lwz	0, 40(6)
2965	add	12, 12, 26
2966	add	12, 12, 0
2967	add	8, 8, 12
2968	rotlwi	0, 14, 30
2969	rotlwi	5, 14, 19
2970	xor	0, 0, 5
2971	rotlwi	5, 14, 10
2972	xor	0, 0, 5
2973	add	12, 12, 0
2974	xor	5, 14, 15
2975	xor	0, 15, 7
2976	and	0, 0, 5
2977	xor	0, 0, 15
2978	add	12, 12, 0
2979	# Calc new W[10]
2980	rotlwi	0, 27, 25
2981	rotlwi	5, 27, 14
2982	xor	0, 0, 5
2983	srwi	5, 27, 3
2984	xor	0, 0, 5
2985	add	26, 26, 0
2986	rotlwi	0, 24, 15
2987	rotlwi	5, 24, 13
2988	xor	0, 0, 5
2989	srwi	5, 24, 10
2990	xor	0, 0, 5
2991	add	26, 26, 0
2992	add	26, 26, 19
2993	# Round 11
2994	rotlwi	0, 8, 26
2995	rotlwi	5, 8, 21
2996	xor	0, 0, 5
2997	rotlwi	5, 8, 7
2998	xor	0, 0, 5
2999	add	11, 11, 0
3000	xor	0, 9, 10
3001	and	0, 0, 8
3002	xor	0, 0, 10
3003	add	11, 11, 0
3004	lwz	0, 44(6)
3005	add	11, 11, 27
3006	add	11, 11, 0
3007	add	7, 7, 11
3008	rotlwi	0, 12, 30
3009	rotlwi	5, 12, 19
3010	xor	0, 0, 5
3011	rotlwi	5, 12, 10
3012	xor	0, 0, 5
3013	add	11, 11, 0
3014	xor	5, 12, 14
3015	xor	0, 14, 15
3016	and	0, 0, 5
3017	xor	0, 0, 14
3018	add	11, 11, 0
3019	# Calc new W[11]
3020	rotlwi	0, 28, 25
3021	rotlwi	5, 28, 14
3022	xor	0, 0, 5
3023	srwi	5, 28, 3
3024	xor	0, 0, 5
3025	add	27, 27, 0
3026	rotlwi	0, 25, 15
3027	rotlwi	5, 25, 13
3028	xor	0, 0, 5
3029	srwi	5, 25, 10
3030	xor	0, 0, 5
3031	add	27, 27, 0
3032	add	27, 27, 20
3033	# Round 12
3034	rotlwi	0, 7, 26
3035	rotlwi	5, 7, 21
3036	xor	0, 0, 5
3037	rotlwi	5, 7, 7
3038	xor	0, 0, 5
3039	add	10, 10, 0
3040	xor	0, 8, 9
3041	and	0, 0, 7
3042	xor	0, 0, 9
3043	add	10, 10, 0
3044	lwz	0, 48(6)
3045	add	10, 10, 28
3046	add	10, 10, 0
3047	add	15, 15, 10
3048	rotlwi	0, 11, 30
3049	rotlwi	5, 11, 19
3050	xor	0, 0, 5
3051	rotlwi	5, 11, 10
3052	xor	0, 0, 5
3053	add	10, 10, 0
3054	xor	5, 11, 12
3055	xor	0, 12, 14
3056	and	0, 0, 5
3057	xor	0, 0, 12
3058	add	10, 10, 0
3059	# Calc new W[12]
3060	rotlwi	0, 29, 25
3061	rotlwi	5, 29, 14
3062	xor	0, 0, 5
3063	srwi	5, 29, 3
3064	xor	0, 0, 5
3065	add	28, 28, 0
3066	rotlwi	0, 26, 15
3067	rotlwi	5, 26, 13
3068	xor	0, 0, 5
3069	srwi	5, 26, 10
3070	xor	0, 0, 5
3071	add	28, 28, 0
3072	add	28, 28, 21
3073	# Round 13
3074	rotlwi	0, 15, 26
3075	rotlwi	5, 15, 21
3076	xor	0, 0, 5
3077	rotlwi	5, 15, 7
3078	xor	0, 0, 5
3079	add	9, 9, 0
3080	xor	0, 7, 8
3081	and	0, 0, 15
3082	xor	0, 0, 8
3083	add	9, 9, 0
3084	lwz	0, 52(6)
3085	add	9, 9, 29
3086	add	9, 9, 0
3087	add	14, 14, 9
3088	rotlwi	0, 10, 30
3089	rotlwi	5, 10, 19
3090	xor	0, 0, 5
3091	rotlwi	5, 10, 10
3092	xor	0, 0, 5
3093	add	9, 9, 0
3094	xor	5, 10, 11
3095	xor	0, 11, 12
3096	and	0, 0, 5
3097	xor	0, 0, 11
3098	add	9, 9, 0
3099	# Calc new W[13]
3100	rotlwi	0, 30, 25
3101	rotlwi	5, 30, 14
3102	xor	0, 0, 5
3103	srwi	5, 30, 3
3104	xor	0, 0, 5
3105	add	29, 29, 0
3106	rotlwi	0, 27, 15
3107	rotlwi	5, 27, 13
3108	xor	0, 0, 5
3109	srwi	5, 27, 10
3110	xor	0, 0, 5
3111	add	29, 29, 0
3112	add	29, 29, 22
3113	# Round 14
3114	rotlwi	0, 14, 26
3115	rotlwi	5, 14, 21
3116	xor	0, 0, 5
3117	rotlwi	5, 14, 7
3118	xor	0, 0, 5
3119	add	8, 8, 0
3120	xor	0, 15, 7
3121	and	0, 0, 14
3122	xor	0, 0, 7
3123	add	8, 8, 0
3124	lwz	0, 56(6)
3125	add	8, 8, 30
3126	add	8, 8, 0
3127	add	12, 12, 8
3128	rotlwi	0, 9, 30
3129	rotlwi	5, 9, 19
3130	xor	0, 0, 5
3131	rotlwi	5, 9, 10
3132	xor	0, 0, 5
3133	add	8, 8, 0
3134	xor	5, 9, 10
3135	xor	0, 10, 11
3136	and	0, 0, 5
3137	xor	0, 0, 10
3138	add	8, 8, 0
3139	# Calc new W[14]
3140	rotlwi	0, 31, 25
3141	rotlwi	5, 31, 14
3142	xor	0, 0, 5
3143	srwi	5, 31, 3
3144	xor	0, 0, 5
3145	add	30, 30, 0
3146	rotlwi	0, 28, 15
3147	rotlwi	5, 28, 13
3148	xor	0, 0, 5
3149	srwi	5, 28, 10
3150	xor	0, 0, 5
3151	add	30, 30, 0
3152	add	30, 30, 23
3153	# Round 15
3154	rotlwi	0, 12, 26
3155	rotlwi	5, 12, 21
3156	xor	0, 0, 5
3157	rotlwi	5, 12, 7
3158	xor	0, 0, 5
3159	add	7, 7, 0
3160	xor	0, 14, 15
3161	and	0, 0, 12
3162	xor	0, 0, 15
3163	add	7, 7, 0
3164	lwz	0, 60(6)
3165	add	7, 7, 31
3166	add	7, 7, 0
3167	add	11, 11, 7
3168	rotlwi	0, 8, 30
3169	rotlwi	5, 8, 19
3170	xor	0, 0, 5
3171	rotlwi	5, 8, 10
3172	xor	0, 0, 5
3173	add	7, 7, 0
3174	xor	5, 8, 9
3175	xor	0, 9, 10
3176	and	0, 0, 5
3177	xor	0, 0, 9
3178	add	7, 7, 0
3179	# Calc new W[15]
3180	rotlwi	0, 16, 25
3181	rotlwi	5, 16, 14
3182	xor	0, 0, 5
3183	srwi	5, 16, 3
3184	xor	0, 0, 5
3185	add	31, 31, 0
3186	rotlwi	0, 29, 15
3187	rotlwi	5, 29, 13
3188	xor	0, 0, 5
3189	srwi	5, 29, 10
3190	xor	0, 0, 5
3191	add	31, 31, 0
3192	add	31, 31, 24
3193	addi	6, 6, 0x40
3194	# Round 0
3195	rotlwi	0, 11, 26
3196	rotlwi	5, 11, 21
3197	xor	0, 0, 5
3198	rotlwi	5, 11, 7
3199	xor	0, 0, 5
3200	add	15, 15, 0
3201	xor	0, 12, 14
3202	and	0, 0, 11
3203	xor	0, 0, 14
3204	add	15, 15, 0
3205	lwz	0, 0(6)
3206	add	15, 15, 16
3207	add	15, 15, 0
3208	add	10, 10, 15
3209	rotlwi	0, 7, 30
3210	rotlwi	5, 7, 19
3211	xor	0, 0, 5
3212	rotlwi	5, 7, 10
3213	xor	0, 0, 5
3214	add	15, 15, 0
3215	xor	5, 7, 8
3216	xor	0, 8, 9
3217	and	0, 0, 5
3218	xor	0, 0, 8
3219	add	15, 15, 0
3220	# Round 1
3221	rotlwi	0, 10, 26
3222	rotlwi	5, 10, 21
3223	xor	0, 0, 5
3224	rotlwi	5, 10, 7
3225	xor	0, 0, 5
3226	add	14, 14, 0
3227	xor	0, 11, 12
3228	and	0, 0, 10
3229	xor	0, 0, 12
3230	add	14, 14, 0
3231	lwz	0, 4(6)
3232	add	14, 14, 17
3233	add	14, 14, 0
3234	add	9, 9, 14
3235	rotlwi	0, 15, 30
3236	rotlwi	5, 15, 19
3237	xor	0, 0, 5
3238	rotlwi	5, 15, 10
3239	xor	0, 0, 5
3240	add	14, 14, 0
3241	xor	5, 15, 7
3242	xor	0, 7, 8
3243	and	0, 0, 5
3244	xor	0, 0, 7
3245	add	14, 14, 0
3246	# Round 2
3247	rotlwi	0, 9, 26
3248	rotlwi	5, 9, 21
3249	xor	0, 0, 5
3250	rotlwi	5, 9, 7
3251	xor	0, 0, 5
3252	add	12, 12, 0
3253	xor	0, 10, 11
3254	and	0, 0, 9
3255	xor	0, 0, 11
3256	add	12, 12, 0
3257	lwz	0, 8(6)
3258	add	12, 12, 18
3259	add	12, 12, 0
3260	add	8, 8, 12
3261	rotlwi	0, 14, 30
3262	rotlwi	5, 14, 19
3263	xor	0, 0, 5
3264	rotlwi	5, 14, 10
3265	xor	0, 0, 5
3266	add	12, 12, 0
3267	xor	5, 14, 15
3268	xor	0, 15, 7
3269	and	0, 0, 5
3270	xor	0, 0, 15
3271	add	12, 12, 0
3272	# Round 3
3273	rotlwi	0, 8, 26
3274	rotlwi	5, 8, 21
3275	xor	0, 0, 5
3276	rotlwi	5, 8, 7
3277	xor	0, 0, 5
3278	add	11, 11, 0
3279	xor	0, 9, 10
3280	and	0, 0, 8
3281	xor	0, 0, 10
3282	add	11, 11, 0
3283	lwz	0, 12(6)
3284	add	11, 11, 19
3285	add	11, 11, 0
3286	add	7, 7, 11
3287	rotlwi	0, 12, 30
3288	rotlwi	5, 12, 19
3289	xor	0, 0, 5
3290	rotlwi	5, 12, 10
3291	xor	0, 0, 5
3292	add	11, 11, 0
3293	xor	5, 12, 14
3294	xor	0, 14, 15
3295	and	0, 0, 5
3296	xor	0, 0, 14
3297	add	11, 11, 0
3298	# Round 4
3299	rotlwi	0, 7, 26
3300	rotlwi	5, 7, 21
3301	xor	0, 0, 5
3302	rotlwi	5, 7, 7
3303	xor	0, 0, 5
3304	add	10, 10, 0
3305	xor	0, 8, 9
3306	and	0, 0, 7
3307	xor	0, 0, 9
3308	add	10, 10, 0
3309	lwz	0, 16(6)
3310	add	10, 10, 20
3311	add	10, 10, 0
3312	add	15, 15, 10
3313	rotlwi	0, 11, 30
3314	rotlwi	5, 11, 19
3315	xor	0, 0, 5
3316	rotlwi	5, 11, 10
3317	xor	0, 0, 5
3318	add	10, 10, 0
3319	xor	5, 11, 12
3320	xor	0, 12, 14
3321	and	0, 0, 5
3322	xor	0, 0, 12
3323	add	10, 10, 0
3324	# Round 5
3325	rotlwi	0, 15, 26
3326	rotlwi	5, 15, 21
3327	xor	0, 0, 5
3328	rotlwi	5, 15, 7
3329	xor	0, 0, 5
3330	add	9, 9, 0
3331	xor	0, 7, 8
3332	and	0, 0, 15
3333	xor	0, 0, 8
3334	add	9, 9, 0
3335	lwz	0, 20(6)
3336	add	9, 9, 21
3337	add	9, 9, 0
3338	add	14, 14, 9
3339	rotlwi	0, 10, 30
3340	rotlwi	5, 10, 19
3341	xor	0, 0, 5
3342	rotlwi	5, 10, 10
3343	xor	0, 0, 5
3344	add	9, 9, 0
3345	xor	5, 10, 11
3346	xor	0, 11, 12
3347	and	0, 0, 5
3348	xor	0, 0, 11
3349	add	9, 9, 0
3350	# Round 6
3351	rotlwi	0, 14, 26
3352	rotlwi	5, 14, 21
3353	xor	0, 0, 5
3354	rotlwi	5, 14, 7
3355	xor	0, 0, 5
3356	add	8, 8, 0
3357	xor	0, 15, 7
3358	and	0, 0, 14
3359	xor	0, 0, 7
3360	add	8, 8, 0
3361	lwz	0, 24(6)
3362	add	8, 8, 22
3363	add	8, 8, 0
3364	add	12, 12, 8
3365	rotlwi	0, 9, 30
3366	rotlwi	5, 9, 19
3367	xor	0, 0, 5
3368	rotlwi	5, 9, 10
3369	xor	0, 0, 5
3370	add	8, 8, 0
3371	xor	5, 9, 10
3372	xor	0, 10, 11
3373	and	0, 0, 5
3374	xor	0, 0, 10
3375	add	8, 8, 0
3376	# Round 7
3377	rotlwi	0, 12, 26
3378	rotlwi	5, 12, 21
3379	xor	0, 0, 5
3380	rotlwi	5, 12, 7
3381	xor	0, 0, 5
3382	add	7, 7, 0
3383	xor	0, 14, 15
3384	and	0, 0, 12
3385	xor	0, 0, 15
3386	add	7, 7, 0
3387	lwz	0, 28(6)
3388	add	7, 7, 23
3389	add	7, 7, 0
3390	add	11, 11, 7
3391	rotlwi	0, 8, 30
3392	rotlwi	5, 8, 19
3393	xor	0, 0, 5
3394	rotlwi	5, 8, 10
3395	xor	0, 0, 5
3396	add	7, 7, 0
3397	xor	5, 8, 9
3398	xor	0, 9, 10
3399	and	0, 0, 5
3400	xor	0, 0, 9
3401	add	7, 7, 0
3402	# Round 8
3403	rotlwi	0, 11, 26
3404	rotlwi	5, 11, 21
3405	xor	0, 0, 5
3406	rotlwi	5, 11, 7
3407	xor	0, 0, 5
3408	add	15, 15, 0
3409	xor	0, 12, 14
3410	and	0, 0, 11
3411	xor	0, 0, 14
3412	add	15, 15, 0
3413	lwz	0, 32(6)
3414	add	15, 15, 24
3415	add	15, 15, 0
3416	add	10, 10, 15
3417	rotlwi	0, 7, 30
3418	rotlwi	5, 7, 19
3419	xor	0, 0, 5
3420	rotlwi	5, 7, 10
3421	xor	0, 0, 5
3422	add	15, 15, 0
3423	xor	5, 7, 8
3424	xor	0, 8, 9
3425	and	0, 0, 5
3426	xor	0, 0, 8
3427	add	15, 15, 0
3428	# Round 9
3429	rotlwi	0, 10, 26
3430	rotlwi	5, 10, 21
3431	xor	0, 0, 5
3432	rotlwi	5, 10, 7
3433	xor	0, 0, 5
3434	add	14, 14, 0
3435	xor	0, 11, 12
3436	and	0, 0, 10
3437	xor	0, 0, 12
3438	add	14, 14, 0
3439	lwz	0, 36(6)
3440	add	14, 14, 25
3441	add	14, 14, 0
3442	add	9, 9, 14
3443	rotlwi	0, 15, 30
3444	rotlwi	5, 15, 19
3445	xor	0, 0, 5
3446	rotlwi	5, 15, 10
3447	xor	0, 0, 5
3448	add	14, 14, 0
3449	xor	5, 15, 7
3450	xor	0, 7, 8
3451	and	0, 0, 5
3452	xor	0, 0, 7
3453	add	14, 14, 0
3454	# Round 10
3455	rotlwi	0, 9, 26
3456	rotlwi	5, 9, 21
3457	xor	0, 0, 5
3458	rotlwi	5, 9, 7
3459	xor	0, 0, 5
3460	add	12, 12, 0
3461	xor	0, 10, 11
3462	and	0, 0, 9
3463	xor	0, 0, 11
3464	add	12, 12, 0
3465	lwz	0, 40(6)
3466	add	12, 12, 26
3467	add	12, 12, 0
3468	add	8, 8, 12
3469	rotlwi	0, 14, 30
3470	rotlwi	5, 14, 19
3471	xor	0, 0, 5
3472	rotlwi	5, 14, 10
3473	xor	0, 0, 5
3474	add	12, 12, 0
3475	xor	5, 14, 15
3476	xor	0, 15, 7
3477	and	0, 0, 5
3478	xor	0, 0, 15
3479	add	12, 12, 0
3480	# Round 11
3481	rotlwi	0, 8, 26
3482	rotlwi	5, 8, 21
3483	xor	0, 0, 5
3484	rotlwi	5, 8, 7
3485	xor	0, 0, 5
3486	add	11, 11, 0
3487	xor	0, 9, 10
3488	and	0, 0, 8
3489	xor	0, 0, 10
3490	add	11, 11, 0
3491	lwz	0, 44(6)
3492	add	11, 11, 27
3493	add	11, 11, 0
3494	add	7, 7, 11
3495	rotlwi	0, 12, 30
3496	rotlwi	5, 12, 19
3497	xor	0, 0, 5
3498	rotlwi	5, 12, 10
3499	xor	0, 0, 5
3500	add	11, 11, 0
3501	xor	5, 12, 14
3502	xor	0, 14, 15
3503	and	0, 0, 5
3504	xor	0, 0, 14
3505	add	11, 11, 0
3506	# Round 12
3507	rotlwi	0, 7, 26
3508	rotlwi	5, 7, 21
3509	xor	0, 0, 5
3510	rotlwi	5, 7, 7
3511	xor	0, 0, 5
3512	add	10, 10, 0
3513	xor	0, 8, 9
3514	and	0, 0, 7
3515	xor	0, 0, 9
3516	add	10, 10, 0
3517	lwz	0, 48(6)
3518	add	10, 10, 28
3519	add	10, 10, 0
3520	add	15, 15, 10
3521	rotlwi	0, 11, 30
3522	rotlwi	5, 11, 19
3523	xor	0, 0, 5
3524	rotlwi	5, 11, 10
3525	xor	0, 0, 5
3526	add	10, 10, 0
3527	xor	5, 11, 12
3528	xor	0, 12, 14
3529	and	0, 0, 5
3530	xor	0, 0, 12
3531	add	10, 10, 0
3532	# Round 13
3533	rotlwi	0, 15, 26
3534	rotlwi	5, 15, 21
3535	xor	0, 0, 5
3536	rotlwi	5, 15, 7
3537	xor	0, 0, 5
3538	add	9, 9, 0
3539	xor	0, 7, 8
3540	and	0, 0, 15
3541	xor	0, 0, 8
3542	add	9, 9, 0
3543	lwz	0, 52(6)
3544	add	9, 9, 29
3545	add	9, 9, 0
3546	add	14, 14, 9
3547	rotlwi	0, 10, 30
3548	rotlwi	5, 10, 19
3549	xor	0, 0, 5
3550	rotlwi	5, 10, 10
3551	xor	0, 0, 5
3552	add	9, 9, 0
3553	xor	5, 10, 11
3554	xor	0, 11, 12
3555	and	0, 0, 5
3556	xor	0, 0, 11
3557	add	9, 9, 0
3558	# Round 14
3559	rotlwi	0, 14, 26
3560	rotlwi	5, 14, 21
3561	xor	0, 0, 5
3562	rotlwi	5, 14, 7
3563	xor	0, 0, 5
3564	add	8, 8, 0
3565	xor	0, 15, 7
3566	and	0, 0, 14
3567	xor	0, 0, 7
3568	add	8, 8, 0
3569	lwz	0, 56(6)
3570	add	8, 8, 30
3571	add	8, 8, 0
3572	add	12, 12, 8
3573	rotlwi	0, 9, 30
3574	rotlwi	5, 9, 19
3575	xor	0, 0, 5
3576	rotlwi	5, 9, 10
3577	xor	0, 0, 5
3578	add	8, 8, 0
3579	xor	5, 9, 10
3580	xor	0, 10, 11
3581	and	0, 0, 5
3582	xor	0, 0, 10
3583	add	8, 8, 0
3584	# Round 15
3585	rotlwi	0, 12, 26
3586	rotlwi	5, 12, 21
3587	xor	0, 0, 5
3588	rotlwi	5, 12, 7
3589	xor	0, 0, 5
3590	add	7, 7, 0
3591	xor	0, 14, 15
3592	and	0, 0, 12
3593	xor	0, 0, 15
3594	add	7, 7, 0
3595	lwz	0, 60(6)
3596	add	7, 7, 31
3597	add	7, 7, 0
3598	add	11, 11, 7
3599	rotlwi	0, 8, 30
3600	rotlwi	5, 8, 19
3601	xor	0, 0, 5
3602	rotlwi	5, 8, 10
3603	xor	0, 0, 5
3604	add	7, 7, 0
3605	xor	5, 8, 9
3606	xor	0, 9, 10
3607	and	0, 0, 5
3608	xor	0, 0, 9
3609	add	7, 7, 0
3610	subi	6, 6, 0xc0
3611	# Add in digest from start
3612	lwz	0, 0(3)
3613	lwz	5, 4(3)
3614	add	7, 7, 0
3615	add	8, 8, 5
3616	lwz	0, 8(3)
3617	lwz	5, 12(3)
3618	add	9, 9, 0
3619	add	10, 10, 5
3620	lwz	0, 16(3)
3621	lwz	5, 20(3)
3622	add	11, 11, 0
3623	add	12, 12, 5
3624	lwz	0, 24(3)
3625	lwz	5, 28(3)
3626	add	14, 14, 0
3627	add	15, 15, 5
3628	stw	7, 0(3)
3629	stw	8, 4(3)
3630	stw	9, 8(3)
3631	stw	10, 12(3)
3632	stw	11, 16(3)
3633	stw	12, 20(3)
3634	stw	14, 24(3)
3635	stw	15, 28(3)
3636	addi	4, 4, 0x40
3637	bdnz	L_SHA256_transform_len_begin
3638#else
3639	subi	1, 1, 4
3640	stw	5, 0(1)
3641	# Start of loop processing a block
3642L_SHA256_transform_len_begin:
3643	# Load W - 64 bytes
3644	lwz	16, 0(4)
3645	lwz	17, 4(4)
3646	lwz	18, 8(4)
3647	lwz	19, 12(4)
3648	lwz	20, 16(4)
3649	lwz	21, 20(4)
3650	lwz	22, 24(4)
3651	lwz	23, 28(4)
3652	lwz	24, 32(4)
3653	lwz	25, 36(4)
3654	lwz	26, 40(4)
3655	lwz	27, 44(4)
3656	lwz	28, 48(4)
3657	lwz	29, 52(4)
3658	lwz	30, 56(4)
3659	lwz	31, 60(4)
3660	li	0, 4
3661	mtctr	0
3662	# Start of 16 rounds
3663L_SHA256_transform_len_start:
3664	# Round 0
3665	rotlwi	0, 11, 26
3666	rotlwi	5, 11, 21
3667	xor	0, 0, 5
3668	rotlwi	5, 11, 7
3669	xor	0, 0, 5
3670	add	15, 15, 0
3671	xor	0, 12, 14
3672	and	0, 0, 11
3673	xor	0, 0, 14
3674	add	15, 15, 0
3675	lwz	0, 0(6)
3676	add	15, 15, 16
3677	add	15, 15, 0
3678	add	10, 10, 15
3679	rotlwi	0, 7, 30
3680	rotlwi	5, 7, 19
3681	xor	0, 0, 5
3682	rotlwi	5, 7, 10
3683	xor	0, 0, 5
3684	add	15, 15, 0
3685	xor	5, 7, 8
3686	xor	0, 8, 9
3687	and	0, 0, 5
3688	xor	0, 0, 8
3689	add	15, 15, 0
3690	mfctr	5
3691	cmpwi	0, 5, 1
3692	beq	0, L_SHA256_transform_len_after_blk_0
3693	# Calc new W[0]
3694	rotlwi	0, 17, 25
3695	rotlwi	5, 17, 14
3696	xor	0, 0, 5
3697	srwi	5, 17, 3
3698	xor	0, 0, 5
3699	add	16, 16, 0
3700	rotlwi	0, 30, 15
3701	rotlwi	5, 30, 13
3702	xor	0, 0, 5
3703	srwi	5, 30, 10
3704	xor	0, 0, 5
3705	add	16, 16, 0
3706	add	16, 16, 25
3707L_SHA256_transform_len_after_blk_0:
3708	# Round 1
3709	rotlwi	0, 10, 26
3710	rotlwi	5, 10, 21
3711	xor	0, 0, 5
3712	rotlwi	5, 10, 7
3713	xor	0, 0, 5
3714	add	14, 14, 0
3715	xor	0, 11, 12
3716	and	0, 0, 10
3717	xor	0, 0, 12
3718	add	14, 14, 0
3719	lwz	0, 4(6)
3720	add	14, 14, 17
3721	add	14, 14, 0
3722	add	9, 9, 14
3723	rotlwi	0, 15, 30
3724	rotlwi	5, 15, 19
3725	xor	0, 0, 5
3726	rotlwi	5, 15, 10
3727	xor	0, 0, 5
3728	add	14, 14, 0
3729	xor	5, 15, 7
3730	xor	0, 7, 8
3731	and	0, 0, 5
3732	xor	0, 0, 7
3733	add	14, 14, 0
3734	mfctr	5
3735	cmpwi	0, 5, 1
3736	beq	0, L_SHA256_transform_len_after_blk_1
3737	# Calc new W[1]
3738	rotlwi	0, 18, 25
3739	rotlwi	5, 18, 14
3740	xor	0, 0, 5
3741	srwi	5, 18, 3
3742	xor	0, 0, 5
3743	add	17, 17, 0
3744	rotlwi	0, 31, 15
3745	rotlwi	5, 31, 13
3746	xor	0, 0, 5
3747	srwi	5, 31, 10
3748	xor	0, 0, 5
3749	add	17, 17, 0
3750	add	17, 17, 26
3751L_SHA256_transform_len_after_blk_1:
3752	# Round 2
3753	rotlwi	0, 9, 26
3754	rotlwi	5, 9, 21
3755	xor	0, 0, 5
3756	rotlwi	5, 9, 7
3757	xor	0, 0, 5
3758	add	12, 12, 0
3759	xor	0, 10, 11
3760	and	0, 0, 9
3761	xor	0, 0, 11
3762	add	12, 12, 0
3763	lwz	0, 8(6)
3764	add	12, 12, 18
3765	add	12, 12, 0
3766	add	8, 8, 12
3767	rotlwi	0, 14, 30
3768	rotlwi	5, 14, 19
3769	xor	0, 0, 5
3770	rotlwi	5, 14, 10
3771	xor	0, 0, 5
3772	add	12, 12, 0
3773	xor	5, 14, 15
3774	xor	0, 15, 7
3775	and	0, 0, 5
3776	xor	0, 0, 15
3777	add	12, 12, 0
3778	mfctr	5
3779	cmpwi	0, 5, 1
3780	beq	0, L_SHA256_transform_len_after_blk_2
3781	# Calc new W[2]
3782	rotlwi	0, 19, 25
3783	rotlwi	5, 19, 14
3784	xor	0, 0, 5
3785	srwi	5, 19, 3
3786	xor	0, 0, 5
3787	add	18, 18, 0
3788	rotlwi	0, 16, 15
3789	rotlwi	5, 16, 13
3790	xor	0, 0, 5
3791	srwi	5, 16, 10
3792	xor	0, 0, 5
3793	add	18, 18, 0
3794	add	18, 18, 27
3795L_SHA256_transform_len_after_blk_2:
3796	# Round 3
3797	rotlwi	0, 8, 26
3798	rotlwi	5, 8, 21
3799	xor	0, 0, 5
3800	rotlwi	5, 8, 7
3801	xor	0, 0, 5
3802	add	11, 11, 0
3803	xor	0, 9, 10
3804	and	0, 0, 8
3805	xor	0, 0, 10
3806	add	11, 11, 0
3807	lwz	0, 12(6)
3808	add	11, 11, 19
3809	add	11, 11, 0
3810	add	7, 7, 11
3811	rotlwi	0, 12, 30
3812	rotlwi	5, 12, 19
3813	xor	0, 0, 5
3814	rotlwi	5, 12, 10
3815	xor	0, 0, 5
3816	add	11, 11, 0
3817	xor	5, 12, 14
3818	xor	0, 14, 15
3819	and	0, 0, 5
3820	xor	0, 0, 14
3821	add	11, 11, 0
3822	mfctr	5
3823	cmpwi	0, 5, 1
3824	beq	0, L_SHA256_transform_len_after_blk_3
3825	# Calc new W[3]
3826	rotlwi	0, 20, 25
3827	rotlwi	5, 20, 14
3828	xor	0, 0, 5
3829	srwi	5, 20, 3
3830	xor	0, 0, 5
3831	add	19, 19, 0
3832	rotlwi	0, 17, 15
3833	rotlwi	5, 17, 13
3834	xor	0, 0, 5
3835	srwi	5, 17, 10
3836	xor	0, 0, 5
3837	add	19, 19, 0
3838	add	19, 19, 28
3839L_SHA256_transform_len_after_blk_3:
3840	# Round 4
3841	rotlwi	0, 7, 26
3842	rotlwi	5, 7, 21
3843	xor	0, 0, 5
3844	rotlwi	5, 7, 7
3845	xor	0, 0, 5
3846	add	10, 10, 0
3847	xor	0, 8, 9
3848	and	0, 0, 7
3849	xor	0, 0, 9
3850	add	10, 10, 0
3851	lwz	0, 16(6)
3852	add	10, 10, 20
3853	add	10, 10, 0
3854	add	15, 15, 10
3855	rotlwi	0, 11, 30
3856	rotlwi	5, 11, 19
3857	xor	0, 0, 5
3858	rotlwi	5, 11, 10
3859	xor	0, 0, 5
3860	add	10, 10, 0
3861	xor	5, 11, 12
3862	xor	0, 12, 14
3863	and	0, 0, 5
3864	xor	0, 0, 12
3865	add	10, 10, 0
3866	mfctr	5
3867	cmpwi	0, 5, 1
3868	beq	0, L_SHA256_transform_len_after_blk_4
3869	# Calc new W[4]
3870	rotlwi	0, 21, 25
3871	rotlwi	5, 21, 14
3872	xor	0, 0, 5
3873	srwi	5, 21, 3
3874	xor	0, 0, 5
3875	add	20, 20, 0
3876	rotlwi	0, 18, 15
3877	rotlwi	5, 18, 13
3878	xor	0, 0, 5
3879	srwi	5, 18, 10
3880	xor	0, 0, 5
3881	add	20, 20, 0
3882	add	20, 20, 29
3883L_SHA256_transform_len_after_blk_4:
3884	# Round 5
3885	rotlwi	0, 15, 26
3886	rotlwi	5, 15, 21
3887	xor	0, 0, 5
3888	rotlwi	5, 15, 7
3889	xor	0, 0, 5
3890	add	9, 9, 0
3891	xor	0, 7, 8
3892	and	0, 0, 15
3893	xor	0, 0, 8
3894	add	9, 9, 0
3895	lwz	0, 20(6)
3896	add	9, 9, 21
3897	add	9, 9, 0
3898	add	14, 14, 9
3899	rotlwi	0, 10, 30
3900	rotlwi	5, 10, 19
3901	xor	0, 0, 5
3902	rotlwi	5, 10, 10
3903	xor	0, 0, 5
3904	add	9, 9, 0
3905	xor	5, 10, 11
3906	xor	0, 11, 12
3907	and	0, 0, 5
3908	xor	0, 0, 11
3909	add	9, 9, 0
3910	mfctr	5
3911	cmpwi	0, 5, 1
3912	beq	0, L_SHA256_transform_len_after_blk_5
3913	# Calc new W[5]
3914	rotlwi	0, 22, 25
3915	rotlwi	5, 22, 14
3916	xor	0, 0, 5
3917	srwi	5, 22, 3
3918	xor	0, 0, 5
3919	add	21, 21, 0
3920	rotlwi	0, 19, 15
3921	rotlwi	5, 19, 13
3922	xor	0, 0, 5
3923	srwi	5, 19, 10
3924	xor	0, 0, 5
3925	add	21, 21, 0
3926	add	21, 21, 30
3927L_SHA256_transform_len_after_blk_5:
3928	# Round 6
3929	rotlwi	0, 14, 26
3930	rotlwi	5, 14, 21
3931	xor	0, 0, 5
3932	rotlwi	5, 14, 7
3933	xor	0, 0, 5
3934	add	8, 8, 0
3935	xor	0, 15, 7
3936	and	0, 0, 14
3937	xor	0, 0, 7
3938	add	8, 8, 0
3939	lwz	0, 24(6)
3940	add	8, 8, 22
3941	add	8, 8, 0
3942	add	12, 12, 8
3943	rotlwi	0, 9, 30
3944	rotlwi	5, 9, 19
3945	xor	0, 0, 5
3946	rotlwi	5, 9, 10
3947	xor	0, 0, 5
3948	add	8, 8, 0
3949	xor	5, 9, 10
3950	xor	0, 10, 11
3951	and	0, 0, 5
3952	xor	0, 0, 10
3953	add	8, 8, 0
3954	mfctr	5
3955	cmpwi	0, 5, 1
3956	beq	0, L_SHA256_transform_len_after_blk_6
3957	# Calc new W[6]
3958	rotlwi	0, 23, 25
3959	rotlwi	5, 23, 14
3960	xor	0, 0, 5
3961	srwi	5, 23, 3
3962	xor	0, 0, 5
3963	add	22, 22, 0
3964	rotlwi	0, 20, 15
3965	rotlwi	5, 20, 13
3966	xor	0, 0, 5
3967	srwi	5, 20, 10
3968	xor	0, 0, 5
3969	add	22, 22, 0
3970	add	22, 22, 31
3971L_SHA256_transform_len_after_blk_6:
3972	# Round 7
3973	rotlwi	0, 12, 26
3974	rotlwi	5, 12, 21
3975	xor	0, 0, 5
3976	rotlwi	5, 12, 7
3977	xor	0, 0, 5
3978	add	7, 7, 0
3979	xor	0, 14, 15
3980	and	0, 0, 12
3981	xor	0, 0, 15
3982	add	7, 7, 0
3983	lwz	0, 28(6)
3984	add	7, 7, 23
3985	add	7, 7, 0
3986	add	11, 11, 7
3987	rotlwi	0, 8, 30
3988	rotlwi	5, 8, 19
3989	xor	0, 0, 5
3990	rotlwi	5, 8, 10
3991	xor	0, 0, 5
3992	add	7, 7, 0
3993	xor	5, 8, 9
3994	xor	0, 9, 10
3995	and	0, 0, 5
3996	xor	0, 0, 9
3997	add	7, 7, 0
3998	mfctr	5
3999	cmpwi	0, 5, 1
4000	beq	0, L_SHA256_transform_len_after_blk_7
4001	# Calc new W[7]
4002	rotlwi	0, 24, 25
4003	rotlwi	5, 24, 14
4004	xor	0, 0, 5
4005	srwi	5, 24, 3
4006	xor	0, 0, 5
4007	add	23, 23, 0
4008	rotlwi	0, 21, 15
4009	rotlwi	5, 21, 13
4010	xor	0, 0, 5
4011	srwi	5, 21, 10
4012	xor	0, 0, 5
4013	add	23, 23, 0
4014	add	23, 23, 16
4015L_SHA256_transform_len_after_blk_7:
4016	# Round 8
4017	rotlwi	0, 11, 26
4018	rotlwi	5, 11, 21
4019	xor	0, 0, 5
4020	rotlwi	5, 11, 7
4021	xor	0, 0, 5
4022	add	15, 15, 0
4023	xor	0, 12, 14
4024	and	0, 0, 11
4025	xor	0, 0, 14
4026	add	15, 15, 0
4027	lwz	0, 32(6)
4028	add	15, 15, 24
4029	add	15, 15, 0
4030	add	10, 10, 15
4031	rotlwi	0, 7, 30
4032	rotlwi	5, 7, 19
4033	xor	0, 0, 5
4034	rotlwi	5, 7, 10
4035	xor	0, 0, 5
4036	add	15, 15, 0
4037	xor	5, 7, 8
4038	xor	0, 8, 9
4039	and	0, 0, 5
4040	xor	0, 0, 8
4041	add	15, 15, 0
4042	mfctr	5
4043	cmpwi	0, 5, 1
4044	beq	0, L_SHA256_transform_len_after_blk_8
4045	# Calc new W[8]
4046	rotlwi	0, 25, 25
4047	rotlwi	5, 25, 14
4048	xor	0, 0, 5
4049	srwi	5, 25, 3
4050	xor	0, 0, 5
4051	add	24, 24, 0
4052	rotlwi	0, 22, 15
4053	rotlwi	5, 22, 13
4054	xor	0, 0, 5
4055	srwi	5, 22, 10
4056	xor	0, 0, 5
4057	add	24, 24, 0
4058	add	24, 24, 17
4059L_SHA256_transform_len_after_blk_8:
4060	# Round 9
4061	rotlwi	0, 10, 26
4062	rotlwi	5, 10, 21
4063	xor	0, 0, 5
4064	rotlwi	5, 10, 7
4065	xor	0, 0, 5
4066	add	14, 14, 0
4067	xor	0, 11, 12
4068	and	0, 0, 10
4069	xor	0, 0, 12
4070	add	14, 14, 0
4071	lwz	0, 36(6)
4072	add	14, 14, 25
4073	add	14, 14, 0
4074	add	9, 9, 14
4075	rotlwi	0, 15, 30
4076	rotlwi	5, 15, 19
4077	xor	0, 0, 5
4078	rotlwi	5, 15, 10
4079	xor	0, 0, 5
4080	add	14, 14, 0
4081	xor	5, 15, 7
4082	xor	0, 7, 8
4083	and	0, 0, 5
4084	xor	0, 0, 7
4085	add	14, 14, 0
4086	mfctr	5
4087	cmpwi	0, 5, 1
4088	beq	0, L_SHA256_transform_len_after_blk_9
4089	# Calc new W[9]
4090	rotlwi	0, 26, 25
4091	rotlwi	5, 26, 14
4092	xor	0, 0, 5
4093	srwi	5, 26, 3
4094	xor	0, 0, 5
4095	add	25, 25, 0
4096	rotlwi	0, 23, 15
4097	rotlwi	5, 23, 13
4098	xor	0, 0, 5
4099	srwi	5, 23, 10
4100	xor	0, 0, 5
4101	add	25, 25, 0
4102	add	25, 25, 18
4103L_SHA256_transform_len_after_blk_9:
4104	# Round 10
4105	rotlwi	0, 9, 26
4106	rotlwi	5, 9, 21
4107	xor	0, 0, 5
4108	rotlwi	5, 9, 7
4109	xor	0, 0, 5
4110	add	12, 12, 0
4111	xor	0, 10, 11
4112	and	0, 0, 9
4113	xor	0, 0, 11
4114	add	12, 12, 0
4115	lwz	0, 40(6)
4116	add	12, 12, 26
4117	add	12, 12, 0
4118	add	8, 8, 12
4119	rotlwi	0, 14, 30
4120	rotlwi	5, 14, 19
4121	xor	0, 0, 5
4122	rotlwi	5, 14, 10
4123	xor	0, 0, 5
4124	add	12, 12, 0
4125	xor	5, 14, 15
4126	xor	0, 15, 7
4127	and	0, 0, 5
4128	xor	0, 0, 15
4129	add	12, 12, 0
4130	mfctr	5
4131	cmpwi	0, 5, 1
4132	beq	0, L_SHA256_transform_len_after_blk_10
4133	# Calc new W[10]
4134	rotlwi	0, 27, 25
4135	rotlwi	5, 27, 14
4136	xor	0, 0, 5
4137	srwi	5, 27, 3
4138	xor	0, 0, 5
4139	add	26, 26, 0
4140	rotlwi	0, 24, 15
4141	rotlwi	5, 24, 13
4142	xor	0, 0, 5
4143	srwi	5, 24, 10
4144	xor	0, 0, 5
4145	add	26, 26, 0
4146	add	26, 26, 19
4147L_SHA256_transform_len_after_blk_10:
4148	# Round 11
4149	rotlwi	0, 8, 26
4150	rotlwi	5, 8, 21
4151	xor	0, 0, 5
4152	rotlwi	5, 8, 7
4153	xor	0, 0, 5
4154	add	11, 11, 0
4155	xor	0, 9, 10
4156	and	0, 0, 8
4157	xor	0, 0, 10
4158	add	11, 11, 0
4159	lwz	0, 44(6)
4160	add	11, 11, 27
4161	add	11, 11, 0
4162	add	7, 7, 11
4163	rotlwi	0, 12, 30
4164	rotlwi	5, 12, 19
4165	xor	0, 0, 5
4166	rotlwi	5, 12, 10
4167	xor	0, 0, 5
4168	add	11, 11, 0
4169	xor	5, 12, 14
4170	xor	0, 14, 15
4171	and	0, 0, 5
4172	xor	0, 0, 14
4173	add	11, 11, 0
4174	mfctr	5
4175	cmpwi	0, 5, 1
4176	beq	0, L_SHA256_transform_len_after_blk_11
4177	# Calc new W[11]
4178	rotlwi	0, 28, 25
4179	rotlwi	5, 28, 14
4180	xor	0, 0, 5
4181	srwi	5, 28, 3
4182	xor	0, 0, 5
4183	add	27, 27, 0
4184	rotlwi	0, 25, 15
4185	rotlwi	5, 25, 13
4186	xor	0, 0, 5
4187	srwi	5, 25, 10
4188	xor	0, 0, 5
4189	add	27, 27, 0
4190	add	27, 27, 20
4191L_SHA256_transform_len_after_blk_11:
4192	# Round 12
4193	rotlwi	0, 7, 26
4194	rotlwi	5, 7, 21
4195	xor	0, 0, 5
4196	rotlwi	5, 7, 7
4197	xor	0, 0, 5
4198	add	10, 10, 0
4199	xor	0, 8, 9
4200	and	0, 0, 7
4201	xor	0, 0, 9
4202	add	10, 10, 0
4203	lwz	0, 48(6)
4204	add	10, 10, 28
4205	add	10, 10, 0
4206	add	15, 15, 10
4207	rotlwi	0, 11, 30
4208	rotlwi	5, 11, 19
4209	xor	0, 0, 5
4210	rotlwi	5, 11, 10
4211	xor	0, 0, 5
4212	add	10, 10, 0
4213	xor	5, 11, 12
4214	xor	0, 12, 14
4215	and	0, 0, 5
4216	xor	0, 0, 12
4217	add	10, 10, 0
4218	mfctr	5
4219	cmpwi	0, 5, 1
4220	beq	0, L_SHA256_transform_len_after_blk_12
4221	# Calc new W[12]
4222	rotlwi	0, 29, 25
4223	rotlwi	5, 29, 14
4224	xor	0, 0, 5
4225	srwi	5, 29, 3
4226	xor	0, 0, 5
4227	add	28, 28, 0
4228	rotlwi	0, 26, 15
4229	rotlwi	5, 26, 13
4230	xor	0, 0, 5
4231	srwi	5, 26, 10
4232	xor	0, 0, 5
4233	add	28, 28, 0
4234	add	28, 28, 21
4235L_SHA256_transform_len_after_blk_12:
4236	# Round 13
4237	rotlwi	0, 15, 26
4238	rotlwi	5, 15, 21
4239	xor	0, 0, 5
4240	rotlwi	5, 15, 7
4241	xor	0, 0, 5
4242	add	9, 9, 0
4243	xor	0, 7, 8
4244	and	0, 0, 15
4245	xor	0, 0, 8
4246	add	9, 9, 0
4247	lwz	0, 52(6)
4248	add	9, 9, 29
4249	add	9, 9, 0
4250	add	14, 14, 9
4251	rotlwi	0, 10, 30
4252	rotlwi	5, 10, 19
4253	xor	0, 0, 5
4254	rotlwi	5, 10, 10
4255	xor	0, 0, 5
4256	add	9, 9, 0
4257	xor	5, 10, 11
4258	xor	0, 11, 12
4259	and	0, 0, 5
4260	xor	0, 0, 11
4261	add	9, 9, 0
4262	mfctr	5
4263	cmpwi	0, 5, 1
4264	beq	0, L_SHA256_transform_len_after_blk_13
4265	# Calc new W[13]
4266	rotlwi	0, 30, 25
4267	rotlwi	5, 30, 14
4268	xor	0, 0, 5
4269	srwi	5, 30, 3
4270	xor	0, 0, 5
4271	add	29, 29, 0
4272	rotlwi	0, 27, 15
4273	rotlwi	5, 27, 13
4274	xor	0, 0, 5
4275	srwi	5, 27, 10
4276	xor	0, 0, 5
4277	add	29, 29, 0
4278	add	29, 29, 22
4279L_SHA256_transform_len_after_blk_13:
4280	# Round 14
4281	rotlwi	0, 14, 26
4282	rotlwi	5, 14, 21
4283	xor	0, 0, 5
4284	rotlwi	5, 14, 7
4285	xor	0, 0, 5
4286	add	8, 8, 0
4287	xor	0, 15, 7
4288	and	0, 0, 14
4289	xor	0, 0, 7
4290	add	8, 8, 0
4291	lwz	0, 56(6)
4292	add	8, 8, 30
4293	add	8, 8, 0
4294	add	12, 12, 8
4295	rotlwi	0, 9, 30
4296	rotlwi	5, 9, 19
4297	xor	0, 0, 5
4298	rotlwi	5, 9, 10
4299	xor	0, 0, 5
4300	add	8, 8, 0
4301	xor	5, 9, 10
4302	xor	0, 10, 11
4303	and	0, 0, 5
4304	xor	0, 0, 10
4305	add	8, 8, 0
4306	mfctr	5
4307	cmpwi	0, 5, 1
4308	beq	0, L_SHA256_transform_len_after_blk_14
4309	# Calc new W[14]
4310	rotlwi	0, 31, 25
4311	rotlwi	5, 31, 14
4312	xor	0, 0, 5
4313	srwi	5, 31, 3
4314	xor	0, 0, 5
4315	add	30, 30, 0
4316	rotlwi	0, 28, 15
4317	rotlwi	5, 28, 13
4318	xor	0, 0, 5
4319	srwi	5, 28, 10
4320	xor	0, 0, 5
4321	add	30, 30, 0
4322	add	30, 30, 23
4323L_SHA256_transform_len_after_blk_14:
4324	# Round 15
4325	rotlwi	0, 12, 26
4326	rotlwi	5, 12, 21
4327	xor	0, 0, 5
4328	rotlwi	5, 12, 7
4329	xor	0, 0, 5
4330	add	7, 7, 0
4331	xor	0, 14, 15
4332	and	0, 0, 12
4333	xor	0, 0, 15
4334	add	7, 7, 0
4335	lwz	0, 60(6)
4336	add	7, 7, 31
4337	add	7, 7, 0
4338	add	11, 11, 7
4339	rotlwi	0, 8, 30
4340	rotlwi	5, 8, 19
4341	xor	0, 0, 5
4342	rotlwi	5, 8, 10
4343	xor	0, 0, 5
4344	add	7, 7, 0
4345	xor	5, 8, 9
4346	xor	0, 9, 10
4347	and	0, 0, 5
4348	xor	0, 0, 9
4349	add	7, 7, 0
4350	mfctr	5
4351	cmpwi	0, 5, 1
4352	beq	0, L_SHA256_transform_len_after_blk_15
4353	# Calc new W[15]
4354	rotlwi	0, 16, 25
4355	rotlwi	5, 16, 14
4356	xor	0, 0, 5
4357	srwi	5, 16, 3
4358	xor	0, 0, 5
4359	add	31, 31, 0
4360	rotlwi	0, 29, 15
4361	rotlwi	5, 29, 13
4362	xor	0, 0, 5
4363	srwi	5, 29, 10
4364	xor	0, 0, 5
4365	add	31, 31, 0
4366	add	31, 31, 24
4367L_SHA256_transform_len_after_blk_15:
4368	addi	6, 6, 0x40
4369	bdnz	L_SHA256_transform_len_start
4370	subi	6, 6, 0x100
4371	# Add in digest from start
4372	lwz	0, 0(3)
4373	lwz	5, 4(3)
4374	add	7, 7, 0
4375	add	8, 8, 5
4376	lwz	0, 8(3)
4377	lwz	5, 12(3)
4378	add	9, 9, 0
4379	add	10, 10, 5
4380	lwz	0, 16(3)
4381	lwz	5, 20(3)
4382	add	11, 11, 0
4383	add	12, 12, 5
4384	lwz	0, 24(3)
4385	lwz	5, 28(3)
4386	add	14, 14, 0
4387	add	15, 15, 5
4388	stw	7, 0(3)
4389	stw	8, 4(3)
4390	stw	9, 8(3)
4391	stw	10, 12(3)
4392	stw	11, 16(3)
4393	stw	12, 20(3)
4394	stw	14, 24(3)
4395	stw	15, 28(3)
4396	lwz	5, 0(1)
4397	mtctr	5
4398	subi	5, 5, 1
4399	addi	4, 4, 0x40
4400	stw	5, 0(1)
4401	bdnz	L_SHA256_transform_len_begin
4402	addi	1, 1, 4
4403#endif /* WOLFSSL_PPC32_ASM_SMALL */
4404	lwz	0, 72(1)
4405	mtlr	0
4406	lwz	14, 0(1)
4407	lwz	15, 4(1)
4408	lwz	16, 8(1)
4409	lwz	17, 12(1)
4410	lwz	18, 16(1)
4411	lwz	19, 20(1)
4412	lwz	20, 24(1)
4413	lwz	21, 28(1)
4414	lwz	22, 32(1)
4415	lwz	23, 36(1)
4416	lwz	24, 40(1)
4417	lwz	25, 44(1)
4418	lwz	26, 48(1)
4419	lwz	27, 52(1)
4420	lwz	28, 56(1)
4421	lwz	29, 60(1)
4422	lwz	30, 64(1)
4423	lwz	31, 68(1)
4424	addi	1, 1, 0x4c
4425	blr
4426	.size	Transform_Sha256_Len,.-Transform_Sha256_Len
4427#else
4428/* PIC version not using register 30 or 31 */
4429	.section	".text"
4430	.align	4
4431	.globl	Transform_Sha256_Len
4432	.type	Transform_Sha256_Len, @function
4433Transform_Sha256_Len:
4434	stwu	1, -68(1)
4435	mflr	0
4436	stw	0, 64(1)
4437	stw	14, 0(1)
4438	stw	15, 4(1)
4439	stw	16, 8(1)
4440	stw	17, 12(1)
4441	stw	18, 16(1)
4442	stw	19, 20(1)
4443	stw	20, 24(1)
4444	stw	21, 28(1)
4445	stw	22, 32(1)
4446	stw	23, 36(1)
4447	stw	24, 40(1)
4448	stw	25, 44(1)
4449	stw	26, 48(1)
4450	stw	27, 52(1)
4451	stw	28, 56(1)
4452	stw	29, 60(1)
4453	srwi	5, 5, 6
4454	lis	6, L_SHA256_transform_len_k@ha
4455	la	6, L_SHA256_transform_len_k@l(6)
4456#ifndef WOLFSSL_PPC32_ASM_SMALL
4457	subi	1, 1, 8
4458	stw	3, 0(1)
4459	stw	4, 4(1)
4460	mtctr	5
4461	# Copy digest to add in at end
4462	lwz	0, 0(3)
4463	lwz	4, 4(3)
4464	lwz	7, 8(3)
4465	lwz	8, 12(3)
4466	lwz	9, 16(3)
4467	lwz	10, 20(3)
4468	lwz	11, 24(3)
4469	lwz	12, 28(3)
4470	lwz	3, 4(1)
4471	# Start of loop processing a block
4472L_SHA256_transform_len_begin:
4473	# Load W - 64 bytes
4474	lwz	14, 0(3)
4475	lwz	15, 4(3)
4476	lwz	16, 8(3)
4477	lwz	17, 12(3)
4478	lwz	18, 16(3)
4479	lwz	19, 20(3)
4480	lwz	20, 24(3)
4481	lwz	21, 28(3)
4482	lwz	22, 32(3)
4483	lwz	23, 36(3)
4484	lwz	24, 40(3)
4485	lwz	25, 44(3)
4486	lwz	26, 48(3)
4487	lwz	27, 52(3)
4488	lwz	28, 56(3)
4489	lwz	29, 60(3)
4490	# Start of 16 rounds
4491	# Round 0
4492	rotlwi	3, 9, 26
4493	rotlwi	5, 9, 21
4494	xor	3, 3, 5
4495	rotlwi	5, 9, 7
4496	xor	3, 3, 5
4497	add	12, 12, 3
4498	xor	3, 10, 11
4499	and	3, 3, 9
4500	xor	3, 3, 11
4501	add	12, 12, 3
4502	lwz	3, 0(6)
4503	add	12, 12, 14
4504	add	12, 12, 3
4505	add	8, 8, 12
4506	rotlwi	3, 0, 30
4507	rotlwi	5, 0, 19
4508	xor	3, 3, 5
4509	rotlwi	5, 0, 10
4510	xor	3, 3, 5
4511	add	12, 12, 3
4512	xor	5, 0, 4
4513	xor	3, 4, 7
4514	and	3, 3, 5
4515	xor	3, 3, 4
4516	add	12, 12, 3
4517	# Calc new W[0]
4518	rotlwi	3, 15, 25
4519	rotlwi	5, 15, 14
4520	xor	3, 3, 5
4521	srwi	5, 15, 3
4522	xor	3, 3, 5
4523	add	14, 14, 3
4524	rotlwi	3, 28, 15
4525	rotlwi	5, 28, 13
4526	xor	3, 3, 5
4527	srwi	5, 28, 10
4528	xor	3, 3, 5
4529	add	14, 14, 3
4530	add	14, 14, 23
4531	# Round 1
4532	rotlwi	3, 8, 26
4533	rotlwi	5, 8, 21
4534	xor	3, 3, 5
4535	rotlwi	5, 8, 7
4536	xor	3, 3, 5
4537	add	11, 11, 3
4538	xor	3, 9, 10
4539	and	3, 3, 8
4540	xor	3, 3, 10
4541	add	11, 11, 3
4542	lwz	3, 4(6)
4543	add	11, 11, 15
4544	add	11, 11, 3
4545	add	7, 7, 11
4546	rotlwi	3, 12, 30
4547	rotlwi	5, 12, 19
4548	xor	3, 3, 5
4549	rotlwi	5, 12, 10
4550	xor	3, 3, 5
4551	add	11, 11, 3
4552	xor	5, 12, 0
4553	xor	3, 0, 4
4554	and	3, 3, 5
4555	xor	3, 3, 0
4556	add	11, 11, 3
4557	# Calc new W[1]
4558	rotlwi	3, 16, 25
4559	rotlwi	5, 16, 14
4560	xor	3, 3, 5
4561	srwi	5, 16, 3
4562	xor	3, 3, 5
4563	add	15, 15, 3
4564	rotlwi	3, 29, 15
4565	rotlwi	5, 29, 13
4566	xor	3, 3, 5
4567	srwi	5, 29, 10
4568	xor	3, 3, 5
4569	add	15, 15, 3
4570	add	15, 15, 24
4571	# Round 2
4572	rotlwi	3, 7, 26
4573	rotlwi	5, 7, 21
4574	xor	3, 3, 5
4575	rotlwi	5, 7, 7
4576	xor	3, 3, 5
4577	add	10, 10, 3
4578	xor	3, 8, 9
4579	and	3, 3, 7
4580	xor	3, 3, 9
4581	add	10, 10, 3
4582	lwz	3, 8(6)
4583	add	10, 10, 16
4584	add	10, 10, 3
4585	add	4, 4, 10
4586	rotlwi	3, 11, 30
4587	rotlwi	5, 11, 19
4588	xor	3, 3, 5
4589	rotlwi	5, 11, 10
4590	xor	3, 3, 5
4591	add	10, 10, 3
4592	xor	5, 11, 12
4593	xor	3, 12, 0
4594	and	3, 3, 5
4595	xor	3, 3, 12
4596	add	10, 10, 3
4597	# Calc new W[2]
4598	rotlwi	3, 17, 25
4599	rotlwi	5, 17, 14
4600	xor	3, 3, 5
4601	srwi	5, 17, 3
4602	xor	3, 3, 5
4603	add	16, 16, 3
4604	rotlwi	3, 14, 15
4605	rotlwi	5, 14, 13
4606	xor	3, 3, 5
4607	srwi	5, 14, 10
4608	xor	3, 3, 5
4609	add	16, 16, 3
4610	add	16, 16, 25
4611	# Round 3
4612	rotlwi	3, 4, 26
4613	rotlwi	5, 4, 21
4614	xor	3, 3, 5
4615	rotlwi	5, 4, 7
4616	xor	3, 3, 5
4617	add	9, 9, 3
4618	xor	3, 7, 8
4619	and	3, 3, 4
4620	xor	3, 3, 8
4621	add	9, 9, 3
4622	lwz	3, 12(6)
4623	add	9, 9, 17
4624	add	9, 9, 3
4625	add	0, 0, 9
4626	rotlwi	3, 10, 30
4627	rotlwi	5, 10, 19
4628	xor	3, 3, 5
4629	rotlwi	5, 10, 10
4630	xor	3, 3, 5
4631	add	9, 9, 3
4632	xor	5, 10, 11
4633	xor	3, 11, 12
4634	and	3, 3, 5
4635	xor	3, 3, 11
4636	add	9, 9, 3
4637	# Calc new W[3]
4638	rotlwi	3, 18, 25
4639	rotlwi	5, 18, 14
4640	xor	3, 3, 5
4641	srwi	5, 18, 3
4642	xor	3, 3, 5
4643	add	17, 17, 3
4644	rotlwi	3, 15, 15
4645	rotlwi	5, 15, 13
4646	xor	3, 3, 5
4647	srwi	5, 15, 10
4648	xor	3, 3, 5
4649	add	17, 17, 3
4650	add	17, 17, 26
4651	# Round 4
4652	rotlwi	3, 0, 26
4653	rotlwi	5, 0, 21
4654	xor	3, 3, 5
4655	rotlwi	5, 0, 7
4656	xor	3, 3, 5
4657	add	8, 8, 3
4658	xor	3, 4, 7
4659	and	3, 3, 0
4660	xor	3, 3, 7
4661	add	8, 8, 3
4662	lwz	3, 16(6)
4663	add	8, 8, 18
4664	add	8, 8, 3
4665	add	12, 12, 8
4666	rotlwi	3, 9, 30
4667	rotlwi	5, 9, 19
4668	xor	3, 3, 5
4669	rotlwi	5, 9, 10
4670	xor	3, 3, 5
4671	add	8, 8, 3
4672	xor	5, 9, 10
4673	xor	3, 10, 11
4674	and	3, 3, 5
4675	xor	3, 3, 10
4676	add	8, 8, 3
4677	# Calc new W[4]
4678	rotlwi	3, 19, 25
4679	rotlwi	5, 19, 14
4680	xor	3, 3, 5
4681	srwi	5, 19, 3
4682	xor	3, 3, 5
4683	add	18, 18, 3
4684	rotlwi	3, 16, 15
4685	rotlwi	5, 16, 13
4686	xor	3, 3, 5
4687	srwi	5, 16, 10
4688	xor	3, 3, 5
4689	add	18, 18, 3
4690	add	18, 18, 27
4691	# Round 5
4692	rotlwi	3, 12, 26
4693	rotlwi	5, 12, 21
4694	xor	3, 3, 5
4695	rotlwi	5, 12, 7
4696	xor	3, 3, 5
4697	add	7, 7, 3
4698	xor	3, 0, 4
4699	and	3, 3, 12
4700	xor	3, 3, 4
4701	add	7, 7, 3
4702	lwz	3, 20(6)
4703	add	7, 7, 19
4704	add	7, 7, 3
4705	add	11, 11, 7
4706	rotlwi	3, 8, 30
4707	rotlwi	5, 8, 19
4708	xor	3, 3, 5
4709	rotlwi	5, 8, 10
4710	xor	3, 3, 5
4711	add	7, 7, 3
4712	xor	5, 8, 9
4713	xor	3, 9, 10
4714	and	3, 3, 5
4715	xor	3, 3, 9
4716	add	7, 7, 3
4717	# Calc new W[5]
4718	rotlwi	3, 20, 25
4719	rotlwi	5, 20, 14
4720	xor	3, 3, 5
4721	srwi	5, 20, 3
4722	xor	3, 3, 5
4723	add	19, 19, 3
4724	rotlwi	3, 17, 15
4725	rotlwi	5, 17, 13
4726	xor	3, 3, 5
4727	srwi	5, 17, 10
4728	xor	3, 3, 5
4729	add	19, 19, 3
4730	add	19, 19, 28
4731	# Round 6
4732	rotlwi	3, 11, 26
4733	rotlwi	5, 11, 21
4734	xor	3, 3, 5
4735	rotlwi	5, 11, 7
4736	xor	3, 3, 5
4737	add	4, 4, 3
4738	xor	3, 12, 0
4739	and	3, 3, 11
4740	xor	3, 3, 0
4741	add	4, 4, 3
4742	lwz	3, 24(6)
4743	add	4, 4, 20
4744	add	4, 4, 3
4745	add	10, 10, 4
4746	rotlwi	3, 7, 30
4747	rotlwi	5, 7, 19
4748	xor	3, 3, 5
4749	rotlwi	5, 7, 10
4750	xor	3, 3, 5
4751	add	4, 4, 3
4752	xor	5, 7, 8
4753	xor	3, 8, 9
4754	and	3, 3, 5
4755	xor	3, 3, 8
4756	add	4, 4, 3
4757	# Calc new W[6]
4758	rotlwi	3, 21, 25
4759	rotlwi	5, 21, 14
4760	xor	3, 3, 5
4761	srwi	5, 21, 3
4762	xor	3, 3, 5
4763	add	20, 20, 3
4764	rotlwi	3, 18, 15
4765	rotlwi	5, 18, 13
4766	xor	3, 3, 5
4767	srwi	5, 18, 10
4768	xor	3, 3, 5
4769	add	20, 20, 3
4770	add	20, 20, 29
4771	# Round 7
4772	rotlwi	3, 10, 26
4773	rotlwi	5, 10, 21
4774	xor	3, 3, 5
4775	rotlwi	5, 10, 7
4776	xor	3, 3, 5
4777	add	0, 0, 3
4778	xor	3, 11, 12
4779	and	3, 3, 10
4780	xor	3, 3, 12
4781	add	0, 0, 3
4782	lwz	3, 28(6)
4783	add	0, 0, 21
4784	add	0, 0, 3
4785	add	9, 9, 0
4786	rotlwi	3, 4, 30
4787	rotlwi	5, 4, 19
4788	xor	3, 3, 5
4789	rotlwi	5, 4, 10
4790	xor	3, 3, 5
4791	add	0, 0, 3
4792	xor	5, 4, 7
4793	xor	3, 7, 8
4794	and	3, 3, 5
4795	xor	3, 3, 7
4796	add	0, 0, 3
4797	# Calc new W[7]
4798	rotlwi	3, 22, 25
4799	rotlwi	5, 22, 14
4800	xor	3, 3, 5
4801	srwi	5, 22, 3
4802	xor	3, 3, 5
4803	add	21, 21, 3
4804	rotlwi	3, 19, 15
4805	rotlwi	5, 19, 13
4806	xor	3, 3, 5
4807	srwi	5, 19, 10
4808	xor	3, 3, 5
4809	add	21, 21, 3
4810	add	21, 21, 14
4811	# Round 8
4812	rotlwi	3, 9, 26
4813	rotlwi	5, 9, 21
4814	xor	3, 3, 5
4815	rotlwi	5, 9, 7
4816	xor	3, 3, 5
4817	add	12, 12, 3
4818	xor	3, 10, 11
4819	and	3, 3, 9
4820	xor	3, 3, 11
4821	add	12, 12, 3
4822	lwz	3, 32(6)
4823	add	12, 12, 22
4824	add	12, 12, 3
4825	add	8, 8, 12
4826	rotlwi	3, 0, 30
4827	rotlwi	5, 0, 19
4828	xor	3, 3, 5
4829	rotlwi	5, 0, 10
4830	xor	3, 3, 5
4831	add	12, 12, 3
4832	xor	5, 0, 4
4833	xor	3, 4, 7
4834	and	3, 3, 5
4835	xor	3, 3, 4
4836	add	12, 12, 3
4837	# Calc new W[8]
4838	rotlwi	3, 23, 25
4839	rotlwi	5, 23, 14
4840	xor	3, 3, 5
4841	srwi	5, 23, 3
4842	xor	3, 3, 5
4843	add	22, 22, 3
4844	rotlwi	3, 20, 15
4845	rotlwi	5, 20, 13
4846	xor	3, 3, 5
4847	srwi	5, 20, 10
4848	xor	3, 3, 5
4849	add	22, 22, 3
4850	add	22, 22, 15
4851	# Round 9
4852	rotlwi	3, 8, 26
4853	rotlwi	5, 8, 21
4854	xor	3, 3, 5
4855	rotlwi	5, 8, 7
4856	xor	3, 3, 5
4857	add	11, 11, 3
4858	xor	3, 9, 10
4859	and	3, 3, 8
4860	xor	3, 3, 10
4861	add	11, 11, 3
4862	lwz	3, 36(6)
4863	add	11, 11, 23
4864	add	11, 11, 3
4865	add	7, 7, 11
4866	rotlwi	3, 12, 30
4867	rotlwi	5, 12, 19
4868	xor	3, 3, 5
4869	rotlwi	5, 12, 10
4870	xor	3, 3, 5
4871	add	11, 11, 3
4872	xor	5, 12, 0
4873	xor	3, 0, 4
4874	and	3, 3, 5
4875	xor	3, 3, 0
4876	add	11, 11, 3
4877	# Calc new W[9]
4878	rotlwi	3, 24, 25
4879	rotlwi	5, 24, 14
4880	xor	3, 3, 5
4881	srwi	5, 24, 3
4882	xor	3, 3, 5
4883	add	23, 23, 3
4884	rotlwi	3, 21, 15
4885	rotlwi	5, 21, 13
4886	xor	3, 3, 5
4887	srwi	5, 21, 10
4888	xor	3, 3, 5
4889	add	23, 23, 3
4890	add	23, 23, 16
4891	# Round 10
4892	rotlwi	3, 7, 26
4893	rotlwi	5, 7, 21
4894	xor	3, 3, 5
4895	rotlwi	5, 7, 7
4896	xor	3, 3, 5
4897	add	10, 10, 3
4898	xor	3, 8, 9
4899	and	3, 3, 7
4900	xor	3, 3, 9
4901	add	10, 10, 3
4902	lwz	3, 40(6)
4903	add	10, 10, 24
4904	add	10, 10, 3
4905	add	4, 4, 10
4906	rotlwi	3, 11, 30
4907	rotlwi	5, 11, 19
4908	xor	3, 3, 5
4909	rotlwi	5, 11, 10
4910	xor	3, 3, 5
4911	add	10, 10, 3
4912	xor	5, 11, 12
4913	xor	3, 12, 0
4914	and	3, 3, 5
4915	xor	3, 3, 12
4916	add	10, 10, 3
4917	# Calc new W[10]
4918	rotlwi	3, 25, 25
4919	rotlwi	5, 25, 14
4920	xor	3, 3, 5
4921	srwi	5, 25, 3
4922	xor	3, 3, 5
4923	add	24, 24, 3
4924	rotlwi	3, 22, 15
4925	rotlwi	5, 22, 13
4926	xor	3, 3, 5
4927	srwi	5, 22, 10
4928	xor	3, 3, 5
4929	add	24, 24, 3
4930	add	24, 24, 17
4931	# Round 11
4932	rotlwi	3, 4, 26
4933	rotlwi	5, 4, 21
4934	xor	3, 3, 5
4935	rotlwi	5, 4, 7
4936	xor	3, 3, 5
4937	add	9, 9, 3
4938	xor	3, 7, 8
4939	and	3, 3, 4
4940	xor	3, 3, 8
4941	add	9, 9, 3
4942	lwz	3, 44(6)
4943	add	9, 9, 25
4944	add	9, 9, 3
4945	add	0, 0, 9
4946	rotlwi	3, 10, 30
4947	rotlwi	5, 10, 19
4948	xor	3, 3, 5
4949	rotlwi	5, 10, 10
4950	xor	3, 3, 5
4951	add	9, 9, 3
4952	xor	5, 10, 11
4953	xor	3, 11, 12
4954	and	3, 3, 5
4955	xor	3, 3, 11
4956	add	9, 9, 3
4957	# Calc new W[11]
4958	rotlwi	3, 26, 25
4959	rotlwi	5, 26, 14
4960	xor	3, 3, 5
4961	srwi	5, 26, 3
4962	xor	3, 3, 5
4963	add	25, 25, 3
4964	rotlwi	3, 23, 15
4965	rotlwi	5, 23, 13
4966	xor	3, 3, 5
4967	srwi	5, 23, 10
4968	xor	3, 3, 5
4969	add	25, 25, 3
4970	add	25, 25, 18
4971	# Round 12
4972	rotlwi	3, 0, 26
4973	rotlwi	5, 0, 21
4974	xor	3, 3, 5
4975	rotlwi	5, 0, 7
4976	xor	3, 3, 5
4977	add	8, 8, 3
4978	xor	3, 4, 7
4979	and	3, 3, 0
4980	xor	3, 3, 7
4981	add	8, 8, 3
4982	lwz	3, 48(6)
4983	add	8, 8, 26
4984	add	8, 8, 3
4985	add	12, 12, 8
4986	rotlwi	3, 9, 30
4987	rotlwi	5, 9, 19
4988	xor	3, 3, 5
4989	rotlwi	5, 9, 10
4990	xor	3, 3, 5
4991	add	8, 8, 3
4992	xor	5, 9, 10
4993	xor	3, 10, 11
4994	and	3, 3, 5
4995	xor	3, 3, 10
4996	add	8, 8, 3
4997	# Calc new W[12]
4998	rotlwi	3, 27, 25
4999	rotlwi	5, 27, 14
5000	xor	3, 3, 5
5001	srwi	5, 27, 3
5002	xor	3, 3, 5
5003	add	26, 26, 3
5004	rotlwi	3, 24, 15
5005	rotlwi	5, 24, 13
5006	xor	3, 3, 5
5007	srwi	5, 24, 10
5008	xor	3, 3, 5
5009	add	26, 26, 3
5010	add	26, 26, 19
5011	# Round 13
5012	rotlwi	3, 12, 26
5013	rotlwi	5, 12, 21
5014	xor	3, 3, 5
5015	rotlwi	5, 12, 7
5016	xor	3, 3, 5
5017	add	7, 7, 3
5018	xor	3, 0, 4
5019	and	3, 3, 12
5020	xor	3, 3, 4
5021	add	7, 7, 3
5022	lwz	3, 52(6)
5023	add	7, 7, 27
5024	add	7, 7, 3
5025	add	11, 11, 7
5026	rotlwi	3, 8, 30
5027	rotlwi	5, 8, 19
5028	xor	3, 3, 5
5029	rotlwi	5, 8, 10
5030	xor	3, 3, 5
5031	add	7, 7, 3
5032	xor	5, 8, 9
5033	xor	3, 9, 10
5034	and	3, 3, 5
5035	xor	3, 3, 9
5036	add	7, 7, 3
5037	# Calc new W[13]
5038	rotlwi	3, 28, 25
5039	rotlwi	5, 28, 14
5040	xor	3, 3, 5
5041	srwi	5, 28, 3
5042	xor	3, 3, 5
5043	add	27, 27, 3
5044	rotlwi	3, 25, 15
5045	rotlwi	5, 25, 13
5046	xor	3, 3, 5
5047	srwi	5, 25, 10
5048	xor	3, 3, 5
5049	add	27, 27, 3
5050	add	27, 27, 20
5051	# Round 14
5052	rotlwi	3, 11, 26
5053	rotlwi	5, 11, 21
5054	xor	3, 3, 5
5055	rotlwi	5, 11, 7
5056	xor	3, 3, 5
5057	add	4, 4, 3
5058	xor	3, 12, 0
5059	and	3, 3, 11
5060	xor	3, 3, 0
5061	add	4, 4, 3
5062	lwz	3, 56(6)
5063	add	4, 4, 28
5064	add	4, 4, 3
5065	add	10, 10, 4
5066	rotlwi	3, 7, 30
5067	rotlwi	5, 7, 19
5068	xor	3, 3, 5
5069	rotlwi	5, 7, 10
5070	xor	3, 3, 5
5071	add	4, 4, 3
5072	xor	5, 7, 8
5073	xor	3, 8, 9
5074	and	3, 3, 5
5075	xor	3, 3, 8
5076	add	4, 4, 3
5077	# Calc new W[14]
5078	rotlwi	3, 29, 25
5079	rotlwi	5, 29, 14
5080	xor	3, 3, 5
5081	srwi	5, 29, 3
5082	xor	3, 3, 5
5083	add	28, 28, 3
5084	rotlwi	3, 26, 15
5085	rotlwi	5, 26, 13
5086	xor	3, 3, 5
5087	srwi	5, 26, 10
5088	xor	3, 3, 5
5089	add	28, 28, 3
5090	add	28, 28, 21
5091	# Round 15
5092	rotlwi	3, 10, 26
5093	rotlwi	5, 10, 21
5094	xor	3, 3, 5
5095	rotlwi	5, 10, 7
5096	xor	3, 3, 5
5097	add	0, 0, 3
5098	xor	3, 11, 12
5099	and	3, 3, 10
5100	xor	3, 3, 12
5101	add	0, 0, 3
5102	lwz	3, 60(6)
5103	add	0, 0, 29
5104	add	0, 0, 3
5105	add	9, 9, 0
5106	rotlwi	3, 4, 30
5107	rotlwi	5, 4, 19
5108	xor	3, 3, 5
5109	rotlwi	5, 4, 10
5110	xor	3, 3, 5
5111	add	0, 0, 3
5112	xor	5, 4, 7
5113	xor	3, 7, 8
5114	and	3, 3, 5
5115	xor	3, 3, 7
5116	add	0, 0, 3
5117	# Calc new W[15]
5118	rotlwi	3, 14, 25
5119	rotlwi	5, 14, 14
5120	xor	3, 3, 5
5121	srwi	5, 14, 3
5122	xor	3, 3, 5
5123	add	29, 29, 3
5124	rotlwi	3, 27, 15
5125	rotlwi	5, 27, 13
5126	xor	3, 3, 5
5127	srwi	5, 27, 10
5128	xor	3, 3, 5
5129	add	29, 29, 3
5130	add	29, 29, 22
5131	addi	6, 6, 0x40
5132	# Round 0
5133	rotlwi	3, 9, 26
5134	rotlwi	5, 9, 21
5135	xor	3, 3, 5
5136	rotlwi	5, 9, 7
5137	xor	3, 3, 5
5138	add	12, 12, 3
5139	xor	3, 10, 11
5140	and	3, 3, 9
5141	xor	3, 3, 11
5142	add	12, 12, 3
5143	lwz	3, 0(6)
5144	add	12, 12, 14
5145	add	12, 12, 3
5146	add	8, 8, 12
5147	rotlwi	3, 0, 30
5148	rotlwi	5, 0, 19
5149	xor	3, 3, 5
5150	rotlwi	5, 0, 10
5151	xor	3, 3, 5
5152	add	12, 12, 3
5153	xor	5, 0, 4
5154	xor	3, 4, 7
5155	and	3, 3, 5
5156	xor	3, 3, 4
5157	add	12, 12, 3
5158	# Calc new W[0]
5159	rotlwi	3, 15, 25
5160	rotlwi	5, 15, 14
5161	xor	3, 3, 5
5162	srwi	5, 15, 3
5163	xor	3, 3, 5
5164	add	14, 14, 3
5165	rotlwi	3, 28, 15
5166	rotlwi	5, 28, 13
5167	xor	3, 3, 5
5168	srwi	5, 28, 10
5169	xor	3, 3, 5
5170	add	14, 14, 3
5171	add	14, 14, 23
5172	# Round 1
5173	rotlwi	3, 8, 26
5174	rotlwi	5, 8, 21
5175	xor	3, 3, 5
5176	rotlwi	5, 8, 7
5177	xor	3, 3, 5
5178	add	11, 11, 3
5179	xor	3, 9, 10
5180	and	3, 3, 8
5181	xor	3, 3, 10
5182	add	11, 11, 3
5183	lwz	3, 4(6)
5184	add	11, 11, 15
5185	add	11, 11, 3
5186	add	7, 7, 11
5187	rotlwi	3, 12, 30
5188	rotlwi	5, 12, 19
5189	xor	3, 3, 5
5190	rotlwi	5, 12, 10
5191	xor	3, 3, 5
5192	add	11, 11, 3
5193	xor	5, 12, 0
5194	xor	3, 0, 4
5195	and	3, 3, 5
5196	xor	3, 3, 0
5197	add	11, 11, 3
5198	# Calc new W[1]
5199	rotlwi	3, 16, 25
5200	rotlwi	5, 16, 14
5201	xor	3, 3, 5
5202	srwi	5, 16, 3
5203	xor	3, 3, 5
5204	add	15, 15, 3
5205	rotlwi	3, 29, 15
5206	rotlwi	5, 29, 13
5207	xor	3, 3, 5
5208	srwi	5, 29, 10
5209	xor	3, 3, 5
5210	add	15, 15, 3
5211	add	15, 15, 24
5212	# Round 2
5213	rotlwi	3, 7, 26
5214	rotlwi	5, 7, 21
5215	xor	3, 3, 5
5216	rotlwi	5, 7, 7
5217	xor	3, 3, 5
5218	add	10, 10, 3
5219	xor	3, 8, 9
5220	and	3, 3, 7
5221	xor	3, 3, 9
5222	add	10, 10, 3
5223	lwz	3, 8(6)
5224	add	10, 10, 16
5225	add	10, 10, 3
5226	add	4, 4, 10
5227	rotlwi	3, 11, 30
5228	rotlwi	5, 11, 19
5229	xor	3, 3, 5
5230	rotlwi	5, 11, 10
5231	xor	3, 3, 5
5232	add	10, 10, 3
5233	xor	5, 11, 12
5234	xor	3, 12, 0
5235	and	3, 3, 5
5236	xor	3, 3, 12
5237	add	10, 10, 3
5238	# Calc new W[2]
5239	rotlwi	3, 17, 25
5240	rotlwi	5, 17, 14
5241	xor	3, 3, 5
5242	srwi	5, 17, 3
5243	xor	3, 3, 5
5244	add	16, 16, 3
5245	rotlwi	3, 14, 15
5246	rotlwi	5, 14, 13
5247	xor	3, 3, 5
5248	srwi	5, 14, 10
5249	xor	3, 3, 5
5250	add	16, 16, 3
5251	add	16, 16, 25
5252	# Round 3
5253	rotlwi	3, 4, 26
5254	rotlwi	5, 4, 21
5255	xor	3, 3, 5
5256	rotlwi	5, 4, 7
5257	xor	3, 3, 5
5258	add	9, 9, 3
5259	xor	3, 7, 8
5260	and	3, 3, 4
5261	xor	3, 3, 8
5262	add	9, 9, 3
5263	lwz	3, 12(6)
5264	add	9, 9, 17
5265	add	9, 9, 3
5266	add	0, 0, 9
5267	rotlwi	3, 10, 30
5268	rotlwi	5, 10, 19
5269	xor	3, 3, 5
5270	rotlwi	5, 10, 10
5271	xor	3, 3, 5
5272	add	9, 9, 3
5273	xor	5, 10, 11
5274	xor	3, 11, 12
5275	and	3, 3, 5
5276	xor	3, 3, 11
5277	add	9, 9, 3
5278	# Calc new W[3]
5279	rotlwi	3, 18, 25
5280	rotlwi	5, 18, 14
5281	xor	3, 3, 5
5282	srwi	5, 18, 3
5283	xor	3, 3, 5
5284	add	17, 17, 3
5285	rotlwi	3, 15, 15
5286	rotlwi	5, 15, 13
5287	xor	3, 3, 5
5288	srwi	5, 15, 10
5289	xor	3, 3, 5
5290	add	17, 17, 3
5291	add	17, 17, 26
5292	# Round 4
5293	rotlwi	3, 0, 26
5294	rotlwi	5, 0, 21
5295	xor	3, 3, 5
5296	rotlwi	5, 0, 7
5297	xor	3, 3, 5
5298	add	8, 8, 3
5299	xor	3, 4, 7
5300	and	3, 3, 0
5301	xor	3, 3, 7
5302	add	8, 8, 3
5303	lwz	3, 16(6)
5304	add	8, 8, 18
5305	add	8, 8, 3
5306	add	12, 12, 8
5307	rotlwi	3, 9, 30
5308	rotlwi	5, 9, 19
5309	xor	3, 3, 5
5310	rotlwi	5, 9, 10
5311	xor	3, 3, 5
5312	add	8, 8, 3
5313	xor	5, 9, 10
5314	xor	3, 10, 11
5315	and	3, 3, 5
5316	xor	3, 3, 10
5317	add	8, 8, 3
5318	# Calc new W[4]
5319	rotlwi	3, 19, 25
5320	rotlwi	5, 19, 14
5321	xor	3, 3, 5
5322	srwi	5, 19, 3
5323	xor	3, 3, 5
5324	add	18, 18, 3
5325	rotlwi	3, 16, 15
5326	rotlwi	5, 16, 13
5327	xor	3, 3, 5
5328	srwi	5, 16, 10
5329	xor	3, 3, 5
5330	add	18, 18, 3
5331	add	18, 18, 27
5332	# Round 5
5333	rotlwi	3, 12, 26
5334	rotlwi	5, 12, 21
5335	xor	3, 3, 5
5336	rotlwi	5, 12, 7
5337	xor	3, 3, 5
5338	add	7, 7, 3
5339	xor	3, 0, 4
5340	and	3, 3, 12
5341	xor	3, 3, 4
5342	add	7, 7, 3
5343	lwz	3, 20(6)
5344	add	7, 7, 19
5345	add	7, 7, 3
5346	add	11, 11, 7
5347	rotlwi	3, 8, 30
5348	rotlwi	5, 8, 19
5349	xor	3, 3, 5
5350	rotlwi	5, 8, 10
5351	xor	3, 3, 5
5352	add	7, 7, 3
5353	xor	5, 8, 9
5354	xor	3, 9, 10
5355	and	3, 3, 5
5356	xor	3, 3, 9
5357	add	7, 7, 3
5358	# Calc new W[5]
5359	rotlwi	3, 20, 25
5360	rotlwi	5, 20, 14
5361	xor	3, 3, 5
5362	srwi	5, 20, 3
5363	xor	3, 3, 5
5364	add	19, 19, 3
5365	rotlwi	3, 17, 15
5366	rotlwi	5, 17, 13
5367	xor	3, 3, 5
5368	srwi	5, 17, 10
5369	xor	3, 3, 5
5370	add	19, 19, 3
5371	add	19, 19, 28
5372	# Round 6
5373	rotlwi	3, 11, 26
5374	rotlwi	5, 11, 21
5375	xor	3, 3, 5
5376	rotlwi	5, 11, 7
5377	xor	3, 3, 5
5378	add	4, 4, 3
5379	xor	3, 12, 0
5380	and	3, 3, 11
5381	xor	3, 3, 0
5382	add	4, 4, 3
5383	lwz	3, 24(6)
5384	add	4, 4, 20
5385	add	4, 4, 3
5386	add	10, 10, 4
5387	rotlwi	3, 7, 30
5388	rotlwi	5, 7, 19
5389	xor	3, 3, 5
5390	rotlwi	5, 7, 10
5391	xor	3, 3, 5
5392	add	4, 4, 3
5393	xor	5, 7, 8
5394	xor	3, 8, 9
5395	and	3, 3, 5
5396	xor	3, 3, 8
5397	add	4, 4, 3
5398	# Calc new W[6]
5399	rotlwi	3, 21, 25
5400	rotlwi	5, 21, 14
5401	xor	3, 3, 5
5402	srwi	5, 21, 3
5403	xor	3, 3, 5
5404	add	20, 20, 3
5405	rotlwi	3, 18, 15
5406	rotlwi	5, 18, 13
5407	xor	3, 3, 5
5408	srwi	5, 18, 10
5409	xor	3, 3, 5
5410	add	20, 20, 3
5411	add	20, 20, 29
5412	# Round 7
5413	rotlwi	3, 10, 26
5414	rotlwi	5, 10, 21
5415	xor	3, 3, 5
5416	rotlwi	5, 10, 7
5417	xor	3, 3, 5
5418	add	0, 0, 3
5419	xor	3, 11, 12
5420	and	3, 3, 10
5421	xor	3, 3, 12
5422	add	0, 0, 3
5423	lwz	3, 28(6)
5424	add	0, 0, 21
5425	add	0, 0, 3
5426	add	9, 9, 0
5427	rotlwi	3, 4, 30
5428	rotlwi	5, 4, 19
5429	xor	3, 3, 5
5430	rotlwi	5, 4, 10
5431	xor	3, 3, 5
5432	add	0, 0, 3
5433	xor	5, 4, 7
5434	xor	3, 7, 8
5435	and	3, 3, 5
5436	xor	3, 3, 7
5437	add	0, 0, 3
5438	# Calc new W[7]
5439	rotlwi	3, 22, 25
5440	rotlwi	5, 22, 14
5441	xor	3, 3, 5
5442	srwi	5, 22, 3
5443	xor	3, 3, 5
5444	add	21, 21, 3
5445	rotlwi	3, 19, 15
5446	rotlwi	5, 19, 13
5447	xor	3, 3, 5
5448	srwi	5, 19, 10
5449	xor	3, 3, 5
5450	add	21, 21, 3
5451	add	21, 21, 14
5452	# Round 8
5453	rotlwi	3, 9, 26
5454	rotlwi	5, 9, 21
5455	xor	3, 3, 5
5456	rotlwi	5, 9, 7
5457	xor	3, 3, 5
5458	add	12, 12, 3
5459	xor	3, 10, 11
5460	and	3, 3, 9
5461	xor	3, 3, 11
5462	add	12, 12, 3
5463	lwz	3, 32(6)
5464	add	12, 12, 22
5465	add	12, 12, 3
5466	add	8, 8, 12
5467	rotlwi	3, 0, 30
5468	rotlwi	5, 0, 19
5469	xor	3, 3, 5
5470	rotlwi	5, 0, 10
5471	xor	3, 3, 5
5472	add	12, 12, 3
5473	xor	5, 0, 4
5474	xor	3, 4, 7
5475	and	3, 3, 5
5476	xor	3, 3, 4
5477	add	12, 12, 3
5478	# Calc new W[8]
5479	rotlwi	3, 23, 25
5480	rotlwi	5, 23, 14
5481	xor	3, 3, 5
5482	srwi	5, 23, 3
5483	xor	3, 3, 5
5484	add	22, 22, 3
5485	rotlwi	3, 20, 15
5486	rotlwi	5, 20, 13
5487	xor	3, 3, 5
5488	srwi	5, 20, 10
5489	xor	3, 3, 5
5490	add	22, 22, 3
5491	add	22, 22, 15
5492	# Round 9
5493	rotlwi	3, 8, 26
5494	rotlwi	5, 8, 21
5495	xor	3, 3, 5
5496	rotlwi	5, 8, 7
5497	xor	3, 3, 5
5498	add	11, 11, 3
5499	xor	3, 9, 10
5500	and	3, 3, 8
5501	xor	3, 3, 10
5502	add	11, 11, 3
5503	lwz	3, 36(6)
5504	add	11, 11, 23
5505	add	11, 11, 3
5506	add	7, 7, 11
5507	rotlwi	3, 12, 30
5508	rotlwi	5, 12, 19
5509	xor	3, 3, 5
5510	rotlwi	5, 12, 10
5511	xor	3, 3, 5
5512	add	11, 11, 3
5513	xor	5, 12, 0
5514	xor	3, 0, 4
5515	and	3, 3, 5
5516	xor	3, 3, 0
5517	add	11, 11, 3
5518	# Calc new W[9]
5519	rotlwi	3, 24, 25
5520	rotlwi	5, 24, 14
5521	xor	3, 3, 5
5522	srwi	5, 24, 3
5523	xor	3, 3, 5
5524	add	23, 23, 3
5525	rotlwi	3, 21, 15
5526	rotlwi	5, 21, 13
5527	xor	3, 3, 5
5528	srwi	5, 21, 10
5529	xor	3, 3, 5
5530	add	23, 23, 3
5531	add	23, 23, 16
5532	# Round 10
5533	rotlwi	3, 7, 26
5534	rotlwi	5, 7, 21
5535	xor	3, 3, 5
5536	rotlwi	5, 7, 7
5537	xor	3, 3, 5
5538	add	10, 10, 3
5539	xor	3, 8, 9
5540	and	3, 3, 7
5541	xor	3, 3, 9
5542	add	10, 10, 3
5543	lwz	3, 40(6)
5544	add	10, 10, 24
5545	add	10, 10, 3
5546	add	4, 4, 10
5547	rotlwi	3, 11, 30
5548	rotlwi	5, 11, 19
5549	xor	3, 3, 5
5550	rotlwi	5, 11, 10
5551	xor	3, 3, 5
5552	add	10, 10, 3
5553	xor	5, 11, 12
5554	xor	3, 12, 0
5555	and	3, 3, 5
5556	xor	3, 3, 12
5557	add	10, 10, 3
5558	# Calc new W[10]
5559	rotlwi	3, 25, 25
5560	rotlwi	5, 25, 14
5561	xor	3, 3, 5
5562	srwi	5, 25, 3
5563	xor	3, 3, 5
5564	add	24, 24, 3
5565	rotlwi	3, 22, 15
5566	rotlwi	5, 22, 13
5567	xor	3, 3, 5
5568	srwi	5, 22, 10
5569	xor	3, 3, 5
5570	add	24, 24, 3
5571	add	24, 24, 17
5572	# Round 11
5573	rotlwi	3, 4, 26
5574	rotlwi	5, 4, 21
5575	xor	3, 3, 5
5576	rotlwi	5, 4, 7
5577	xor	3, 3, 5
5578	add	9, 9, 3
5579	xor	3, 7, 8
5580	and	3, 3, 4
5581	xor	3, 3, 8
5582	add	9, 9, 3
5583	lwz	3, 44(6)
5584	add	9, 9, 25
5585	add	9, 9, 3
5586	add	0, 0, 9
5587	rotlwi	3, 10, 30
5588	rotlwi	5, 10, 19
5589	xor	3, 3, 5
5590	rotlwi	5, 10, 10
5591	xor	3, 3, 5
5592	add	9, 9, 3
5593	xor	5, 10, 11
5594	xor	3, 11, 12
5595	and	3, 3, 5
5596	xor	3, 3, 11
5597	add	9, 9, 3
5598	# Calc new W[11]
5599	rotlwi	3, 26, 25
5600	rotlwi	5, 26, 14
5601	xor	3, 3, 5
5602	srwi	5, 26, 3
5603	xor	3, 3, 5
5604	add	25, 25, 3
5605	rotlwi	3, 23, 15
5606	rotlwi	5, 23, 13
5607	xor	3, 3, 5
5608	srwi	5, 23, 10
5609	xor	3, 3, 5
5610	add	25, 25, 3
5611	add	25, 25, 18
5612	# Round 12
5613	rotlwi	3, 0, 26
5614	rotlwi	5, 0, 21
5615	xor	3, 3, 5
5616	rotlwi	5, 0, 7
5617	xor	3, 3, 5
5618	add	8, 8, 3
5619	xor	3, 4, 7
5620	and	3, 3, 0
5621	xor	3, 3, 7
5622	add	8, 8, 3
5623	lwz	3, 48(6)
5624	add	8, 8, 26
5625	add	8, 8, 3
5626	add	12, 12, 8
5627	rotlwi	3, 9, 30
5628	rotlwi	5, 9, 19
5629	xor	3, 3, 5
5630	rotlwi	5, 9, 10
5631	xor	3, 3, 5
5632	add	8, 8, 3
5633	xor	5, 9, 10
5634	xor	3, 10, 11
5635	and	3, 3, 5
5636	xor	3, 3, 10
5637	add	8, 8, 3
5638	# Calc new W[12]
5639	rotlwi	3, 27, 25
5640	rotlwi	5, 27, 14
5641	xor	3, 3, 5
5642	srwi	5, 27, 3
5643	xor	3, 3, 5
5644	add	26, 26, 3
5645	rotlwi	3, 24, 15
5646	rotlwi	5, 24, 13
5647	xor	3, 3, 5
5648	srwi	5, 24, 10
5649	xor	3, 3, 5
5650	add	26, 26, 3
5651	add	26, 26, 19
5652	# Round 13
5653	rotlwi	3, 12, 26
5654	rotlwi	5, 12, 21
5655	xor	3, 3, 5
5656	rotlwi	5, 12, 7
5657	xor	3, 3, 5
5658	add	7, 7, 3
5659	xor	3, 0, 4
5660	and	3, 3, 12
5661	xor	3, 3, 4
5662	add	7, 7, 3
5663	lwz	3, 52(6)
5664	add	7, 7, 27
5665	add	7, 7, 3
5666	add	11, 11, 7
5667	rotlwi	3, 8, 30
5668	rotlwi	5, 8, 19
5669	xor	3, 3, 5
5670	rotlwi	5, 8, 10
5671	xor	3, 3, 5
5672	add	7, 7, 3
5673	xor	5, 8, 9
5674	xor	3, 9, 10
5675	and	3, 3, 5
5676	xor	3, 3, 9
5677	add	7, 7, 3
5678	# Calc new W[13]
5679	rotlwi	3, 28, 25
5680	rotlwi	5, 28, 14
5681	xor	3, 3, 5
5682	srwi	5, 28, 3
5683	xor	3, 3, 5
5684	add	27, 27, 3
5685	rotlwi	3, 25, 15
5686	rotlwi	5, 25, 13
5687	xor	3, 3, 5
5688	srwi	5, 25, 10
5689	xor	3, 3, 5
5690	add	27, 27, 3
5691	add	27, 27, 20
5692	# Round 14
5693	rotlwi	3, 11, 26
5694	rotlwi	5, 11, 21
5695	xor	3, 3, 5
5696	rotlwi	5, 11, 7
5697	xor	3, 3, 5
5698	add	4, 4, 3
5699	xor	3, 12, 0
5700	and	3, 3, 11
5701	xor	3, 3, 0
5702	add	4, 4, 3
5703	lwz	3, 56(6)
5704	add	4, 4, 28
5705	add	4, 4, 3
5706	add	10, 10, 4
5707	rotlwi	3, 7, 30
5708	rotlwi	5, 7, 19
5709	xor	3, 3, 5
5710	rotlwi	5, 7, 10
5711	xor	3, 3, 5
5712	add	4, 4, 3
5713	xor	5, 7, 8
5714	xor	3, 8, 9
5715	and	3, 3, 5
5716	xor	3, 3, 8
5717	add	4, 4, 3
5718	# Calc new W[14]
5719	rotlwi	3, 29, 25
5720	rotlwi	5, 29, 14
5721	xor	3, 3, 5
5722	srwi	5, 29, 3
5723	xor	3, 3, 5
5724	add	28, 28, 3
5725	rotlwi	3, 26, 15
5726	rotlwi	5, 26, 13
5727	xor	3, 3, 5
5728	srwi	5, 26, 10
5729	xor	3, 3, 5
5730	add	28, 28, 3
5731	add	28, 28, 21
5732	# Round 15
5733	rotlwi	3, 10, 26
5734	rotlwi	5, 10, 21
5735	xor	3, 3, 5
5736	rotlwi	5, 10, 7
5737	xor	3, 3, 5
5738	add	0, 0, 3
5739	xor	3, 11, 12
5740	and	3, 3, 10
5741	xor	3, 3, 12
5742	add	0, 0, 3
5743	lwz	3, 60(6)
5744	add	0, 0, 29
5745	add	0, 0, 3
5746	add	9, 9, 0
5747	rotlwi	3, 4, 30
5748	rotlwi	5, 4, 19
5749	xor	3, 3, 5
5750	rotlwi	5, 4, 10
5751	xor	3, 3, 5
5752	add	0, 0, 3
5753	xor	5, 4, 7
5754	xor	3, 7, 8
5755	and	3, 3, 5
5756	xor	3, 3, 7
5757	add	0, 0, 3
5758	# Calc new W[15]
5759	rotlwi	3, 14, 25
5760	rotlwi	5, 14, 14
5761	xor	3, 3, 5
5762	srwi	5, 14, 3
5763	xor	3, 3, 5
5764	add	29, 29, 3
5765	rotlwi	3, 27, 15
5766	rotlwi	5, 27, 13
5767	xor	3, 3, 5
5768	srwi	5, 27, 10
5769	xor	3, 3, 5
5770	add	29, 29, 3
5771	add	29, 29, 22
5772	addi	6, 6, 0x40
5773	# Round 0
5774	rotlwi	3, 9, 26
5775	rotlwi	5, 9, 21
5776	xor	3, 3, 5
5777	rotlwi	5, 9, 7
5778	xor	3, 3, 5
5779	add	12, 12, 3
5780	xor	3, 10, 11
5781	and	3, 3, 9
5782	xor	3, 3, 11
5783	add	12, 12, 3
5784	lwz	3, 0(6)
5785	add	12, 12, 14
5786	add	12, 12, 3
5787	add	8, 8, 12
5788	rotlwi	3, 0, 30
5789	rotlwi	5, 0, 19
5790	xor	3, 3, 5
5791	rotlwi	5, 0, 10
5792	xor	3, 3, 5
5793	add	12, 12, 3
5794	xor	5, 0, 4
5795	xor	3, 4, 7
5796	and	3, 3, 5
5797	xor	3, 3, 4
5798	add	12, 12, 3
5799	# Calc new W[0]
5800	rotlwi	3, 15, 25
5801	rotlwi	5, 15, 14
5802	xor	3, 3, 5
5803	srwi	5, 15, 3
5804	xor	3, 3, 5
5805	add	14, 14, 3
5806	rotlwi	3, 28, 15
5807	rotlwi	5, 28, 13
5808	xor	3, 3, 5
5809	srwi	5, 28, 10
5810	xor	3, 3, 5
5811	add	14, 14, 3
5812	add	14, 14, 23
5813	# Round 1
5814	rotlwi	3, 8, 26
5815	rotlwi	5, 8, 21
5816	xor	3, 3, 5
5817	rotlwi	5, 8, 7
5818	xor	3, 3, 5
5819	add	11, 11, 3
5820	xor	3, 9, 10
5821	and	3, 3, 8
5822	xor	3, 3, 10
5823	add	11, 11, 3
5824	lwz	3, 4(6)
5825	add	11, 11, 15
5826	add	11, 11, 3
5827	add	7, 7, 11
5828	rotlwi	3, 12, 30
5829	rotlwi	5, 12, 19
5830	xor	3, 3, 5
5831	rotlwi	5, 12, 10
5832	xor	3, 3, 5
5833	add	11, 11, 3
5834	xor	5, 12, 0
5835	xor	3, 0, 4
5836	and	3, 3, 5
5837	xor	3, 3, 0
5838	add	11, 11, 3
5839	# Calc new W[1]
5840	rotlwi	3, 16, 25
5841	rotlwi	5, 16, 14
5842	xor	3, 3, 5
5843	srwi	5, 16, 3
5844	xor	3, 3, 5
5845	add	15, 15, 3
5846	rotlwi	3, 29, 15
5847	rotlwi	5, 29, 13
5848	xor	3, 3, 5
5849	srwi	5, 29, 10
5850	xor	3, 3, 5
5851	add	15, 15, 3
5852	add	15, 15, 24
5853	# Round 2
5854	rotlwi	3, 7, 26
5855	rotlwi	5, 7, 21
5856	xor	3, 3, 5
5857	rotlwi	5, 7, 7
5858	xor	3, 3, 5
5859	add	10, 10, 3
5860	xor	3, 8, 9
5861	and	3, 3, 7
5862	xor	3, 3, 9
5863	add	10, 10, 3
5864	lwz	3, 8(6)
5865	add	10, 10, 16
5866	add	10, 10, 3
5867	add	4, 4, 10
5868	rotlwi	3, 11, 30
5869	rotlwi	5, 11, 19
5870	xor	3, 3, 5
5871	rotlwi	5, 11, 10
5872	xor	3, 3, 5
5873	add	10, 10, 3
5874	xor	5, 11, 12
5875	xor	3, 12, 0
5876	and	3, 3, 5
5877	xor	3, 3, 12
5878	add	10, 10, 3
5879	# Calc new W[2]
5880	rotlwi	3, 17, 25
5881	rotlwi	5, 17, 14
5882	xor	3, 3, 5
5883	srwi	5, 17, 3
5884	xor	3, 3, 5
5885	add	16, 16, 3
5886	rotlwi	3, 14, 15
5887	rotlwi	5, 14, 13
5888	xor	3, 3, 5
5889	srwi	5, 14, 10
5890	xor	3, 3, 5
5891	add	16, 16, 3
5892	add	16, 16, 25
5893	# Round 3
5894	rotlwi	3, 4, 26
5895	rotlwi	5, 4, 21
5896	xor	3, 3, 5
5897	rotlwi	5, 4, 7
5898	xor	3, 3, 5
5899	add	9, 9, 3
5900	xor	3, 7, 8
5901	and	3, 3, 4
5902	xor	3, 3, 8
5903	add	9, 9, 3
5904	lwz	3, 12(6)
5905	add	9, 9, 17
5906	add	9, 9, 3
5907	add	0, 0, 9
5908	rotlwi	3, 10, 30
5909	rotlwi	5, 10, 19
5910	xor	3, 3, 5
5911	rotlwi	5, 10, 10
5912	xor	3, 3, 5
5913	add	9, 9, 3
5914	xor	5, 10, 11
5915	xor	3, 11, 12
5916	and	3, 3, 5
5917	xor	3, 3, 11
5918	add	9, 9, 3
5919	# Calc new W[3]
5920	rotlwi	3, 18, 25
5921	rotlwi	5, 18, 14
5922	xor	3, 3, 5
5923	srwi	5, 18, 3
5924	xor	3, 3, 5
5925	add	17, 17, 3
5926	rotlwi	3, 15, 15
5927	rotlwi	5, 15, 13
5928	xor	3, 3, 5
5929	srwi	5, 15, 10
5930	xor	3, 3, 5
5931	add	17, 17, 3
5932	add	17, 17, 26
5933	# Round 4
5934	rotlwi	3, 0, 26
5935	rotlwi	5, 0, 21
5936	xor	3, 3, 5
5937	rotlwi	5, 0, 7
5938	xor	3, 3, 5
5939	add	8, 8, 3
5940	xor	3, 4, 7
5941	and	3, 3, 0
5942	xor	3, 3, 7
5943	add	8, 8, 3
5944	lwz	3, 16(6)
5945	add	8, 8, 18
5946	add	8, 8, 3
5947	add	12, 12, 8
5948	rotlwi	3, 9, 30
5949	rotlwi	5, 9, 19
5950	xor	3, 3, 5
5951	rotlwi	5, 9, 10
5952	xor	3, 3, 5
5953	add	8, 8, 3
5954	xor	5, 9, 10
5955	xor	3, 10, 11
5956	and	3, 3, 5
5957	xor	3, 3, 10
5958	add	8, 8, 3
5959	# Calc new W[4]
5960	rotlwi	3, 19, 25
5961	rotlwi	5, 19, 14
5962	xor	3, 3, 5
5963	srwi	5, 19, 3
5964	xor	3, 3, 5
5965	add	18, 18, 3
5966	rotlwi	3, 16, 15
5967	rotlwi	5, 16, 13
5968	xor	3, 3, 5
5969	srwi	5, 16, 10
5970	xor	3, 3, 5
5971	add	18, 18, 3
5972	add	18, 18, 27
5973	# Round 5
5974	rotlwi	3, 12, 26
5975	rotlwi	5, 12, 21
5976	xor	3, 3, 5
5977	rotlwi	5, 12, 7
5978	xor	3, 3, 5
5979	add	7, 7, 3
5980	xor	3, 0, 4
5981	and	3, 3, 12
5982	xor	3, 3, 4
5983	add	7, 7, 3
5984	lwz	3, 20(6)
5985	add	7, 7, 19
5986	add	7, 7, 3
5987	add	11, 11, 7
5988	rotlwi	3, 8, 30
5989	rotlwi	5, 8, 19
5990	xor	3, 3, 5
5991	rotlwi	5, 8, 10
5992	xor	3, 3, 5
5993	add	7, 7, 3
5994	xor	5, 8, 9
5995	xor	3, 9, 10
5996	and	3, 3, 5
5997	xor	3, 3, 9
5998	add	7, 7, 3
5999	# Calc new W[5]
6000	rotlwi	3, 20, 25
6001	rotlwi	5, 20, 14
6002	xor	3, 3, 5
6003	srwi	5, 20, 3
6004	xor	3, 3, 5
6005	add	19, 19, 3
6006	rotlwi	3, 17, 15
6007	rotlwi	5, 17, 13
6008	xor	3, 3, 5
6009	srwi	5, 17, 10
6010	xor	3, 3, 5
6011	add	19, 19, 3
6012	add	19, 19, 28
6013	# Round 6
6014	rotlwi	3, 11, 26
6015	rotlwi	5, 11, 21
6016	xor	3, 3, 5
6017	rotlwi	5, 11, 7
6018	xor	3, 3, 5
6019	add	4, 4, 3
6020	xor	3, 12, 0
6021	and	3, 3, 11
6022	xor	3, 3, 0
6023	add	4, 4, 3
6024	lwz	3, 24(6)
6025	add	4, 4, 20
6026	add	4, 4, 3
6027	add	10, 10, 4
6028	rotlwi	3, 7, 30
6029	rotlwi	5, 7, 19
6030	xor	3, 3, 5
6031	rotlwi	5, 7, 10
6032	xor	3, 3, 5
6033	add	4, 4, 3
6034	xor	5, 7, 8
6035	xor	3, 8, 9
6036	and	3, 3, 5
6037	xor	3, 3, 8
6038	add	4, 4, 3
6039	# Calc new W[6]
6040	rotlwi	3, 21, 25
6041	rotlwi	5, 21, 14
6042	xor	3, 3, 5
6043	srwi	5, 21, 3
6044	xor	3, 3, 5
6045	add	20, 20, 3
6046	rotlwi	3, 18, 15
6047	rotlwi	5, 18, 13
6048	xor	3, 3, 5
6049	srwi	5, 18, 10
6050	xor	3, 3, 5
6051	add	20, 20, 3
6052	add	20, 20, 29
6053	# Round 7
6054	rotlwi	3, 10, 26
6055	rotlwi	5, 10, 21
6056	xor	3, 3, 5
6057	rotlwi	5, 10, 7
6058	xor	3, 3, 5
6059	add	0, 0, 3
6060	xor	3, 11, 12
6061	and	3, 3, 10
6062	xor	3, 3, 12
6063	add	0, 0, 3
6064	lwz	3, 28(6)
6065	add	0, 0, 21
6066	add	0, 0, 3
6067	add	9, 9, 0
6068	rotlwi	3, 4, 30
6069	rotlwi	5, 4, 19
6070	xor	3, 3, 5
6071	rotlwi	5, 4, 10
6072	xor	3, 3, 5
6073	add	0, 0, 3
6074	xor	5, 4, 7
6075	xor	3, 7, 8
6076	and	3, 3, 5
6077	xor	3, 3, 7
6078	add	0, 0, 3
6079	# Calc new W[7]
6080	rotlwi	3, 22, 25
6081	rotlwi	5, 22, 14
6082	xor	3, 3, 5
6083	srwi	5, 22, 3
6084	xor	3, 3, 5
6085	add	21, 21, 3
6086	rotlwi	3, 19, 15
6087	rotlwi	5, 19, 13
6088	xor	3, 3, 5
6089	srwi	5, 19, 10
6090	xor	3, 3, 5
6091	add	21, 21, 3
6092	add	21, 21, 14
6093	# Round 8
6094	rotlwi	3, 9, 26
6095	rotlwi	5, 9, 21
6096	xor	3, 3, 5
6097	rotlwi	5, 9, 7
6098	xor	3, 3, 5
6099	add	12, 12, 3
6100	xor	3, 10, 11
6101	and	3, 3, 9
6102	xor	3, 3, 11
6103	add	12, 12, 3
6104	lwz	3, 32(6)
6105	add	12, 12, 22
6106	add	12, 12, 3
6107	add	8, 8, 12
6108	rotlwi	3, 0, 30
6109	rotlwi	5, 0, 19
6110	xor	3, 3, 5
6111	rotlwi	5, 0, 10
6112	xor	3, 3, 5
6113	add	12, 12, 3
6114	xor	5, 0, 4
6115	xor	3, 4, 7
6116	and	3, 3, 5
6117	xor	3, 3, 4
6118	add	12, 12, 3
6119	# Calc new W[8]
6120	rotlwi	3, 23, 25
6121	rotlwi	5, 23, 14
6122	xor	3, 3, 5
6123	srwi	5, 23, 3
6124	xor	3, 3, 5
6125	add	22, 22, 3
6126	rotlwi	3, 20, 15
6127	rotlwi	5, 20, 13
6128	xor	3, 3, 5
6129	srwi	5, 20, 10
6130	xor	3, 3, 5
6131	add	22, 22, 3
6132	add	22, 22, 15
6133	# Round 9
6134	rotlwi	3, 8, 26
6135	rotlwi	5, 8, 21
6136	xor	3, 3, 5
6137	rotlwi	5, 8, 7
6138	xor	3, 3, 5
6139	add	11, 11, 3
6140	xor	3, 9, 10
6141	and	3, 3, 8
6142	xor	3, 3, 10
6143	add	11, 11, 3
6144	lwz	3, 36(6)
6145	add	11, 11, 23
6146	add	11, 11, 3
6147	add	7, 7, 11
6148	rotlwi	3, 12, 30
6149	rotlwi	5, 12, 19
6150	xor	3, 3, 5
6151	rotlwi	5, 12, 10
6152	xor	3, 3, 5
6153	add	11, 11, 3
6154	xor	5, 12, 0
6155	xor	3, 0, 4
6156	and	3, 3, 5
6157	xor	3, 3, 0
6158	add	11, 11, 3
6159	# Calc new W[9]
6160	rotlwi	3, 24, 25
6161	rotlwi	5, 24, 14
6162	xor	3, 3, 5
6163	srwi	5, 24, 3
6164	xor	3, 3, 5
6165	add	23, 23, 3
6166	rotlwi	3, 21, 15
6167	rotlwi	5, 21, 13
6168	xor	3, 3, 5
6169	srwi	5, 21, 10
6170	xor	3, 3, 5
6171	add	23, 23, 3
6172	add	23, 23, 16
6173	# Round 10
6174	rotlwi	3, 7, 26
6175	rotlwi	5, 7, 21
6176	xor	3, 3, 5
6177	rotlwi	5, 7, 7
6178	xor	3, 3, 5
6179	add	10, 10, 3
6180	xor	3, 8, 9
6181	and	3, 3, 7
6182	xor	3, 3, 9
6183	add	10, 10, 3
6184	lwz	3, 40(6)
6185	add	10, 10, 24
6186	add	10, 10, 3
6187	add	4, 4, 10
6188	rotlwi	3, 11, 30
6189	rotlwi	5, 11, 19
6190	xor	3, 3, 5
6191	rotlwi	5, 11, 10
6192	xor	3, 3, 5
6193	add	10, 10, 3
6194	xor	5, 11, 12
6195	xor	3, 12, 0
6196	and	3, 3, 5
6197	xor	3, 3, 12
6198	add	10, 10, 3
6199	# Calc new W[10]
6200	rotlwi	3, 25, 25
6201	rotlwi	5, 25, 14
6202	xor	3, 3, 5
6203	srwi	5, 25, 3
6204	xor	3, 3, 5
6205	add	24, 24, 3
6206	rotlwi	3, 22, 15
6207	rotlwi	5, 22, 13
6208	xor	3, 3, 5
6209	srwi	5, 22, 10
6210	xor	3, 3, 5
6211	add	24, 24, 3
6212	add	24, 24, 17
6213	# Round 11
6214	rotlwi	3, 4, 26
6215	rotlwi	5, 4, 21
6216	xor	3, 3, 5
6217	rotlwi	5, 4, 7
6218	xor	3, 3, 5
6219	add	9, 9, 3
6220	xor	3, 7, 8
6221	and	3, 3, 4
6222	xor	3, 3, 8
6223	add	9, 9, 3
6224	lwz	3, 44(6)
6225	add	9, 9, 25
6226	add	9, 9, 3
6227	add	0, 0, 9
6228	rotlwi	3, 10, 30
6229	rotlwi	5, 10, 19
6230	xor	3, 3, 5
6231	rotlwi	5, 10, 10
6232	xor	3, 3, 5
6233	add	9, 9, 3
6234	xor	5, 10, 11
6235	xor	3, 11, 12
6236	and	3, 3, 5
6237	xor	3, 3, 11
6238	add	9, 9, 3
6239	# Calc new W[11]
6240	rotlwi	3, 26, 25
6241	rotlwi	5, 26, 14
6242	xor	3, 3, 5
6243	srwi	5, 26, 3
6244	xor	3, 3, 5
6245	add	25, 25, 3
6246	rotlwi	3, 23, 15
6247	rotlwi	5, 23, 13
6248	xor	3, 3, 5
6249	srwi	5, 23, 10
6250	xor	3, 3, 5
6251	add	25, 25, 3
6252	add	25, 25, 18
6253	# Round 12
6254	rotlwi	3, 0, 26
6255	rotlwi	5, 0, 21
6256	xor	3, 3, 5
6257	rotlwi	5, 0, 7
6258	xor	3, 3, 5
6259	add	8, 8, 3
6260	xor	3, 4, 7
6261	and	3, 3, 0
6262	xor	3, 3, 7
6263	add	8, 8, 3
6264	lwz	3, 48(6)
6265	add	8, 8, 26
6266	add	8, 8, 3
6267	add	12, 12, 8
6268	rotlwi	3, 9, 30
6269	rotlwi	5, 9, 19
6270	xor	3, 3, 5
6271	rotlwi	5, 9, 10
6272	xor	3, 3, 5
6273	add	8, 8, 3
6274	xor	5, 9, 10
6275	xor	3, 10, 11
6276	and	3, 3, 5
6277	xor	3, 3, 10
6278	add	8, 8, 3
6279	# Calc new W[12]
6280	rotlwi	3, 27, 25
6281	rotlwi	5, 27, 14
6282	xor	3, 3, 5
6283	srwi	5, 27, 3
6284	xor	3, 3, 5
6285	add	26, 26, 3
6286	rotlwi	3, 24, 15
6287	rotlwi	5, 24, 13
6288	xor	3, 3, 5
6289	srwi	5, 24, 10
6290	xor	3, 3, 5
6291	add	26, 26, 3
6292	add	26, 26, 19
6293	# Round 13
6294	rotlwi	3, 12, 26
6295	rotlwi	5, 12, 21
6296	xor	3, 3, 5
6297	rotlwi	5, 12, 7
6298	xor	3, 3, 5
6299	add	7, 7, 3
6300	xor	3, 0, 4
6301	and	3, 3, 12
6302	xor	3, 3, 4
6303	add	7, 7, 3
6304	lwz	3, 52(6)
6305	add	7, 7, 27
6306	add	7, 7, 3
6307	add	11, 11, 7
6308	rotlwi	3, 8, 30
6309	rotlwi	5, 8, 19
6310	xor	3, 3, 5
6311	rotlwi	5, 8, 10
6312	xor	3, 3, 5
6313	add	7, 7, 3
6314	xor	5, 8, 9
6315	xor	3, 9, 10
6316	and	3, 3, 5
6317	xor	3, 3, 9
6318	add	7, 7, 3
6319	# Calc new W[13]
6320	rotlwi	3, 28, 25
6321	rotlwi	5, 28, 14
6322	xor	3, 3, 5
6323	srwi	5, 28, 3
6324	xor	3, 3, 5
6325	add	27, 27, 3
6326	rotlwi	3, 25, 15
6327	rotlwi	5, 25, 13
6328	xor	3, 3, 5
6329	srwi	5, 25, 10
6330	xor	3, 3, 5
6331	add	27, 27, 3
6332	add	27, 27, 20
6333	# Round 14
6334	rotlwi	3, 11, 26
6335	rotlwi	5, 11, 21
6336	xor	3, 3, 5
6337	rotlwi	5, 11, 7
6338	xor	3, 3, 5
6339	add	4, 4, 3
6340	xor	3, 12, 0
6341	and	3, 3, 11
6342	xor	3, 3, 0
6343	add	4, 4, 3
6344	lwz	3, 56(6)
6345	add	4, 4, 28
6346	add	4, 4, 3
6347	add	10, 10, 4
6348	rotlwi	3, 7, 30
6349	rotlwi	5, 7, 19
6350	xor	3, 3, 5
6351	rotlwi	5, 7, 10
6352	xor	3, 3, 5
6353	add	4, 4, 3
6354	xor	5, 7, 8
6355	xor	3, 8, 9
6356	and	3, 3, 5
6357	xor	3, 3, 8
6358	add	4, 4, 3
6359	# Calc new W[14]
6360	rotlwi	3, 29, 25
6361	rotlwi	5, 29, 14
6362	xor	3, 3, 5
6363	srwi	5, 29, 3
6364	xor	3, 3, 5
6365	add	28, 28, 3
6366	rotlwi	3, 26, 15
6367	rotlwi	5, 26, 13
6368	xor	3, 3, 5
6369	srwi	5, 26, 10
6370	xor	3, 3, 5
6371	add	28, 28, 3
6372	add	28, 28, 21
6373	# Round 15
6374	rotlwi	3, 10, 26
6375	rotlwi	5, 10, 21
6376	xor	3, 3, 5
6377	rotlwi	5, 10, 7
6378	xor	3, 3, 5
6379	add	0, 0, 3
6380	xor	3, 11, 12
6381	and	3, 3, 10
6382	xor	3, 3, 12
6383	add	0, 0, 3
6384	lwz	3, 60(6)
6385	add	0, 0, 29
6386	add	0, 0, 3
6387	add	9, 9, 0
6388	rotlwi	3, 4, 30
6389	rotlwi	5, 4, 19
6390	xor	3, 3, 5
6391	rotlwi	5, 4, 10
6392	xor	3, 3, 5
6393	add	0, 0, 3
6394	xor	5, 4, 7
6395	xor	3, 7, 8
6396	and	3, 3, 5
6397	xor	3, 3, 7
6398	add	0, 0, 3
6399	# Calc new W[15]
6400	rotlwi	3, 14, 25
6401	rotlwi	5, 14, 14
6402	xor	3, 3, 5
6403	srwi	5, 14, 3
6404	xor	3, 3, 5
6405	add	29, 29, 3
6406	rotlwi	3, 27, 15
6407	rotlwi	5, 27, 13
6408	xor	3, 3, 5
6409	srwi	5, 27, 10
6410	xor	3, 3, 5
6411	add	29, 29, 3
6412	add	29, 29, 22
6413	addi	6, 6, 0x40
6414	# Round 0
6415	rotlwi	3, 9, 26
6416	rotlwi	5, 9, 21
6417	xor	3, 3, 5
6418	rotlwi	5, 9, 7
6419	xor	3, 3, 5
6420	add	12, 12, 3
6421	xor	3, 10, 11
6422	and	3, 3, 9
6423	xor	3, 3, 11
6424	add	12, 12, 3
6425	lwz	3, 0(6)
6426	add	12, 12, 14
6427	add	12, 12, 3
6428	add	8, 8, 12
6429	rotlwi	3, 0, 30
6430	rotlwi	5, 0, 19
6431	xor	3, 3, 5
6432	rotlwi	5, 0, 10
6433	xor	3, 3, 5
6434	add	12, 12, 3
6435	xor	5, 0, 4
6436	xor	3, 4, 7
6437	and	3, 3, 5
6438	xor	3, 3, 4
6439	add	12, 12, 3
6440	# Round 1
6441	rotlwi	3, 8, 26
6442	rotlwi	5, 8, 21
6443	xor	3, 3, 5
6444	rotlwi	5, 8, 7
6445	xor	3, 3, 5
6446	add	11, 11, 3
6447	xor	3, 9, 10
6448	and	3, 3, 8
6449	xor	3, 3, 10
6450	add	11, 11, 3
6451	lwz	3, 4(6)
6452	add	11, 11, 15
6453	add	11, 11, 3
6454	add	7, 7, 11
6455	rotlwi	3, 12, 30
6456	rotlwi	5, 12, 19
6457	xor	3, 3, 5
6458	rotlwi	5, 12, 10
6459	xor	3, 3, 5
6460	add	11, 11, 3
6461	xor	5, 12, 0
6462	xor	3, 0, 4
6463	and	3, 3, 5
6464	xor	3, 3, 0
6465	add	11, 11, 3
6466	# Round 2
6467	rotlwi	3, 7, 26
6468	rotlwi	5, 7, 21
6469	xor	3, 3, 5
6470	rotlwi	5, 7, 7
6471	xor	3, 3, 5
6472	add	10, 10, 3
6473	xor	3, 8, 9
6474	and	3, 3, 7
6475	xor	3, 3, 9
6476	add	10, 10, 3
6477	lwz	3, 8(6)
6478	add	10, 10, 16
6479	add	10, 10, 3
6480	add	4, 4, 10
6481	rotlwi	3, 11, 30
6482	rotlwi	5, 11, 19
6483	xor	3, 3, 5
6484	rotlwi	5, 11, 10
6485	xor	3, 3, 5
6486	add	10, 10, 3
6487	xor	5, 11, 12
6488	xor	3, 12, 0
6489	and	3, 3, 5
6490	xor	3, 3, 12
6491	add	10, 10, 3
6492	# Round 3
6493	rotlwi	3, 4, 26
6494	rotlwi	5, 4, 21
6495	xor	3, 3, 5
6496	rotlwi	5, 4, 7
6497	xor	3, 3, 5
6498	add	9, 9, 3
6499	xor	3, 7, 8
6500	and	3, 3, 4
6501	xor	3, 3, 8
6502	add	9, 9, 3
6503	lwz	3, 12(6)
6504	add	9, 9, 17
6505	add	9, 9, 3
6506	add	0, 0, 9
6507	rotlwi	3, 10, 30
6508	rotlwi	5, 10, 19
6509	xor	3, 3, 5
6510	rotlwi	5, 10, 10
6511	xor	3, 3, 5
6512	add	9, 9, 3
6513	xor	5, 10, 11
6514	xor	3, 11, 12
6515	and	3, 3, 5
6516	xor	3, 3, 11
6517	add	9, 9, 3
6518	# Round 4
6519	rotlwi	3, 0, 26
6520	rotlwi	5, 0, 21
6521	xor	3, 3, 5
6522	rotlwi	5, 0, 7
6523	xor	3, 3, 5
6524	add	8, 8, 3
6525	xor	3, 4, 7
6526	and	3, 3, 0
6527	xor	3, 3, 7
6528	add	8, 8, 3
6529	lwz	3, 16(6)
6530	add	8, 8, 18
6531	add	8, 8, 3
6532	add	12, 12, 8
6533	rotlwi	3, 9, 30
6534	rotlwi	5, 9, 19
6535	xor	3, 3, 5
6536	rotlwi	5, 9, 10
6537	xor	3, 3, 5
6538	add	8, 8, 3
6539	xor	5, 9, 10
6540	xor	3, 10, 11
6541	and	3, 3, 5
6542	xor	3, 3, 10
6543	add	8, 8, 3
6544	# Round 5
6545	rotlwi	3, 12, 26
6546	rotlwi	5, 12, 21
6547	xor	3, 3, 5
6548	rotlwi	5, 12, 7
6549	xor	3, 3, 5
6550	add	7, 7, 3
6551	xor	3, 0, 4
6552	and	3, 3, 12
6553	xor	3, 3, 4
6554	add	7, 7, 3
6555	lwz	3, 20(6)
6556	add	7, 7, 19
6557	add	7, 7, 3
6558	add	11, 11, 7
6559	rotlwi	3, 8, 30
6560	rotlwi	5, 8, 19
6561	xor	3, 3, 5
6562	rotlwi	5, 8, 10
6563	xor	3, 3, 5
6564	add	7, 7, 3
6565	xor	5, 8, 9
6566	xor	3, 9, 10
6567	and	3, 3, 5
6568	xor	3, 3, 9
6569	add	7, 7, 3
6570	# Round 6
6571	rotlwi	3, 11, 26
6572	rotlwi	5, 11, 21
6573	xor	3, 3, 5
6574	rotlwi	5, 11, 7
6575	xor	3, 3, 5
6576	add	4, 4, 3
6577	xor	3, 12, 0
6578	and	3, 3, 11
6579	xor	3, 3, 0
6580	add	4, 4, 3
6581	lwz	3, 24(6)
6582	add	4, 4, 20
6583	add	4, 4, 3
6584	add	10, 10, 4
6585	rotlwi	3, 7, 30
6586	rotlwi	5, 7, 19
6587	xor	3, 3, 5
6588	rotlwi	5, 7, 10
6589	xor	3, 3, 5
6590	add	4, 4, 3
6591	xor	5, 7, 8
6592	xor	3, 8, 9
6593	and	3, 3, 5
6594	xor	3, 3, 8
6595	add	4, 4, 3
6596	# Round 7
6597	rotlwi	3, 10, 26
6598	rotlwi	5, 10, 21
6599	xor	3, 3, 5
6600	rotlwi	5, 10, 7
6601	xor	3, 3, 5
6602	add	0, 0, 3
6603	xor	3, 11, 12
6604	and	3, 3, 10
6605	xor	3, 3, 12
6606	add	0, 0, 3
6607	lwz	3, 28(6)
6608	add	0, 0, 21
6609	add	0, 0, 3
6610	add	9, 9, 0
6611	rotlwi	3, 4, 30
6612	rotlwi	5, 4, 19
6613	xor	3, 3, 5
6614	rotlwi	5, 4, 10
6615	xor	3, 3, 5
6616	add	0, 0, 3
6617	xor	5, 4, 7
6618	xor	3, 7, 8
6619	and	3, 3, 5
6620	xor	3, 3, 7
6621	add	0, 0, 3
6622	# Round 8
6623	rotlwi	3, 9, 26
6624	rotlwi	5, 9, 21
6625	xor	3, 3, 5
6626	rotlwi	5, 9, 7
6627	xor	3, 3, 5
6628	add	12, 12, 3
6629	xor	3, 10, 11
6630	and	3, 3, 9
6631	xor	3, 3, 11
6632	add	12, 12, 3
6633	lwz	3, 32(6)
6634	add	12, 12, 22
6635	add	12, 12, 3
6636	add	8, 8, 12
6637	rotlwi	3, 0, 30
6638	rotlwi	5, 0, 19
6639	xor	3, 3, 5
6640	rotlwi	5, 0, 10
6641	xor	3, 3, 5
6642	add	12, 12, 3
6643	xor	5, 0, 4
6644	xor	3, 4, 7
6645	and	3, 3, 5
6646	xor	3, 3, 4
6647	add	12, 12, 3
6648	# Round 9
6649	rotlwi	3, 8, 26
6650	rotlwi	5, 8, 21
6651	xor	3, 3, 5
6652	rotlwi	5, 8, 7
6653	xor	3, 3, 5
6654	add	11, 11, 3
6655	xor	3, 9, 10
6656	and	3, 3, 8
6657	xor	3, 3, 10
6658	add	11, 11, 3
6659	lwz	3, 36(6)
6660	add	11, 11, 23
6661	add	11, 11, 3
6662	add	7, 7, 11
6663	rotlwi	3, 12, 30
6664	rotlwi	5, 12, 19
6665	xor	3, 3, 5
6666	rotlwi	5, 12, 10
6667	xor	3, 3, 5
6668	add	11, 11, 3
6669	xor	5, 12, 0
6670	xor	3, 0, 4
6671	and	3, 3, 5
6672	xor	3, 3, 0
6673	add	11, 11, 3
6674	# Round 10
6675	rotlwi	3, 7, 26
6676	rotlwi	5, 7, 21
6677	xor	3, 3, 5
6678	rotlwi	5, 7, 7
6679	xor	3, 3, 5
6680	add	10, 10, 3
6681	xor	3, 8, 9
6682	and	3, 3, 7
6683	xor	3, 3, 9
6684	add	10, 10, 3
6685	lwz	3, 40(6)
6686	add	10, 10, 24
6687	add	10, 10, 3
6688	add	4, 4, 10
6689	rotlwi	3, 11, 30
6690	rotlwi	5, 11, 19
6691	xor	3, 3, 5
6692	rotlwi	5, 11, 10
6693	xor	3, 3, 5
6694	add	10, 10, 3
6695	xor	5, 11, 12
6696	xor	3, 12, 0
6697	and	3, 3, 5
6698	xor	3, 3, 12
6699	add	10, 10, 3
6700	# Round 11
6701	rotlwi	3, 4, 26
6702	rotlwi	5, 4, 21
6703	xor	3, 3, 5
6704	rotlwi	5, 4, 7
6705	xor	3, 3, 5
6706	add	9, 9, 3
6707	xor	3, 7, 8
6708	and	3, 3, 4
6709	xor	3, 3, 8
6710	add	9, 9, 3
6711	lwz	3, 44(6)
6712	add	9, 9, 25
6713	add	9, 9, 3
6714	add	0, 0, 9
6715	rotlwi	3, 10, 30
6716	rotlwi	5, 10, 19
6717	xor	3, 3, 5
6718	rotlwi	5, 10, 10
6719	xor	3, 3, 5
6720	add	9, 9, 3
6721	xor	5, 10, 11
6722	xor	3, 11, 12
6723	and	3, 3, 5
6724	xor	3, 3, 11
6725	add	9, 9, 3
6726	# Round 12
6727	rotlwi	3, 0, 26
6728	rotlwi	5, 0, 21
6729	xor	3, 3, 5
6730	rotlwi	5, 0, 7
6731	xor	3, 3, 5
6732	add	8, 8, 3
6733	xor	3, 4, 7
6734	and	3, 3, 0
6735	xor	3, 3, 7
6736	add	8, 8, 3
6737	lwz	3, 48(6)
6738	add	8, 8, 26
6739	add	8, 8, 3
6740	add	12, 12, 8
6741	rotlwi	3, 9, 30
6742	rotlwi	5, 9, 19
6743	xor	3, 3, 5
6744	rotlwi	5, 9, 10
6745	xor	3, 3, 5
6746	add	8, 8, 3
6747	xor	5, 9, 10
6748	xor	3, 10, 11
6749	and	3, 3, 5
6750	xor	3, 3, 10
6751	add	8, 8, 3
6752	# Round 13
6753	rotlwi	3, 12, 26
6754	rotlwi	5, 12, 21
6755	xor	3, 3, 5
6756	rotlwi	5, 12, 7
6757	xor	3, 3, 5
6758	add	7, 7, 3
6759	xor	3, 0, 4
6760	and	3, 3, 12
6761	xor	3, 3, 4
6762	add	7, 7, 3
6763	lwz	3, 52(6)
6764	add	7, 7, 27
6765	add	7, 7, 3
6766	add	11, 11, 7
6767	rotlwi	3, 8, 30
6768	rotlwi	5, 8, 19
6769	xor	3, 3, 5
6770	rotlwi	5, 8, 10
6771	xor	3, 3, 5
6772	add	7, 7, 3
6773	xor	5, 8, 9
6774	xor	3, 9, 10
6775	and	3, 3, 5
6776	xor	3, 3, 9
6777	add	7, 7, 3
6778	# Round 14
6779	rotlwi	3, 11, 26
6780	rotlwi	5, 11, 21
6781	xor	3, 3, 5
6782	rotlwi	5, 11, 7
6783	xor	3, 3, 5
6784	add	4, 4, 3
6785	xor	3, 12, 0
6786	and	3, 3, 11
6787	xor	3, 3, 0
6788	add	4, 4, 3
6789	lwz	3, 56(6)
6790	add	4, 4, 28
6791	add	4, 4, 3
6792	add	10, 10, 4
6793	rotlwi	3, 7, 30
6794	rotlwi	5, 7, 19
6795	xor	3, 3, 5
6796	rotlwi	5, 7, 10
6797	xor	3, 3, 5
6798	add	4, 4, 3
6799	xor	5, 7, 8
6800	xor	3, 8, 9
6801	and	3, 3, 5
6802	xor	3, 3, 8
6803	add	4, 4, 3
6804	# Round 15
6805	rotlwi	3, 10, 26
6806	rotlwi	5, 10, 21
6807	xor	3, 3, 5
6808	rotlwi	5, 10, 7
6809	xor	3, 3, 5
6810	add	0, 0, 3
6811	xor	3, 11, 12
6812	and	3, 3, 10
6813	xor	3, 3, 12
6814	add	0, 0, 3
6815	lwz	3, 60(6)
6816	add	0, 0, 29
6817	add	0, 0, 3
6818	add	9, 9, 0
6819	rotlwi	3, 4, 30
6820	rotlwi	5, 4, 19
6821	xor	3, 3, 5
6822	rotlwi	5, 4, 10
6823	xor	3, 3, 5
6824	add	0, 0, 3
6825	xor	5, 4, 7
6826	xor	3, 7, 8
6827	and	3, 3, 5
6828	xor	3, 3, 7
6829	add	0, 0, 3
6830	subi	6, 6, 0xc0
6831	lwz	3, 0(1)
6832	# Add in digest from start
6833	lwz	5, 0(3)
6834	add	0, 0, 5
6835	lwz	5, 4(3)
6836	add	4, 4, 5
6837	lwz	5, 8(3)
6838	add	7, 7, 5
6839	lwz	5, 12(3)
6840	add	8, 8, 5
6841	lwz	5, 16(3)
6842	add	9, 9, 5
6843	lwz	5, 20(3)
6844	add	10, 10, 5
6845	lwz	5, 24(3)
6846	add	11, 11, 5
6847	lwz	5, 28(3)
6848	add	12, 12, 5
6849	stw	0, 0(3)
6850	stw	4, 4(3)
6851	stw	7, 8(3)
6852	stw	8, 12(3)
6853	stw	9, 16(3)
6854	stw	10, 20(3)
6855	stw	11, 24(3)
6856	stw	12, 28(3)
6857	lwz	3, 4(1)
6858	addi	3, 3, 0x40
6859	stw	3, 4(1)
6860	bdnz	L_SHA256_transform_len_begin
6861	addi	1, 1, 8
6862#else
6863	subi	1, 1, 12
6864	stw	3, 0(1)
6865	stw	4, 4(1)
6866	stw	5, 8(1)
6867	# Copy digest to add in at end
6868	lwz	0, 0(3)
6869	lwz	4, 4(3)
6870	lwz	7, 8(3)
6871	lwz	8, 12(3)
6872	lwz	9, 16(3)
6873	lwz	10, 20(3)
6874	lwz	11, 24(3)
6875	lwz	12, 28(3)
6876	lwz	3, 4(1)
6877	# Start of loop processing a block
6878L_SHA256_transform_len_begin:
6879	# Load W - 64 bytes
6880	lwz	14, 0(3)
6881	lwz	15, 4(3)
6882	lwz	16, 8(3)
6883	lwz	17, 12(3)
6884	lwz	18, 16(3)
6885	lwz	19, 20(3)
6886	lwz	20, 24(3)
6887	lwz	21, 28(3)
6888	lwz	22, 32(3)
6889	lwz	23, 36(3)
6890	lwz	24, 40(3)
6891	lwz	25, 44(3)
6892	lwz	26, 48(3)
6893	lwz	27, 52(3)
6894	lwz	28, 56(3)
6895	lwz	29, 60(3)
6896	li	3, 4
6897	mtctr	3
6898	# Start of 16 rounds
6899L_SHA256_transform_len_start:
6900	# Round 0
6901	rotlwi	3, 9, 26
6902	rotlwi	5, 9, 21
6903	xor	3, 3, 5
6904	rotlwi	5, 9, 7
6905	xor	3, 3, 5
6906	add	12, 12, 3
6907	xor	3, 10, 11
6908	and	3, 3, 9
6909	xor	3, 3, 11
6910	add	12, 12, 3
6911	lwz	3, 0(6)
6912	add	12, 12, 14
6913	add	12, 12, 3
6914	add	8, 8, 12
6915	rotlwi	3, 0, 30
6916	rotlwi	5, 0, 19
6917	xor	3, 3, 5
6918	rotlwi	5, 0, 10
6919	xor	3, 3, 5
6920	add	12, 12, 3
6921	xor	5, 0, 4
6922	xor	3, 4, 7
6923	and	3, 3, 5
6924	xor	3, 3, 4
6925	add	12, 12, 3
6926	mfctr	5
6927	cmpwi	3, 5, 1
6928	beq	3, L_SHA256_transform_len_after_blk_0
6929	# Calc new W[0]
6930	rotlwi	3, 15, 25
6931	rotlwi	5, 15, 14
6932	xor	3, 3, 5
6933	srwi	5, 15, 3
6934	xor	3, 3, 5
6935	add	14, 14, 3
6936	rotlwi	3, 28, 15
6937	rotlwi	5, 28, 13
6938	xor	3, 3, 5
6939	srwi	5, 28, 10
6940	xor	3, 3, 5
6941	add	14, 14, 3
6942	add	14, 14, 23
6943L_SHA256_transform_len_after_blk_0:
6944	# Round 1
6945	rotlwi	3, 8, 26
6946	rotlwi	5, 8, 21
6947	xor	3, 3, 5
6948	rotlwi	5, 8, 7
6949	xor	3, 3, 5
6950	add	11, 11, 3
6951	xor	3, 9, 10
6952	and	3, 3, 8
6953	xor	3, 3, 10
6954	add	11, 11, 3
6955	lwz	3, 4(6)
6956	add	11, 11, 15
6957	add	11, 11, 3
6958	add	7, 7, 11
6959	rotlwi	3, 12, 30
6960	rotlwi	5, 12, 19
6961	xor	3, 3, 5
6962	rotlwi	5, 12, 10
6963	xor	3, 3, 5
6964	add	11, 11, 3
6965	xor	5, 12, 0
6966	xor	3, 0, 4
6967	and	3, 3, 5
6968	xor	3, 3, 0
6969	add	11, 11, 3
6970	mfctr	5
6971	cmpwi	3, 5, 1
6972	beq	3, L_SHA256_transform_len_after_blk_1
6973	# Calc new W[1]
6974	rotlwi	3, 16, 25
6975	rotlwi	5, 16, 14
6976	xor	3, 3, 5
6977	srwi	5, 16, 3
6978	xor	3, 3, 5
6979	add	15, 15, 3
6980	rotlwi	3, 29, 15
6981	rotlwi	5, 29, 13
6982	xor	3, 3, 5
6983	srwi	5, 29, 10
6984	xor	3, 3, 5
6985	add	15, 15, 3
6986	add	15, 15, 24
6987L_SHA256_transform_len_after_blk_1:
6988	# Round 2
6989	rotlwi	3, 7, 26
6990	rotlwi	5, 7, 21
6991	xor	3, 3, 5
6992	rotlwi	5, 7, 7
6993	xor	3, 3, 5
6994	add	10, 10, 3
6995	xor	3, 8, 9
6996	and	3, 3, 7
6997	xor	3, 3, 9
6998	add	10, 10, 3
6999	lwz	3, 8(6)
7000	add	10, 10, 16
7001	add	10, 10, 3
7002	add	4, 4, 10
7003	rotlwi	3, 11, 30
7004	rotlwi	5, 11, 19
7005	xor	3, 3, 5
7006	rotlwi	5, 11, 10
7007	xor	3, 3, 5
7008	add	10, 10, 3
7009	xor	5, 11, 12
7010	xor	3, 12, 0
7011	and	3, 3, 5
7012	xor	3, 3, 12
7013	add	10, 10, 3
7014	mfctr	5
7015	cmpwi	3, 5, 1
7016	beq	3, L_SHA256_transform_len_after_blk_2
7017	# Calc new W[2]
7018	rotlwi	3, 17, 25
7019	rotlwi	5, 17, 14
7020	xor	3, 3, 5
7021	srwi	5, 17, 3
7022	xor	3, 3, 5
7023	add	16, 16, 3
7024	rotlwi	3, 14, 15
7025	rotlwi	5, 14, 13
7026	xor	3, 3, 5
7027	srwi	5, 14, 10
7028	xor	3, 3, 5
7029	add	16, 16, 3
7030	add	16, 16, 25
7031L_SHA256_transform_len_after_blk_2:
7032	# Round 3
7033	rotlwi	3, 4, 26
7034	rotlwi	5, 4, 21
7035	xor	3, 3, 5
7036	rotlwi	5, 4, 7
7037	xor	3, 3, 5
7038	add	9, 9, 3
7039	xor	3, 7, 8
7040	and	3, 3, 4
7041	xor	3, 3, 8
7042	add	9, 9, 3
7043	lwz	3, 12(6)
7044	add	9, 9, 17
7045	add	9, 9, 3
7046	add	0, 0, 9
7047	rotlwi	3, 10, 30
7048	rotlwi	5, 10, 19
7049	xor	3, 3, 5
7050	rotlwi	5, 10, 10
7051	xor	3, 3, 5
7052	add	9, 9, 3
7053	xor	5, 10, 11
7054	xor	3, 11, 12
7055	and	3, 3, 5
7056	xor	3, 3, 11
7057	add	9, 9, 3
7058	mfctr	5
7059	cmpwi	3, 5, 1
7060	beq	3, L_SHA256_transform_len_after_blk_3
7061	# Calc new W[3]
7062	rotlwi	3, 18, 25
7063	rotlwi	5, 18, 14
7064	xor	3, 3, 5
7065	srwi	5, 18, 3
7066	xor	3, 3, 5
7067	add	17, 17, 3
7068	rotlwi	3, 15, 15
7069	rotlwi	5, 15, 13
7070	xor	3, 3, 5
7071	srwi	5, 15, 10
7072	xor	3, 3, 5
7073	add	17, 17, 3
7074	add	17, 17, 26
7075L_SHA256_transform_len_after_blk_3:
7076	# Round 4
7077	rotlwi	3, 0, 26
7078	rotlwi	5, 0, 21
7079	xor	3, 3, 5
7080	rotlwi	5, 0, 7
7081	xor	3, 3, 5
7082	add	8, 8, 3
7083	xor	3, 4, 7
7084	and	3, 3, 0
7085	xor	3, 3, 7
7086	add	8, 8, 3
7087	lwz	3, 16(6)
7088	add	8, 8, 18
7089	add	8, 8, 3
7090	add	12, 12, 8
7091	rotlwi	3, 9, 30
7092	rotlwi	5, 9, 19
7093	xor	3, 3, 5
7094	rotlwi	5, 9, 10
7095	xor	3, 3, 5
7096	add	8, 8, 3
7097	xor	5, 9, 10
7098	xor	3, 10, 11
7099	and	3, 3, 5
7100	xor	3, 3, 10
7101	add	8, 8, 3
7102	mfctr	5
7103	cmpwi	3, 5, 1
7104	beq	3, L_SHA256_transform_len_after_blk_4
7105	# Calc new W[4]
7106	rotlwi	3, 19, 25
7107	rotlwi	5, 19, 14
7108	xor	3, 3, 5
7109	srwi	5, 19, 3
7110	xor	3, 3, 5
7111	add	18, 18, 3
7112	rotlwi	3, 16, 15
7113	rotlwi	5, 16, 13
7114	xor	3, 3, 5
7115	srwi	5, 16, 10
7116	xor	3, 3, 5
7117	add	18, 18, 3
7118	add	18, 18, 27
7119L_SHA256_transform_len_after_blk_4:
7120	# Round 5
7121	rotlwi	3, 12, 26
7122	rotlwi	5, 12, 21
7123	xor	3, 3, 5
7124	rotlwi	5, 12, 7
7125	xor	3, 3, 5
7126	add	7, 7, 3
7127	xor	3, 0, 4
7128	and	3, 3, 12
7129	xor	3, 3, 4
7130	add	7, 7, 3
7131	lwz	3, 20(6)
7132	add	7, 7, 19
7133	add	7, 7, 3
7134	add	11, 11, 7
7135	rotlwi	3, 8, 30
7136	rotlwi	5, 8, 19
7137	xor	3, 3, 5
7138	rotlwi	5, 8, 10
7139	xor	3, 3, 5
7140	add	7, 7, 3
7141	xor	5, 8, 9
7142	xor	3, 9, 10
7143	and	3, 3, 5
7144	xor	3, 3, 9
7145	add	7, 7, 3
7146	mfctr	5
7147	cmpwi	3, 5, 1
7148	beq	3, L_SHA256_transform_len_after_blk_5
7149	# Calc new W[5]
7150	rotlwi	3, 20, 25
7151	rotlwi	5, 20, 14
7152	xor	3, 3, 5
7153	srwi	5, 20, 3
7154	xor	3, 3, 5
7155	add	19, 19, 3
7156	rotlwi	3, 17, 15
7157	rotlwi	5, 17, 13
7158	xor	3, 3, 5
7159	srwi	5, 17, 10
7160	xor	3, 3, 5
7161	add	19, 19, 3
7162	add	19, 19, 28
7163L_SHA256_transform_len_after_blk_5:
7164	# Round 6
7165	rotlwi	3, 11, 26
7166	rotlwi	5, 11, 21
7167	xor	3, 3, 5
7168	rotlwi	5, 11, 7
7169	xor	3, 3, 5
7170	add	4, 4, 3
7171	xor	3, 12, 0
7172	and	3, 3, 11
7173	xor	3, 3, 0
7174	add	4, 4, 3
7175	lwz	3, 24(6)
7176	add	4, 4, 20
7177	add	4, 4, 3
7178	add	10, 10, 4
7179	rotlwi	3, 7, 30
7180	rotlwi	5, 7, 19
7181	xor	3, 3, 5
7182	rotlwi	5, 7, 10
7183	xor	3, 3, 5
7184	add	4, 4, 3
7185	xor	5, 7, 8
7186	xor	3, 8, 9
7187	and	3, 3, 5
7188	xor	3, 3, 8
7189	add	4, 4, 3
7190	mfctr	5
7191	cmpwi	3, 5, 1
7192	beq	3, L_SHA256_transform_len_after_blk_6
7193	# Calc new W[6]
7194	rotlwi	3, 21, 25
7195	rotlwi	5, 21, 14
7196	xor	3, 3, 5
7197	srwi	5, 21, 3
7198	xor	3, 3, 5
7199	add	20, 20, 3
7200	rotlwi	3, 18, 15
7201	rotlwi	5, 18, 13
7202	xor	3, 3, 5
7203	srwi	5, 18, 10
7204	xor	3, 3, 5
7205	add	20, 20, 3
7206	add	20, 20, 29
7207L_SHA256_transform_len_after_blk_6:
7208	# Round 7
7209	rotlwi	3, 10, 26
7210	rotlwi	5, 10, 21
7211	xor	3, 3, 5
7212	rotlwi	5, 10, 7
7213	xor	3, 3, 5
7214	add	0, 0, 3
7215	xor	3, 11, 12
7216	and	3, 3, 10
7217	xor	3, 3, 12
7218	add	0, 0, 3
7219	lwz	3, 28(6)
7220	add	0, 0, 21
7221	add	0, 0, 3
7222	add	9, 9, 0
7223	rotlwi	3, 4, 30
7224	rotlwi	5, 4, 19
7225	xor	3, 3, 5
7226	rotlwi	5, 4, 10
7227	xor	3, 3, 5
7228	add	0, 0, 3
7229	xor	5, 4, 7
7230	xor	3, 7, 8
7231	and	3, 3, 5
7232	xor	3, 3, 7
7233	add	0, 0, 3
7234	mfctr	5
7235	cmpwi	3, 5, 1
7236	beq	3, L_SHA256_transform_len_after_blk_7
7237	# Calc new W[7]
7238	rotlwi	3, 22, 25
7239	rotlwi	5, 22, 14
7240	xor	3, 3, 5
7241	srwi	5, 22, 3
7242	xor	3, 3, 5
7243	add	21, 21, 3
7244	rotlwi	3, 19, 15
7245	rotlwi	5, 19, 13
7246	xor	3, 3, 5
7247	srwi	5, 19, 10
7248	xor	3, 3, 5
7249	add	21, 21, 3
7250	add	21, 21, 14
7251L_SHA256_transform_len_after_blk_7:
7252	# Round 8
7253	rotlwi	3, 9, 26
7254	rotlwi	5, 9, 21
7255	xor	3, 3, 5
7256	rotlwi	5, 9, 7
7257	xor	3, 3, 5
7258	add	12, 12, 3
7259	xor	3, 10, 11
7260	and	3, 3, 9
7261	xor	3, 3, 11
7262	add	12, 12, 3
7263	lwz	3, 32(6)
7264	add	12, 12, 22
7265	add	12, 12, 3
7266	add	8, 8, 12
7267	rotlwi	3, 0, 30
7268	rotlwi	5, 0, 19
7269	xor	3, 3, 5
7270	rotlwi	5, 0, 10
7271	xor	3, 3, 5
7272	add	12, 12, 3
7273	xor	5, 0, 4
7274	xor	3, 4, 7
7275	and	3, 3, 5
7276	xor	3, 3, 4
7277	add	12, 12, 3
7278	mfctr	5
7279	cmpwi	3, 5, 1
7280	beq	3, L_SHA256_transform_len_after_blk_8
7281	# Calc new W[8]
7282	rotlwi	3, 23, 25
7283	rotlwi	5, 23, 14
7284	xor	3, 3, 5
7285	srwi	5, 23, 3
7286	xor	3, 3, 5
7287	add	22, 22, 3
7288	rotlwi	3, 20, 15
7289	rotlwi	5, 20, 13
7290	xor	3, 3, 5
7291	srwi	5, 20, 10
7292	xor	3, 3, 5
7293	add	22, 22, 3
7294	add	22, 22, 15
7295L_SHA256_transform_len_after_blk_8:
7296	# Round 9
7297	rotlwi	3, 8, 26
7298	rotlwi	5, 8, 21
7299	xor	3, 3, 5
7300	rotlwi	5, 8, 7
7301	xor	3, 3, 5
7302	add	11, 11, 3
7303	xor	3, 9, 10
7304	and	3, 3, 8
7305	xor	3, 3, 10
7306	add	11, 11, 3
7307	lwz	3, 36(6)
7308	add	11, 11, 23
7309	add	11, 11, 3
7310	add	7, 7, 11
7311	rotlwi	3, 12, 30
7312	rotlwi	5, 12, 19
7313	xor	3, 3, 5
7314	rotlwi	5, 12, 10
7315	xor	3, 3, 5
7316	add	11, 11, 3
7317	xor	5, 12, 0
7318	xor	3, 0, 4
7319	and	3, 3, 5
7320	xor	3, 3, 0
7321	add	11, 11, 3
7322	mfctr	5
7323	cmpwi	3, 5, 1
7324	beq	3, L_SHA256_transform_len_after_blk_9
7325	# Calc new W[9]
7326	rotlwi	3, 24, 25
7327	rotlwi	5, 24, 14
7328	xor	3, 3, 5
7329	srwi	5, 24, 3
7330	xor	3, 3, 5
7331	add	23, 23, 3
7332	rotlwi	3, 21, 15
7333	rotlwi	5, 21, 13
7334	xor	3, 3, 5
7335	srwi	5, 21, 10
7336	xor	3, 3, 5
7337	add	23, 23, 3
7338	add	23, 23, 16
7339L_SHA256_transform_len_after_blk_9:
7340	# Round 10
7341	rotlwi	3, 7, 26
7342	rotlwi	5, 7, 21
7343	xor	3, 3, 5
7344	rotlwi	5, 7, 7
7345	xor	3, 3, 5
7346	add	10, 10, 3
7347	xor	3, 8, 9
7348	and	3, 3, 7
7349	xor	3, 3, 9
7350	add	10, 10, 3
7351	lwz	3, 40(6)
7352	add	10, 10, 24
7353	add	10, 10, 3
7354	add	4, 4, 10
7355	rotlwi	3, 11, 30
7356	rotlwi	5, 11, 19
7357	xor	3, 3, 5
7358	rotlwi	5, 11, 10
7359	xor	3, 3, 5
7360	add	10, 10, 3
7361	xor	5, 11, 12
7362	xor	3, 12, 0
7363	and	3, 3, 5
7364	xor	3, 3, 12
7365	add	10, 10, 3
7366	mfctr	5
7367	cmpwi	3, 5, 1
7368	beq	3, L_SHA256_transform_len_after_blk_10
7369	# Calc new W[10]
7370	rotlwi	3, 25, 25
7371	rotlwi	5, 25, 14
7372	xor	3, 3, 5
7373	srwi	5, 25, 3
7374	xor	3, 3, 5
7375	add	24, 24, 3
7376	rotlwi	3, 22, 15
7377	rotlwi	5, 22, 13
7378	xor	3, 3, 5
7379	srwi	5, 22, 10
7380	xor	3, 3, 5
7381	add	24, 24, 3
7382	add	24, 24, 17
7383L_SHA256_transform_len_after_blk_10:
7384	# Round 11
7385	rotlwi	3, 4, 26
7386	rotlwi	5, 4, 21
7387	xor	3, 3, 5
7388	rotlwi	5, 4, 7
7389	xor	3, 3, 5
7390	add	9, 9, 3
7391	xor	3, 7, 8
7392	and	3, 3, 4
7393	xor	3, 3, 8
7394	add	9, 9, 3
7395	lwz	3, 44(6)
7396	add	9, 9, 25
7397	add	9, 9, 3
7398	add	0, 0, 9
7399	rotlwi	3, 10, 30
7400	rotlwi	5, 10, 19
7401	xor	3, 3, 5
7402	rotlwi	5, 10, 10
7403	xor	3, 3, 5
7404	add	9, 9, 3
7405	xor	5, 10, 11
7406	xor	3, 11, 12
7407	and	3, 3, 5
7408	xor	3, 3, 11
7409	add	9, 9, 3
7410	mfctr	5
7411	cmpwi	3, 5, 1
7412	beq	3, L_SHA256_transform_len_after_blk_11
7413	# Calc new W[11]
7414	rotlwi	3, 26, 25
7415	rotlwi	5, 26, 14
7416	xor	3, 3, 5
7417	srwi	5, 26, 3
7418	xor	3, 3, 5
7419	add	25, 25, 3
7420	rotlwi	3, 23, 15
7421	rotlwi	5, 23, 13
7422	xor	3, 3, 5
7423	srwi	5, 23, 10
7424	xor	3, 3, 5
7425	add	25, 25, 3
7426	add	25, 25, 18
7427L_SHA256_transform_len_after_blk_11:
7428	# Round 12
7429	rotlwi	3, 0, 26
7430	rotlwi	5, 0, 21
7431	xor	3, 3, 5
7432	rotlwi	5, 0, 7
7433	xor	3, 3, 5
7434	add	8, 8, 3
7435	xor	3, 4, 7
7436	and	3, 3, 0
7437	xor	3, 3, 7
7438	add	8, 8, 3
7439	lwz	3, 48(6)
7440	add	8, 8, 26
7441	add	8, 8, 3
7442	add	12, 12, 8
7443	rotlwi	3, 9, 30
7444	rotlwi	5, 9, 19
7445	xor	3, 3, 5
7446	rotlwi	5, 9, 10
7447	xor	3, 3, 5
7448	add	8, 8, 3
7449	xor	5, 9, 10
7450	xor	3, 10, 11
7451	and	3, 3, 5
7452	xor	3, 3, 10
7453	add	8, 8, 3
7454	mfctr	5
7455	cmpwi	3, 5, 1
7456	beq	3, L_SHA256_transform_len_after_blk_12
7457	# Calc new W[12]
7458	rotlwi	3, 27, 25
7459	rotlwi	5, 27, 14
7460	xor	3, 3, 5
7461	srwi	5, 27, 3
7462	xor	3, 3, 5
7463	add	26, 26, 3
7464	rotlwi	3, 24, 15
7465	rotlwi	5, 24, 13
7466	xor	3, 3, 5
7467	srwi	5, 24, 10
7468	xor	3, 3, 5
7469	add	26, 26, 3
7470	add	26, 26, 19
7471L_SHA256_transform_len_after_blk_12:
7472	# Round 13
7473	rotlwi	3, 12, 26
7474	rotlwi	5, 12, 21
7475	xor	3, 3, 5
7476	rotlwi	5, 12, 7
7477	xor	3, 3, 5
7478	add	7, 7, 3
7479	xor	3, 0, 4
7480	and	3, 3, 12
7481	xor	3, 3, 4
7482	add	7, 7, 3
7483	lwz	3, 52(6)
7484	add	7, 7, 27
7485	add	7, 7, 3
7486	add	11, 11, 7
7487	rotlwi	3, 8, 30
7488	rotlwi	5, 8, 19
7489	xor	3, 3, 5
7490	rotlwi	5, 8, 10
7491	xor	3, 3, 5
7492	add	7, 7, 3
7493	xor	5, 8, 9
7494	xor	3, 9, 10
7495	and	3, 3, 5
7496	xor	3, 3, 9
7497	add	7, 7, 3
7498	mfctr	5
7499	cmpwi	3, 5, 1
7500	beq	3, L_SHA256_transform_len_after_blk_13
7501	# Calc new W[13]
7502	rotlwi	3, 28, 25
7503	rotlwi	5, 28, 14
7504	xor	3, 3, 5
7505	srwi	5, 28, 3
7506	xor	3, 3, 5
7507	add	27, 27, 3
7508	rotlwi	3, 25, 15
7509	rotlwi	5, 25, 13
7510	xor	3, 3, 5
7511	srwi	5, 25, 10
7512	xor	3, 3, 5
7513	add	27, 27, 3
7514	add	27, 27, 20
7515L_SHA256_transform_len_after_blk_13:
7516	# Round 14
7517	rotlwi	3, 11, 26
7518	rotlwi	5, 11, 21
7519	xor	3, 3, 5
7520	rotlwi	5, 11, 7
7521	xor	3, 3, 5
7522	add	4, 4, 3
7523	xor	3, 12, 0
7524	and	3, 3, 11
7525	xor	3, 3, 0
7526	add	4, 4, 3
7527	lwz	3, 56(6)
7528	add	4, 4, 28
7529	add	4, 4, 3
7530	add	10, 10, 4
7531	rotlwi	3, 7, 30
7532	rotlwi	5, 7, 19
7533	xor	3, 3, 5
7534	rotlwi	5, 7, 10
7535	xor	3, 3, 5
7536	add	4, 4, 3
7537	xor	5, 7, 8
7538	xor	3, 8, 9
7539	and	3, 3, 5
7540	xor	3, 3, 8
7541	add	4, 4, 3
7542	mfctr	5
7543	cmpwi	3, 5, 1
7544	beq	3, L_SHA256_transform_len_after_blk_14
7545	# Calc new W[14]
7546	rotlwi	3, 29, 25
7547	rotlwi	5, 29, 14
7548	xor	3, 3, 5
7549	srwi	5, 29, 3
7550	xor	3, 3, 5
7551	add	28, 28, 3
7552	rotlwi	3, 26, 15
7553	rotlwi	5, 26, 13
7554	xor	3, 3, 5
7555	srwi	5, 26, 10
7556	xor	3, 3, 5
7557	add	28, 28, 3
7558	add	28, 28, 21
7559L_SHA256_transform_len_after_blk_14:
7560	# Round 15
7561	rotlwi	3, 10, 26
7562	rotlwi	5, 10, 21
7563	xor	3, 3, 5
7564	rotlwi	5, 10, 7
7565	xor	3, 3, 5
7566	add	0, 0, 3
7567	xor	3, 11, 12
7568	and	3, 3, 10
7569	xor	3, 3, 12
7570	add	0, 0, 3
7571	lwz	3, 60(6)
7572	add	0, 0, 29
7573	add	0, 0, 3
7574	add	9, 9, 0
7575	rotlwi	3, 4, 30
7576	rotlwi	5, 4, 19
7577	xor	3, 3, 5
7578	rotlwi	5, 4, 10
7579	xor	3, 3, 5
7580	add	0, 0, 3
7581	xor	5, 4, 7
7582	xor	3, 7, 8
7583	and	3, 3, 5
7584	xor	3, 3, 7
7585	add	0, 0, 3
7586	mfctr	5
7587	cmpwi	3, 5, 1
7588	beq	3, L_SHA256_transform_len_after_blk_15
7589	# Calc new W[15]
7590	rotlwi	3, 14, 25
7591	rotlwi	5, 14, 14
7592	xor	3, 3, 5
7593	srwi	5, 14, 3
7594	xor	3, 3, 5
7595	add	29, 29, 3
7596	rotlwi	3, 27, 15
7597	rotlwi	5, 27, 13
7598	xor	3, 3, 5
7599	srwi	5, 27, 10
7600	xor	3, 3, 5
7601	add	29, 29, 3
7602	add	29, 29, 22
7603L_SHA256_transform_len_after_blk_15:
7604	addi	6, 6, 0x40
7605	bdnz	L_SHA256_transform_len_start
7606	subi	6, 6, 0x100
7607	lwz	3, 0(1)
7608	# Add in digest from start
7609	lwz	5, 0(3)
7610	add	0, 0, 5
7611	lwz	5, 4(3)
7612	add	4, 4, 5
7613	lwz	5, 8(3)
7614	add	7, 7, 5
7615	lwz	5, 12(3)
7616	add	8, 8, 5
7617	lwz	5, 16(3)
7618	add	9, 9, 5
7619	lwz	5, 20(3)
7620	add	10, 10, 5
7621	lwz	5, 24(3)
7622	add	11, 11, 5
7623	lwz	5, 28(3)
7624	add	12, 12, 5
7625	stw	0, 0(3)
7626	stw	4, 4(3)
7627	stw	7, 8(3)
7628	stw	8, 12(3)
7629	stw	9, 16(3)
7630	stw	10, 20(3)
7631	stw	11, 24(3)
7632	stw	12, 28(3)
7633	lwz	3, 4(1)
7634	lwz	5, 8(1)
7635	mtctr	5
7636	subi	5, 5, 1
7637	addi	3, 3, 0x40
7638	stw	3, 4(1)
7639	stw	5, 8(1)
7640	bdnz	L_SHA256_transform_len_begin
7641	addi	1, 1, 12
7642#endif /* WOLFSSL_PPC32_ASM_SMALL */
7643	lwz	0, 64(1)
7644	mtlr	0
7645	lwz	14, 0(1)
7646	lwz	15, 4(1)
7647	lwz	16, 8(1)
7648	lwz	17, 12(1)
7649	lwz	18, 16(1)
7650	lwz	19, 20(1)
7651	lwz	20, 24(1)
7652	lwz	21, 28(1)
7653	lwz	22, 32(1)
7654	lwz	23, 36(1)
7655	lwz	24, 40(1)
7656	lwz	25, 44(1)
7657	lwz	26, 48(1)
7658	lwz	27, 52(1)
7659	lwz	28, 56(1)
7660	lwz	29, 60(1)
7661	addi	1, 1, 0x44
7662	blr
7663	.size	Transform_Sha256_Len,.-Transform_Sha256_Len
7664#endif /* __PIC__ */
7665#endif /* !WOLFSSL_PPC32_ASM_SPE */
7666#endif /* !NO_SHA256 */
7667
7668#if defined(__linux__) && defined(__ELF__)
7669.section	.note.GNU-stack,"",%progbits
7670#endif
7671#endif /* !WOLFSSL_PPC32_ASM_INLINE */
7672#endif /* WOLFSSL_PPC32_ASM */