From 822c9e935a25a7590cd99b4c5407bb6596be41b7 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 4 Dec 2013 18:22:33 +0100 Subject: Change xor and xor_a back to work on pointers For some reason, this makes GCC generate much better code on MIPS with -Os --- src/crypto/cipher/blowfish_ctr/builtin/blowfish_ctr.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/crypto/cipher/blowfish_ctr/builtin/blowfish_ctr.c') diff --git a/src/crypto/cipher/blowfish_ctr/builtin/blowfish_ctr.c b/src/crypto/cipher/blowfish_ctr/builtin/blowfish_ctr.c index feb1406..64ea0f1 100644 --- a/src/crypto/cipher/blowfish_ctr/builtin/blowfish_ctr.c +++ b/src/crypto/cipher/blowfish_ctr/builtin/blowfish_ctr.c @@ -267,7 +267,11 @@ static bool blowfish_ctr_crypt(const fastd_cipher_state_t *state, fastd_block128 block.u32[2] = htonl(block.u32[2]); block.u32[3] = htonl(block.u32[3]); - xor(out++, *(in++), block.b); + out->qw[0] = in->qw[0] ^ block.b.qw[0]; + out->qw[1] = in->qw[1] ^ block.b.qw[1]; + + in++; + out++; } return true; -- cgit v1.2.3