Add explicit ARMv7a/NEON test
parent
9521a49cbb
commit
9175594426
41
cryptest.sh
41
cryptest.sh
|
|
@ -25,7 +25,7 @@ touch "$WARN_RESULTS"
|
||||||
# Respect user's preferred flags, but filter the stuff we expliclty test
|
# Respect user's preferred flags, but filter the stuff we expliclty test
|
||||||
FILTERED_CXXFLAGS=("-DDEBUG" "-DNDEBUG" "-g" "-g0" "-g1" "-g2" "-g3" "-O0" "-O1" "-O2" "-O3" "-Os" "-Og"
|
FILTERED_CXXFLAGS=("-DDEBUG" "-DNDEBUG" "-g" "-g0" "-g1" "-g2" "-g3" "-O0" "-O1" "-O2" "-O3" "-Os" "-Og"
|
||||||
"-xO0" "-xO1" "-xO2" "-xO3" "-xOs" "-xOg" "-std=c++03" "-std=c++11" "-std=c++14" "-std=c++17"
|
"-xO0" "-xO1" "-xO2" "-xO3" "-xOs" "-xOg" "-std=c++03" "-std=c++11" "-std=c++14" "-std=c++17"
|
||||||
"-m32" "-m64" "-mx32" "-maes" "-mrdrand" "-mrdrnd" "-mrdseed" "-mpclmul" "-Wa,-q"
|
"-m32" "-m64" "-mx32" "-maes" "-mrdrand" "-mrdrnd" "-mrdseed" "-mpclmul" "-Wa,-q" "-mfpu=neon"
|
||||||
"-DCRYPTOPP_DISABLE_ASM" "-DCRYPTOPP_DISABLE_SSSE3" "-DCRYPTOPP_DISABLE_AESNI"
|
"-DCRYPTOPP_DISABLE_ASM" "-DCRYPTOPP_DISABLE_SSSE3" "-DCRYPTOPP_DISABLE_AESNI"
|
||||||
"-fsanitize=address" "-fsanitize=undefined" "-march=armv8-a+crypto" "-march=armv8-a+crc"
|
"-fsanitize=address" "-fsanitize=undefined" "-march=armv8-a+crypto" "-march=armv8-a+crc"
|
||||||
"-DDCRYPTOPP_NO_BACKWARDS_COMPATIBILITY_562" "-DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS")
|
"-DDCRYPTOPP_NO_BACKWARDS_COMPATIBILITY_562" "-DCRYPTOPP_NO_UNALIGNED_DATA_ACCESS")
|
||||||
|
|
@ -404,7 +404,7 @@ fi
|
||||||
|
|
||||||
# Add to exercise NEON more thoroughly
|
# Add to exercise NEON more thoroughly
|
||||||
if [ "$IS_ARM32" -ne "0" ] && [ "$HAVE_ARM_NEON" -ne "0" ]; then
|
if [ "$IS_ARM32" -ne "0" ] && [ "$HAVE_ARM_NEON" -ne "0" ]; then
|
||||||
RETAINED_CXXFLAGS+=("-fpu=neon")
|
RETAINED_CXXFLAGS+=("-mfpu=neon")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
############################################
|
############################################
|
||||||
|
|
@ -414,6 +414,35 @@ TEST_BEGIN=$(date)
|
||||||
echo | tee -a "$TEST_RESULTS"
|
echo | tee -a "$TEST_RESULTS"
|
||||||
echo "Start time: $TEST_BEGIN" | tee -a "$TEST_RESULTS"
|
echo "Start time: $TEST_BEGIN" | tee -a "$TEST_RESULTS"
|
||||||
|
|
||||||
|
############################################
|
||||||
|
# Basic NEON build
|
||||||
|
if [ "$IS_ARM32" -ne "0" ] && [ "$HAVE_ARM_NEON" -ne "0" ]; then
|
||||||
|
echo
|
||||||
|
echo "************************************" | tee -a "$TEST_RESULTS"
|
||||||
|
echo "Testing: NEON, default CXXFLAGS" | tee -a "$TEST_RESULTS"
|
||||||
|
echo
|
||||||
|
|
||||||
|
unset CXXFLAGS
|
||||||
|
"$MAKE" clean > /dev/null 2>&1
|
||||||
|
rm -f adhoc.cpp > /dev/null 2>&1
|
||||||
|
|
||||||
|
export CXXFLAGS="-g2 -O2 -mfpu=neon"
|
||||||
|
"$MAKE" "${MAKEARGS[@]}" CXX="$CXX" static dynamic cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
|
||||||
|
|
||||||
|
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
|
||||||
|
echo "ERROR: failed to make cryptest.exe" | tee -a "$TEST_RESULTS"
|
||||||
|
else
|
||||||
|
./cryptest.exe v 2>&1 | tee -a "$TEST_RESULTS"
|
||||||
|
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
|
||||||
|
echo "ERROR: failed to execute validation suite" | tee -a "$TEST_RESULTS"
|
||||||
|
fi
|
||||||
|
./cryptest.exe tv all 2>&1 | tee -a "$TEST_RESULTS"
|
||||||
|
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
|
||||||
|
echo "ERROR: failed to execute test vectors" | tee -a "$TEST_RESULTS"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
############################################
|
############################################
|
||||||
# Basic debug build
|
# Basic debug build
|
||||||
echo
|
echo
|
||||||
|
|
@ -2587,18 +2616,18 @@ if [ "$HAVE_X86_AES" -ne "0" ] || [ "$HAVE_X86_RDRAND" -ne "0" ] || [ "$HAVE_X86
|
||||||
fi
|
fi
|
||||||
|
|
||||||
############################################
|
############################################
|
||||||
# ARM NEON
|
# Explicit ARMv7a NEON
|
||||||
if [ "$HAVE_ARM_NEON" -ne "0" ]; then
|
if [ "$IS_ARM32" -ne "0" ] && [ "$HAVE_ARM_NEON" -ne "0" ]; then
|
||||||
echo
|
echo
|
||||||
echo "************************************" | tee -a "$TEST_RESULTS"
|
echo "************************************" | tee -a "$TEST_RESULTS"
|
||||||
echo "Testing: ARM NEON" | tee -a "$TEST_RESULTS"
|
echo "Testing: ARM ARMv7a NEON" | tee -a "$TEST_RESULTS"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
unset CXXFLAGS
|
unset CXXFLAGS
|
||||||
"$MAKE" clean > /dev/null 2>&1
|
"$MAKE" clean > /dev/null 2>&1
|
||||||
rm -f adhoc.cpp > /dev/null 2>&1
|
rm -f adhoc.cpp > /dev/null 2>&1
|
||||||
|
|
||||||
export CXXFLAGS="-DNDEBUG -g2 -O2 -march=armv7a -fpu=neon ${RETAINED_CXXFLAGS[@]}"
|
export CXXFLAGS="-DNDEBUG -g2 -O2 -march=armv7a -mfpu=neon ${RETAINED_CXXFLAGS[@]}"
|
||||||
"$MAKE" "${MAKEARGS[@]}" CXX="$CXX" static cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
|
"$MAKE" "${MAKEARGS[@]}" CXX="$CXX" static cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
|
||||||
|
|
||||||
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
|
if [ "${PIPESTATUS[0]}" -ne "0" ]; then
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue