We can acheive a reduction in code size by cleaning up unused logic in assembly functions, and by replacing handwritten ECB/CBC routines with helper macros from 'ecb_cbc_helpers.h'. Additionally, these changes can allow future x86_64 optimized implementations to take advantage of blowfish-x86_64's fast 1-way and 4-way functions with less code churn. When testing the patch, I saw a few percent lower cycle counts per iteration on Intel Skylake for both encryption and decryption. This is merely a single observation and this series has not been rigorously benchmarked, as performance changes are not expected. v1 -> v2: - Fixed typo that caused an assembler failure - Added note about performance to cover letter Peter Lafreniere (3): crypto: x86/blowfish - Remove unused encode parameter crypto: x86/blowfish - Convert to use ECB/CBC helpers crypto: x86/blowfish - Eliminate use of SYM_TYPED_FUNC_START in asm arch/x86/crypto/blowfish-x86_64-asm_64.S | 71 ++++---- arch/x86/crypto/blowfish_glue.c | 200 +++-------------------- 2 files changed, 55 insertions(+), 216 deletions(-) -- 2.39.1