summaryrefslogtreecommitdiff
path: root/cryptest.sh
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2017-08-17 12:33:43 -0400
committerGitHub <noreply@github.com>2017-08-17 12:33:43 -0400
commite2c377effd9a4eca0291c217e9c3256b033511dc (patch)
treea33fa7d52e14b923a034bafb9a05172a983a0e7c /cryptest.sh
parent74d21068a16c2b3e879336ae7eed180d4466e8b5 (diff)
downloadcryptopp-git-e2c377effd9a4eca0291c217e9c3256b033511dc.tar.gz
Split source files to support Base Implementation + SIMD implementation (GH #461)
Split source files to support Base Implementation + SIMD implementation
Diffstat (limited to 'cryptest.sh')
-rwxr-xr-xcryptest.sh283
1 files changed, 213 insertions, 70 deletions
diff --git a/cryptest.sh b/cryptest.sh
index 28f79be5..f441c963 100755
--- a/cryptest.sh
+++ b/cryptest.sh
@@ -1171,38 +1171,76 @@ if [[ ("$HAVE_DISASS" -ne "0" && ("$IS_X86" -ne "0" || "$IS_X64" -ne "0")) ]]; t
echo
OBJFILE=sha.o; rm -f "$OBJFILE" 2>/dev/null
- CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1 -msse -msse2" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
+ CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
DISASS_TEXT=$("$DISASS" "${DISASSARGS[@]}" "$OBJFILE" 2>/dev/null)
X86_SSE2=$(echo -n "$X86_CPU_FLAGS" | "$GREP" -i -c sse2)
- X86_SHA256_HASH_BLOCKS=$(echo -n "$DISASS_TEXT" | "$EGREP" -c 'X86_SHA256_HashBlocks')
+ X86_SHA256_HASH_BLOCKS=$(echo -n "$DISASS_TEXT" | "$EGREP" -c 'SHA256_HashMultipleBlocks_SSE2')
if [[ ("$X86_SHA256_HASH_BLOCKS" -ne "0") ]]; then
COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c '(rol.*0x|ror.*0x)')
- if [[ ("$COUNT" -le "600") ]]; then
+ if [[ ("$COUNT" -le "250") ]]; then
FAILED=1
- echo "ERROR: failed to generate rotate immediate instruction (X86_SHA256_HashBlocks)" | tee -a "$TEST_RESULTS"
+ echo "ERROR: failed to generate rotate immediate instruction (SHA256_HashMultipleBlocks_SSE2)" | tee -a "$TEST_RESULTS"
fi
else
COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c '(rol.*0x|ror.*0x)')
- if [[ ("$COUNT" -le "1000") ]]; then
+ if [[ ("$COUNT" -le "500") ]]; then
FAILED=1
echo "ERROR: failed to generate rotate immediate instruction" | tee -a "$TEST_RESULTS"
fi
fi
if [[ ("$X86_SSE2" -ne "0" && "$X86_SHA256_HASH_BLOCKS" -eq "0") ]]; then
- echo "ERROR: failed to use X86_SHA256_HashBlocks" | tee -a "$TEST_RESULTS"
+ echo "ERROR: failed to use SHA256_HashMultipleBlocks_SSE2" | tee -a "$TEST_RESULTS"
fi
if [[ ("$FAILED" -eq "0" && "$X86_SHA256_HASH_BLOCKS" -ne "0") ]]; then
- echo "Verified rotate immediate machine instructions (X86_SHA256_HashBlocks)" | tee -a "$TEST_RESULTS"
+ echo "Verified rotate immediate machine instructions (SHA256_HashMultipleBlocks_SSE2)" | tee -a "$TEST_RESULTS"
elif [[ ("$FAILED" -eq "0") ]]; then
echo "Verified rotate immediate machine instructions" | tee -a "$TEST_RESULTS"
fi
fi
############################################
+ # Test CRC-32C code generation
+
+ "$CXX" -DCRYPTOPP_ADHOC_MAIN -msse4.2 adhoc.cpp -o "$TMPDIR/adhoc.exe" > /dev/null 2>&1
+ if [[ "$?" -eq "0" ]]; then
+ X86_CRC32=1
+ fi
+
+ if [[ ("$X86_CRC32" -ne "0") ]]; then
+ echo
+ echo "************************************" | tee -a "$TEST_RESULTS"
+ echo "Testing: X86 CRC32 code generation" | tee -a "$TEST_RESULTS"
+ echo
+
+ OBJFILE=crc-simd.o; rm -f "$OBJFILE" 2>/dev/null
+ CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
+
+ COUNT=0
+ FAILED=0
+ DISASS_TEXT=$("$DISASS" "${DISASSARGS[@]}" "$OBJFILE" 2>/dev/null)
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c crc32b)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate crc32b instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c crc32l)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate crc32l instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ if [[ ("$FAILED" -eq "0") ]]; then
+ echo "Verified crc32b and crc32l machine instructions" | tee -a "$TEST_RESULTS"
+ fi
+ fi
+
+ ############################################
# Test AES-NI code generation
"$CXX" -DCRYPTOPP_ADHOC_MAIN -maes adhoc.cpp -o "$TMPDIR/adhoc.exe" > /dev/null 2>&1
@@ -1216,8 +1254,8 @@ if [[ ("$HAVE_DISASS" -ne "0" && ("$IS_X86" -ne "0" || "$IS_X64" -ne "0")) ]]; t
echo "Testing: X86 AES-NI code generation" | tee -a "$TEST_RESULTS"
echo
- OBJFILE=rijndael.o; rm -f "$OBJFILE" 2>/dev/null
- CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1 -msse -msse2" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
+ OBJFILE=rijndael-simd.o; rm -f "$OBJFILE" 2>/dev/null
+ CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
COUNT=0
FAILED=0
@@ -1278,8 +1316,8 @@ if [[ ("$HAVE_DISASS" -ne "0" && ("$IS_X86" -ne "0" || "$IS_X64" -ne "0")) ]]; t
echo "Testing: X86 carryless multiply code generation" | tee -a "$TEST_RESULTS"
echo
- OBJFILE=gcm.o; rm -f "$OBJFILE" 2>/dev/null
- CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1 -msse -msse2" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
+ OBJFILE=gcm-simd.o; rm -f "$OBJFILE" 2>/dev/null
+ CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
COUNT=0
FAILED=0
@@ -1321,7 +1359,7 @@ if [[ ("$HAVE_DISASS" -ne "0" && ("$IS_X86" -ne "0" || "$IS_X64" -ne "0")) ]]; t
echo
OBJFILE=rdrand.o; rm -f "$OBJFILE" 2>/dev/null
- CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1 -msse -msse2" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
+ CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
COUNT=0
FAILED=0
@@ -1349,44 +1387,6 @@ if [[ ("$HAVE_DISASS" -ne "0" && ("$IS_X86" -ne "0" || "$IS_X64" -ne "0")) ]]; t
fi
############################################
- # X86 CRC32 code generation
-
- "$CXX" -DCRYPTOPP_ADHOC_MAIN -msse4.2 adhoc.cpp -o "$TMPDIR/adhoc.exe" > /dev/null 2>&1
- if [[ "$?" -eq "0" ]]; then
- X86_CRC32=1
- fi
-
- if [[ ("$X86_CRC32" -ne "0") ]]; then
- echo
- echo "************************************" | tee -a "$TEST_RESULTS"
- echo "Testing: X86 CRC32 code generation" | tee -a "$TEST_RESULTS"
- echo
-
- OBJFILE=crc.o; rm -f "$OBJFILE" 2>/dev/null
- CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1 -msse -msse2" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
-
- COUNT=0
- FAILED=0
- DISASS_TEXT=$("$DISASS" "${DISASSARGS[@]}" "$OBJFILE" 2>/dev/null)
-
- COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c crc32l)
- if [[ ("$COUNT" -eq "0") ]]; then
- FAILED=1
- echo "ERROR: failed to generate crc32l instruction" | tee -a "$TEST_RESULTS"
- fi
-
- COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c crc32b)
- if [[ ("$COUNT" -eq "0") ]]; then
- FAILED=1
- echo "ERROR: failed to generate crc32b instruction" | tee -a "$TEST_RESULTS"
- fi
-
- if [[ ("$FAILED" -eq "0") ]]; then
- echo "Verified crc32l and crc32b machine instructions" | tee -a "$TEST_RESULTS"
- fi
- fi
-
- ############################################
# X86 SHA code generation
"$CXX" -DCRYPTOPP_ADHOC_MAIN -msha adhoc.cpp -o "$TMPDIR/adhoc.exe" > /dev/null 2>&1
@@ -1400,8 +1400,8 @@ if [[ ("$HAVE_DISASS" -ne "0" && ("$IS_X86" -ne "0" || "$IS_X64" -ne "0")) ]]; t
echo "Testing: X86 SHA code generation" | tee -a "$TEST_RESULTS"
echo
- OBJFILE=sha.o; rm -f "$OBJFILE" 2>/dev/null
- CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1 -msse -msse2" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
+ OBJFILE=sha-simd.o; rm -f "$OBJFILE" 2>/dev/null
+ CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
COUNT=0
FAILED=0
@@ -1469,7 +1469,7 @@ if [[ ("$HAVE_DISASS" -ne "0" && ("$IS_ARM32" -ne "0" || "$IS_ARM64" -ne "0")) ]
echo "Testing: ARM NEON code generation" | tee -a "$TEST_RESULTS"
echo
- OBJFILE=aria.o; rm -f "$OBJFILE" 2>/dev/null
+ OBJFILE=aria-simd.o; rm -f "$OBJFILE" 2>/dev/null
CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
COUNT=0
@@ -1517,16 +1517,70 @@ if [[ ("$HAVE_DISASS" -ne "0" && ("$IS_ARM32" -ne "0" || "$IS_ARM64" -ne "0")) ]
fi
############################################
+ # ARM CRC32 code generation
+
+ "$CXX" -DCRYPTOPP_ADHOC_MAIN -march=armv8-a+crc adhoc.cpp -o "$TMPDIR/adhoc.exe" > /dev/null 2>&1
+ if [[ "$?" -eq "0" ]]; then
+ ARM_CRC32=1
+ fi
+
+ if [[ ("$HAVE_ARMV8A" -ne "0" && "$ARM_CRC32" -ne "0") ]]; then
+ echo
+ echo "************************************" | tee -a "$TEST_RESULTS"
+ echo "Testing: ARM CRC32 code generation" | tee -a "$TEST_RESULTS"
+ echo
+
+ OBJFILE=crc-simd.o; rm -f "$OBJFILE" 2>/dev/null
+ CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
+
+ COUNT=0
+ FAILED=0
+ DISASS_TEXT=$("$DISASS" "${DISASSARGS[@]}" "$OBJFILE" 2>/dev/null)
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c crc32cb)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate crc32cb instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c crc32cw)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate crc32cw instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c crc32b)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate crc32b instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c crc32w)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate crc32w instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ if [[ ("$FAILED" -eq "0") ]]; then
+ echo "Verified crc32cb, crc32cw, crc32b and crc32w machine instructions" | tee -a "$TEST_RESULTS"
+ fi
+ fi
+
+ ############################################
# ARM carryless multiply code generation
- ARM_PMULL=$(echo -n "$ARM_CPU_FLAGS" | "$GREP" -i -c pmull)
- if [[ ("$ARM_PMULL" -ne "0" || "$HAVE_ARM_CRYPTO" -ne "0") ]]; then
+ "$CXX" -DCRYPTOPP_ADHOC_MAIN -march=armv8-a+crypto adhoc.cpp -o "$TMPDIR/adhoc.exe" > /dev/null 2>&1
+ if [[ "$?" -eq "0" ]]; then
+ ARM_PMULL=1
+ fi
+
+ if [[ ("$HAVE_ARMV8A" -ne "0" && "$ARM_PMULL" -ne "0") ]]; then
echo
echo "************************************" | tee -a "$TEST_RESULTS"
echo "Testing: ARM carryless multiply code generation" | tee -a "$TEST_RESULTS"
echo
- OBJFILE=gcm.o; rm -f "$OBJFILE" 2>/dev/null
+ OBJFILE=gcm-simd.o; rm -f "$OBJFILE" 2>/dev/null
CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
COUNT=0
@@ -1549,50 +1603,139 @@ if [[ ("$HAVE_DISASS" -ne "0" && ("$IS_ARM32" -ne "0" || "$IS_ARM64" -ne "0")) ]
echo "Verified pmull and pmull2 machine instructions" | tee -a "$TEST_RESULTS"
fi
fi
+ ############################################
+ # ARM SHA code generation
+
+ "$CXX" -DCRYPTOPP_ADHOC_MAIN -march=armv8-a+crypto adhoc.cpp -o "$TMPDIR/adhoc.exe" > /dev/null 2>&1
+ if [[ "$?" -eq "0" ]]; then
+ ARM_AES=1
+ fi
+
+ if [[ ("$HAVE_ARMV8A" -ne "0" && "$ARM_AES" -ne "0") ]]; then
+ echo
+ echo "************************************" | tee -a "$TEST_RESULTS"
+ echo "Testing: ARM AES generation" | tee -a "$TEST_RESULTS"
+ echo
+
+ OBJFILE=rijndael-simd.o; rm -f "$OBJFILE" 2>/dev/null
+ CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
+
+ COUNT=0
+ FAILED=0
+ DISASS_TEXT=$("$DISASS" "${DISASSARGS[@]}" "$OBJFILE" 2>/dev/null)
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c aese)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate aese instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c aesmc)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate aesmc instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c aesd)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate aesd instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c aesimc)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate aesimc instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ if [[ ("$FAILED" -eq "0") ]]; then
+ echo "Verified aese, aesd, aesmc, aesimc machine instructions" | tee -a "$TEST_RESULTS"
+ fi
+ fi
############################################
- # ARM CRC32 code generation
+ # ARM SHA code generation
- ARM_CRC32=$(echo -n "$ARM_CPU_FLAGS" | "$GREP" -i -c crc32)
- if [[ ("$ARM_CRC32" -ne "0") ]]; then
+ "$CXX" -DCRYPTOPP_ADHOC_MAIN -march=armv8-a+crypto adhoc.cpp -o "$TMPDIR/adhoc.exe" > /dev/null 2>&1
+ if [[ "$?" -eq "0" ]]; then
+ ARM_SHA=1
+ fi
+
+ if [[ ("$HAVE_ARMV8A" -ne "0" && "$ARM_SHA" -ne "0") ]]; then
echo
echo "************************************" | tee -a "$TEST_RESULTS"
- echo "Testing: ARM CRC32 code generation" | tee -a "$TEST_RESULTS"
+ echo "Testing: ARM SHA generation" | tee -a "$TEST_RESULTS"
echo
- OBJFILE=crc.o; rm -f "$OBJFILE" 2>/dev/null
+ OBJFILE=sha-simd.o; rm -f "$OBJFILE" 2>/dev/null
CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS -DDISABLE_NATIVE_ARCH=1" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS"
COUNT=0
FAILED=0
DISASS_TEXT=$("$DISASS" "${DISASSARGS[@]}" "$OBJFILE" 2>/dev/null)
- COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c crc32cb)
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c sha1c)
if [[ ("$COUNT" -eq "0") ]]; then
FAILED=1
- echo "ERROR: failed to generate crc32cb instruction" | tee -a "$TEST_RESULTS"
+ echo "ERROR: failed to generate sha1c instruction" | tee -a "$TEST_RESULTS"
fi
- COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c crc32cw)
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c sha1m)
if [[ ("$COUNT" -eq "0") ]]; then
FAILED=1
- echo "ERROR: failed to generate crc32cw instruction" | tee -a "$TEST_RESULTS"
+ echo "ERROR: failed to generate sha1m instruction" | tee -a "$TEST_RESULTS"
fi
- COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c crc32b)
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c sha1p)
if [[ ("$COUNT" -eq "0") ]]; then
FAILED=1
- echo "ERROR: failed to generate crc32b instruction" | tee -a "$TEST_RESULTS"
+ echo "ERROR: failed to generate sha1p instruction" | tee -a "$TEST_RESULTS"
fi
- COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c crc32w)
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c sha1h)
if [[ ("$COUNT" -eq "0") ]]; then
FAILED=1
- echo "ERROR: failed to generate crc32w instruction" | tee -a "$TEST_RESULTS"
+ echo "ERROR: failed to generate sha1h instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c sha1su0)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate sha1su0 instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c sha1su1)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate sha1su1 instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -v sha256h2 | "$GREP" -i -c sha256h)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate sha256h instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c sha256h2)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate sha256h2 instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c sha256su0)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate sha256su0 instruction" | tee -a "$TEST_RESULTS"
+ fi
+
+ COUNT=$(echo -n "$DISASS_TEXT" | "$GREP" -i -c sha256su1)
+ if [[ ("$COUNT" -eq "0") ]]; then
+ FAILED=1
+ echo "ERROR: failed to generate sha256su1 instruction" | tee -a "$TEST_RESULTS"
fi
if [[ ("$FAILED" -eq "0") ]]; then
- echo "Verified crc32cb, crc32cw, crc32b and crc32w machine instructions" | tee -a "$TEST_RESULTS"
+ echo "Verified sha1c, sha1m, sha1p, sha1su0, sha1su1, sha256h, sha256h2, sha256su0, sha256su1 machine instructions" | tee -a "$TEST_RESULTS"
fi
fi
fi