From 3ed5b4d98a3a6011176608daa9867641c829e605 Mon Sep 17 00:00:00 2001 From: Tomasz Kantecki Date: Thu, 10 Apr 2025 14:05:27 +0100 Subject: [PATCH 1/5] Update linux.yml with `--output-on-failure` ctest option --- .github/workflows/linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 649998c4..15d36489 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -120,7 +120,7 @@ jobs: - name: Test working-directory: ${{github.workspace}}/build - run: ctest -j 5 -C ${{env.BUILD_TYPE}} + run: ctest -j 5 -C ${{env.BUILD_TYPE}} --output-on-failure - name: Install working-directory: ${{github.workspace}}/build @@ -153,5 +153,5 @@ jobs: - name: Test working-directory: ${{github.workspace}}/build - run: ctest -j 5 -C ${{env.BUILD_TYPE}} + run: ctest -j 5 -C ${{env.BUILD_TYPE}} --output-on-failure From 7b27a51fbd6b1d882fec73c39d98248b5158d433 Mon Sep 17 00:00:00 2001 From: Tomasz Kantecki Date: Thu, 10 Apr 2025 14:33:26 +0100 Subject: [PATCH 2/5] Update sha1_one_block_sse.asm to update state in the loop --- lib/sse_t1/sha1_one_block_sse.asm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/sse_t1/sha1_one_block_sse.asm b/lib/sse_t1/sha1_one_block_sse.asm index 1b20f3d5..9ea68ab2 100644 --- a/lib/sse_t1/sha1_one_block_sse.asm +++ b/lib/sse_t1/sha1_one_block_sse.asm @@ -562,11 +562,6 @@ align 32 process_block: one_block - add INP, 64 - dec r14 - cmp r14, 0 - ja process_block - ;; update result digest h0-h4 add [SZ*0 + CTX], a add [SZ*1 + CTX], b @@ -574,6 +569,10 @@ process_block: add [SZ*3 + CTX], d add [SZ*4 + CTX], e + add INP, 64 + dec r14 + jnz process_block + %ifndef LINUX movdqa xmm8, [rsp + 2 * 16] movdqa xmm7, [rsp + 1 * 16] From 96c3a739ab7ba0e6fddc41237c01cfd57ae85d39 Mon Sep 17 00:00:00 2001 From: Tomasz Kantecki Date: Thu, 10 Apr 2025 14:50:24 +0100 Subject: [PATCH 3/5] Update sha1_ni_one_block_sse.asm to save digest on the stack frame inside the loop --- lib/sse_t2/sha1_ni_one_block_sse.asm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/sse_t2/sha1_ni_one_block_sse.asm b/lib/sse_t2/sha1_ni_one_block_sse.asm index a705b2a0..50ad37d8 100644 --- a/lib/sse_t2/sha1_ni_one_block_sse.asm +++ b/lib/sse_t2/sha1_ni_one_block_sse.asm @@ -322,18 +322,17 @@ sha1_ni_update_sse: movdqa SHUF_MASK, [rel PSHUFFLE_BYTE_FLIP_MASK] movdqa E_MASK, [rel UPPER_WORD_MASK] +align 32 +process_block: ;; Copy digests movdqa [rsp + frame.ABCD_SAVE], ABCD movdqa [rsp + frame.E_SAVE], E0 -align 32 -process_block: one_block_ni add INP, 64 dec ARG3 - cmp ARG3, 0 - ja process_block + jnz process_block ;; write out digests pshufd ABCD, ABCD, 0x1B From 6d2af65d54bab484f50e269546f5896099dd3fd2 Mon Sep 17 00:00:00 2001 From: Tomasz Kantecki Date: Thu, 10 Apr 2025 14:51:53 +0100 Subject: [PATCH 4/5] Update sha1_one_block_sse.asm and move loading digest inside the loop --- lib/sse_t1/sha1_one_block_sse.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/sse_t1/sha1_one_block_sse.asm b/lib/sse_t1/sha1_one_block_sse.asm index 9ea68ab2..7aaacc32 100644 --- a/lib/sse_t1/sha1_one_block_sse.asm +++ b/lib/sse_t1/sha1_one_block_sse.asm @@ -551,6 +551,8 @@ sha1_update_sse: mov r14, ARG3 +align 32 +process_block: ;; set up a-f based on h0-h4 mov a, [SZ*0 + CTX] mov b, [SZ*1 + CTX] @@ -558,8 +560,6 @@ sha1_update_sse: mov d, [SZ*3 + CTX] mov e, [SZ*4 + CTX] -align 32 -process_block: one_block ;; update result digest h0-h4 From 69a318dc7ebed1bd69432b366b8b18be63d4f761 Mon Sep 17 00:00:00 2001 From: Tomasz Kantecki Date: Thu, 10 Apr 2025 15:29:15 +0100 Subject: [PATCH 5/5] Update linux.yml to print cpuinfo at configure stage --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 15d36489..8f43f9a8 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -113,7 +113,7 @@ jobs: repository: 'intel/intel-ipsec-mb' - name: Configure CMake - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} && cat /proc/cpuinfo - name: Build run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel