From 5b81b5c66c6b14cf9aa120100a9ddfb2b356cbee Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Wed, 17 May 2017 10:59:22 -0400 Subject: [PATCH] Updated test scripts for ARM NEON --- TestScripts/cryptest.sh | 38 +++++++++++++++++++++----------------- cryptest.sh | 38 +++++++++++++++++++++----------------- 2 files changed, 42 insertions(+), 34 deletions(-) diff --git a/TestScripts/cryptest.sh b/TestScripts/cryptest.sh index a39efa8c..e831bba8 100755 --- a/TestScripts/cryptest.sh +++ b/TestScripts/cryptest.sh @@ -1461,46 +1461,50 @@ 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=blake2.o; rm -f "$OBJFILE" 2>/dev/null + OBJFILE=aria.o; rm -f "$OBJFILE" 2>/dev/null CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS ${PLATFORM_CXXFLAGS[@]}" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS" COUNT=0 FAILED=0 DISASS_TEXT=$("$DISASS" "${DISASSARGS[@]}" "$OBJFILE" 2>/dev/null) - # BLAKE2_NEON_Compress32: 30 each vld1q_u8 and vld1q_u64 - # BLAKE2_NEON_Compress64: 22 each vld1q_u8 and vld1q_u64 - COUNT1=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'ldr.*q|vld.*128') - COUNT2=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'ldp.*q') - COUNT=$(($COUNT1 + $(($COUNT2 + $COUNT2)))) - if [[ ("$COUNT" -lt "25") ]]; then + # ARIA::UncheckedKeySet: 8 vld1q.32 + COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'vld') + if [[ ("$COUNT" -lt "8") ]]; then FAILED=1 echo "ERROR: failed to generate expected vector load instructions" | tee -a "$TEST_RESULTS" fi - # BLAKE2_NEON_Compress{32|64}: 6 each vst1q_u32 and vst1q_u64 - COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'str.*q|vstr') - if [[ ("$COUNT" -lt "6") ]]; then + # ARIA::UncheckedKeySet: 24 vstr1q.32 + COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'vst') + if [[ ("$COUNT" -lt "24") ]]; then FAILED=1 echo "ERROR: failed to generate expected vector store instructions" | tee -a "$TEST_RESULTS" fi - # BLAKE2_NEON_Compress{32|64}: 409 each vaddq_u32 and vaddq_u64 - COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'add.*v|vadd') - if [[ ("$COUNT" -lt "400") ]]; then + # ARIA::UncheckedKeySet: 17 vshl.32 + COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'vshl') + if [[ ("$COUNT" -lt "17") ]]; then FAILED=1 - echo "ERROR: failed to generate expected vector add instructions" | tee -a "$TEST_RESULTS" + echo "ERROR: failed to generate expected vector shift left instructions" | tee -a "$TEST_RESULTS" fi - # BLAKE2_NEON_Compress{32|64}: 559 each veorq_u32 and veorq_u64 + # ARIA::UncheckedKeySet: 17 vshr.32 + COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'vshl') + if [[ ("$COUNT" -lt "17") ]]; then + FAILED=1 + echo "ERROR: failed to generate expected vector shift right instructions" | tee -a "$TEST_RESULTS" + fi + + # ARIA::UncheckedKeySet: 34 veor COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'eor.*v|veor') - if [[ ("$COUNT" -lt "550") ]]; then + if [[ ("$COUNT" -lt "34") ]]; then FAILED=1 echo "ERROR: failed to generate expected vector xor instructions" | tee -a "$TEST_RESULTS" fi if [[ ("$FAILED" -eq "0") ]]; then - echo "Verified vector load, store, add, xor machine instructions" | tee -a "$TEST_RESULTS" + echo "Verified vector load, store, shfit left, shift right, xor machine instructions" | tee -a "$TEST_RESULTS" fi fi diff --git a/cryptest.sh b/cryptest.sh index a39efa8c..e831bba8 100755 --- a/cryptest.sh +++ b/cryptest.sh @@ -1461,46 +1461,50 @@ 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=blake2.o; rm -f "$OBJFILE" 2>/dev/null + OBJFILE=aria.o; rm -f "$OBJFILE" 2>/dev/null CXX="$CXX" CXXFLAGS="$RELEASE_CXXFLAGS ${PLATFORM_CXXFLAGS[@]}" "$MAKE" "${MAKEARGS[@]}" $OBJFILE 2>&1 | tee -a "$TEST_RESULTS" COUNT=0 FAILED=0 DISASS_TEXT=$("$DISASS" "${DISASSARGS[@]}" "$OBJFILE" 2>/dev/null) - # BLAKE2_NEON_Compress32: 30 each vld1q_u8 and vld1q_u64 - # BLAKE2_NEON_Compress64: 22 each vld1q_u8 and vld1q_u64 - COUNT1=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'ldr.*q|vld.*128') - COUNT2=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'ldp.*q') - COUNT=$(($COUNT1 + $(($COUNT2 + $COUNT2)))) - if [[ ("$COUNT" -lt "25") ]]; then + # ARIA::UncheckedKeySet: 8 vld1q.32 + COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'vld') + if [[ ("$COUNT" -lt "8") ]]; then FAILED=1 echo "ERROR: failed to generate expected vector load instructions" | tee -a "$TEST_RESULTS" fi - # BLAKE2_NEON_Compress{32|64}: 6 each vst1q_u32 and vst1q_u64 - COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'str.*q|vstr') - if [[ ("$COUNT" -lt "6") ]]; then + # ARIA::UncheckedKeySet: 24 vstr1q.32 + COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'vst') + if [[ ("$COUNT" -lt "24") ]]; then FAILED=1 echo "ERROR: failed to generate expected vector store instructions" | tee -a "$TEST_RESULTS" fi - # BLAKE2_NEON_Compress{32|64}: 409 each vaddq_u32 and vaddq_u64 - COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'add.*v|vadd') - if [[ ("$COUNT" -lt "400") ]]; then + # ARIA::UncheckedKeySet: 17 vshl.32 + COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'vshl') + if [[ ("$COUNT" -lt "17") ]]; then FAILED=1 - echo "ERROR: failed to generate expected vector add instructions" | tee -a "$TEST_RESULTS" + echo "ERROR: failed to generate expected vector shift left instructions" | tee -a "$TEST_RESULTS" fi - # BLAKE2_NEON_Compress{32|64}: 559 each veorq_u32 and veorq_u64 + # ARIA::UncheckedKeySet: 17 vshr.32 + COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'vshl') + if [[ ("$COUNT" -lt "17") ]]; then + FAILED=1 + echo "ERROR: failed to generate expected vector shift right instructions" | tee -a "$TEST_RESULTS" + fi + + # ARIA::UncheckedKeySet: 34 veor COUNT=$(echo -n "$DISASS_TEXT" | "$EGREP" -i -c 'eor.*v|veor') - if [[ ("$COUNT" -lt "550") ]]; then + if [[ ("$COUNT" -lt "34") ]]; then FAILED=1 echo "ERROR: failed to generate expected vector xor instructions" | tee -a "$TEST_RESULTS" fi if [[ ("$FAILED" -eq "0") ]]; then - echo "Verified vector load, store, add, xor machine instructions" | tee -a "$TEST_RESULTS" + echo "Verified vector load, store, shfit left, shift right, xor machine instructions" | tee -a "$TEST_RESULTS" fi fi