Added VFPU options for ARM. Remove AES intrinsics from SunCC 12.3 due to failures in CTR, CCM and GCM modes. Other modes are OK
parent
fd4287e433
commit
9cdeb3ce8e
40
cryptest.sh
40
cryptest.sh
|
|
@ -510,6 +510,14 @@ if [[ ("$IS_ARM32" -ne "0" || "$IS_ARM64" -ne "0") ]]; then
|
||||||
HAVE_ARMV7A=$(echo "$ARM_FEATURES" | "$GREP" -i -c 'neon')
|
HAVE_ARMV7A=$(echo "$ARM_FEATURES" | "$GREP" -i -c 'neon')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ (-z "$HAVE_ARM_VFPV3") ]]; then
|
||||||
|
HAVE_ARM_VFPV3=$(echo "$ARM_FEATURES" | "$GREP" -i -c 'vfpv3')
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ (-z "$HAVE_ARM_VFPV4") ]]; then
|
||||||
|
HAVE_ARM_VFPV4=$(echo "$ARM_FEATURES" | "$GREP" -i -c 'vfpv4')
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ (-z "$HAVE_ARM_NEON") ]]; then
|
if [[ (-z "$HAVE_ARM_NEON") ]]; then
|
||||||
HAVE_ARM_NEON=$(echo "$ARM_FEATURES" | "$GREP" -i -c 'neon')
|
HAVE_ARM_NEON=$(echo "$ARM_FEATURES" | "$GREP" -i -c 'neon')
|
||||||
fi
|
fi
|
||||||
|
|
@ -609,6 +617,12 @@ fi
|
||||||
if [[ "$HAVE_ARM_NEON" -ne "0" ]]; then
|
if [[ "$HAVE_ARM_NEON" -ne "0" ]]; then
|
||||||
echo "HAVE_ARM_NEON: $HAVE_ARM_NEON" | tee -a "$TEST_RESULTS"
|
echo "HAVE_ARM_NEON: $HAVE_ARM_NEON" | tee -a "$TEST_RESULTS"
|
||||||
fi
|
fi
|
||||||
|
if [[ "$HAVE_ARM_VFPV3" -ne "0" ]]; then
|
||||||
|
echo "HAVE_ARM_VFPV3: $HAVE_ARM_VFPV3" | tee -a "$TEST_RESULTS"
|
||||||
|
fi
|
||||||
|
if [[ "$HAVE_ARM_VFPV4" -ne "0" ]]; then
|
||||||
|
echo "HAVE_ARM_VFPV4: $HAVE_ARM_VFPV4" | tee -a "$TEST_RESULTS"
|
||||||
|
fi
|
||||||
if [[ "$HAVE_ARM_CRC" -ne "0" ]]; then
|
if [[ "$HAVE_ARM_CRC" -ne "0" ]]; then
|
||||||
echo "HAVE_ARM_CRC: $HAVE_ARM_CRC" | tee -a "$TEST_RESULTS"
|
echo "HAVE_ARM_CRC: $HAVE_ARM_CRC" | tee -a "$TEST_RESULTS"
|
||||||
fi
|
fi
|
||||||
|
|
@ -811,18 +825,26 @@ if [[ "$?" -eq "0" ]]; then
|
||||||
DEPRECATED_CXXFLAGS+=("-Wno-deprecated-declarations")
|
DEPRECATED_CXXFLAGS+=("-Wno-deprecated-declarations")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add to exercise ARMv7a and NEON more thoroughly
|
# Add to exercise ARMv7, ARMv7-a, VFPU and NEON more thoroughly
|
||||||
if [[ ("$IS_ARM32" -ne "0") ]]; then
|
if [[ ("$IS_ARM32" -ne "0") ]]; then
|
||||||
if [[ ("$HAVE_ARMV7A" -ne "0") ]]; then
|
if [[ ("$HAVE_ARMV7A" -ne "0") ]]; then
|
||||||
PLATFORM_CXXFLAGS+=("-march=armv7-a ")
|
PLATFORM_CXXFLAGS+=("-march=armv7-a ")
|
||||||
|
else
|
||||||
|
PLATFORM_CXXFLAGS+=("-march=armv7 ")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ("$HAVE_ARM_NEON" -ne "0") ]]; then
|
if [[ ("$HAVE_ARM_NEON" -ne "0") ]]; then
|
||||||
PLATFORM_CXXFLAGS+=("-mfpu=neon ")
|
PLATFORM_CXXFLAGS+=("-mfpu=neon ")
|
||||||
|
elif [[ ("$HAVE_ARM_VFPV4" -ne "0") ]]; then
|
||||||
|
PLATFORM_CXXFLAGS+=("-mfpu=vfpv4-d16 ")
|
||||||
|
elif [[ ("$HAVE_ARM_VFPV3" -ne "0") ]]; then
|
||||||
|
PLATFORM_CXXFLAGS+=("-mfpu=vfpv3-d16 ")
|
||||||
|
else
|
||||||
|
PLATFORM_CXXFLAGS+=("-mfpu=vfpv2 ")
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add to exercise ARMv8 more thoroughly. NEON is baked in under CPU flag asimd.
|
# Add to exercise ARMv8 more thoroughly. NEON is baked into the CPU asimd flag.
|
||||||
if [[ ("$IS_ARM64" -ne "0") ]]; then
|
if [[ ("$IS_ARM64" -ne "0") ]]; then
|
||||||
if [[ ("$HAVE_ARM_CRC" -ne "0" && "$HAVE_ARM_CRYPTO" -ne "0") ]]; then
|
if [[ ("$HAVE_ARM_CRC" -ne "0" && "$HAVE_ARM_CRYPTO" -ne "0") ]]; then
|
||||||
PLATFORM_CXXFLAGS+=("-march=armv8-a+crc+crypto ")
|
PLATFORM_CXXFLAGS+=("-march=armv8-a+crc+crypto ")
|
||||||
|
|
@ -2671,13 +2693,13 @@ if [[ "$IS_SOLARIS" -ne "0" ]]; then
|
||||||
SUNCC_CXXFLAGS="${PLATFORM_CXXFLAGS[@]}"
|
SUNCC_CXXFLAGS="${PLATFORM_CXXFLAGS[@]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Sun Studio 12.3 and below workaround, http://github.com/weidai11/cryptopp/issues/228
|
||||||
|
SUNCC_SSE_CXXFLAGS=$(echo "$SUNCC_CXXFLAGS" | "$AWK" '/SSE/' ORS=' ' RS=' ')
|
||||||
|
|
||||||
############################################
|
############################################
|
||||||
# Sun Studio 12.2
|
# Sun Studio 12.2
|
||||||
if [[ (-e "/opt/solstudio12.2/bin/CC") ]]; then
|
if [[ (-e "/opt/solstudio12.2/bin/CC") ]]; then
|
||||||
|
|
||||||
# Sun Studio 12.2 and below workaround, http://github.com/weidai11/cryptopp/issues/228
|
|
||||||
SUNCC_122_CXXFLAGS=$(echo "$SUNCC_CXXFLAGS" | "$AWK" '/SSE/' ORS=' ' RS=' ')
|
|
||||||
|
|
||||||
############################################
|
############################################
|
||||||
# Debug build
|
# Debug build
|
||||||
echo
|
echo
|
||||||
|
|
@ -2688,7 +2710,7 @@ if [[ "$IS_SOLARIS" -ne "0" ]]; then
|
||||||
"$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
|
||||||
|
|
||||||
CXXFLAGS="-DDEBUG -g -xO0 $SUNCC_122_CXXFLAGS"
|
CXXFLAGS="-DDEBUG -g -xO0 $SUNCC_SSE_CXXFLAGS"
|
||||||
CXX=/opt/solstudio12.2/bin/CC CXXFLAGS="$CXXFLAGS" "$MAKE" "${MAKEARGS[@]}" static dynamic cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
|
CXX=/opt/solstudio12.2/bin/CC CXXFLAGS="$CXXFLAGS" "$MAKE" "${MAKEARGS[@]}" static dynamic cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
|
||||||
|
|
||||||
if [[ ("${PIPESTATUS[0]}" -ne "0") ]]; then
|
if [[ ("${PIPESTATUS[0]}" -ne "0") ]]; then
|
||||||
|
|
@ -2714,7 +2736,7 @@ if [[ "$IS_SOLARIS" -ne "0" ]]; then
|
||||||
"$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
|
||||||
|
|
||||||
CXXFLAGS="-DNDEBUG -g0 -xO2 $SUNCC_122_CXXFLAGS"
|
CXXFLAGS="-DNDEBUG -g0 -xO2 $SUNCC_SSE_CXXFLAGS"
|
||||||
CXX=/opt/solstudio12.2/bin/CC CXXFLAGS="$CXXFLAGS" "$MAKE" "${MAKEARGS[@]}" static dynamic cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
|
CXX=/opt/solstudio12.2/bin/CC CXXFLAGS="$CXXFLAGS" "$MAKE" "${MAKEARGS[@]}" static dynamic cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
|
||||||
|
|
||||||
if [[ ("${PIPESTATUS[0]}" -ne "0") ]]; then
|
if [[ ("${PIPESTATUS[0]}" -ne "0") ]]; then
|
||||||
|
|
@ -2745,7 +2767,7 @@ if [[ "$IS_SOLARIS" -ne "0" ]]; then
|
||||||
"$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
|
||||||
|
|
||||||
CXXFLAGS="-DDEBUG -g3 -xO0 $SUNCC_CXXFLAGS"
|
CXXFLAGS="-DDEBUG -g3 -xO0 $SUNCC_SSE_CXXFLAGS"
|
||||||
CXX=/opt/solarisstudio12.3/bin/CC CXXFLAGS="$CXXFLAGS" "$MAKE" "${MAKEARGS[@]}" static dynamic cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
|
CXX=/opt/solarisstudio12.3/bin/CC CXXFLAGS="$CXXFLAGS" "$MAKE" "${MAKEARGS[@]}" static dynamic cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
|
||||||
|
|
||||||
if [[ ("${PIPESTATUS[0]}" -ne "0") ]]; then
|
if [[ ("${PIPESTATUS[0]}" -ne "0") ]]; then
|
||||||
|
|
@ -2771,7 +2793,7 @@ if [[ "$IS_SOLARIS" -ne "0" ]]; then
|
||||||
"$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
|
||||||
|
|
||||||
CXXFLAGS="-DNDEBUG -g3 -xO2 $SUNCC_CXXFLAGS"
|
CXXFLAGS="-DNDEBUG -g3 -xO2 $SUNCC_SSE_CXXFLAGS"
|
||||||
CXX=/opt/solarisstudio12.3/bin/CC CXXFLAGS="$CXXFLAGS" "$MAKE" "${MAKEARGS[@]}" static dynamic cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
|
CXX=/opt/solarisstudio12.3/bin/CC CXXFLAGS="$CXXFLAGS" "$MAKE" "${MAKEARGS[@]}" static dynamic 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