diff options
author | lloyd <[email protected]> | 2011-04-22 13:08:05 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2011-04-22 13:08:05 +0000 |
commit | 8b40f974e65b7cc7d21a8e72b5f18f6e14208e57 (patch) | |
tree | 1192bdf14dbab29218db64abbef9ec0217ce30c8 /src/hash/sha1_amd64 | |
parent | 7b96a4844bf97b9c04a18565334e21dc89b8ba0b (diff) |
Rename all references of ia32 to x86-32 and amd64 to x86-64.
Back the reported version from 1.10.0 to 1.9.17 for the time
being. Still on the fence if this will be 1.10.0 or another release
candidate instead.
Diffstat (limited to 'src/hash/sha1_amd64')
-rw-r--r-- | src/hash/sha1_amd64/info.txt | 13 | ||||
-rw-r--r-- | src/hash/sha1_amd64/sha1_amd64.cpp | 31 | ||||
-rw-r--r-- | src/hash/sha1_amd64/sha1_amd64.h | 28 | ||||
-rw-r--r-- | src/hash/sha1_amd64/sha1_amd64_imp.S | 266 |
4 files changed, 0 insertions, 338 deletions
diff --git a/src/hash/sha1_amd64/info.txt b/src/hash/sha1_amd64/info.txt deleted file mode 100644 index 78eaa23c2..000000000 --- a/src/hash/sha1_amd64/info.txt +++ /dev/null @@ -1,13 +0,0 @@ -define SHA1_AMD64 - -load_on asm_ok - -<arch> -amd64 -</arch> - -<requires> -asm_engine -asm_amd64 -sha1 -</requires> diff --git a/src/hash/sha1_amd64/sha1_amd64.cpp b/src/hash/sha1_amd64/sha1_amd64.cpp deleted file mode 100644 index d32b44901..000000000 --- a/src/hash/sha1_amd64/sha1_amd64.cpp +++ /dev/null @@ -1,31 +0,0 @@ -/* -* SHA-160 -* (C) 1999-2007 Jack Lloyd -* -* Distributed under the terms of the Botan license -*/ - -#include <botan/sha1_amd64.h> - -namespace Botan { - -namespace { - -extern "C" -void botan_sha160_amd64_compress(u32bit[5], const byte[64], u32bit[80]); - -} - -/* -* SHA-160 Compression Function -*/ -void SHA_160_AMD64::compress_n(const byte input[], size_t blocks) - { - for(size_t i = 0; i != blocks; ++i) - { - botan_sha160_amd64_compress(&digest[0], input, &W[0]); - input += hash_block_size(); - } - } - -} diff --git a/src/hash/sha1_amd64/sha1_amd64.h b/src/hash/sha1_amd64/sha1_amd64.h deleted file mode 100644 index 6b741184d..000000000 --- a/src/hash/sha1_amd64/sha1_amd64.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -* SHA-160 (x86-64) -* (C) 1999-2007 Jack Lloyd -* -* Distributed under the terms of the Botan license -*/ - -#ifndef BOTAN_SHA_160_AMD64_H__ -#define BOTAN_SHA_160_AMD64_H__ - -#include <botan/sha160.h> - -namespace Botan { - -/** -* SHA-160 in x86-64 assembly -*/ -class BOTAN_DLL SHA_160_AMD64 : public SHA_160 - { - public: - HashFunction* clone() const { return new SHA_160_AMD64; } - private: - void compress_n(const byte[], size_t blocks); - }; - -} - -#endif diff --git a/src/hash/sha1_amd64/sha1_amd64_imp.S b/src/hash/sha1_amd64/sha1_amd64_imp.S deleted file mode 100644 index 4eea75f11..000000000 --- a/src/hash/sha1_amd64/sha1_amd64_imp.S +++ /dev/null @@ -1,266 +0,0 @@ -/* -* SHA-1 in x86-64 assembler -* (C) 1999-2007 Jack Lloyd -* -* Distributed under the terms of the Botan license -*/ - -#include <botan/internal/asm_macr_amd64.h> - -START_LISTING(sha1_amd64.S) - -START_FUNCTION(botan_sha160_amd64_compress) - -#define DIGEST_ARR %rdi -#define INPUT %rsi -#define W %rdx -#define LOOP_CTR %eax - -#define A %r8d -#define B %r9d -#define C %r10d -#define D %r11d -#define E %ecx - - ZEROIZE(LOOP_CTR) - -ALIGN; -.LOOP_LOAD_INPUT: - addl $8, %eax - - movq ARRAY8(INPUT, 0), %r8 - movq ARRAY8(INPUT, 1), %r9 - movq ARRAY8(INPUT, 2), %r10 - movq ARRAY8(INPUT, 3), %r11 - - bswap %r8 - bswap %r9 - bswap %r10 - bswap %r11 - - rolq $32, %r8 - rolq $32, %r9 - rolq $32, %r10 - rolq $32, %r11 - - movq %r8, ARRAY8(W, 0) - movq %r9, ARRAY8(W, 1) - movq %r10, ARRAY8(W, 2) - movq %r11, ARRAY8(W, 3) - - addq $32, W - addq $32, INPUT - - cmp IMM(16), LOOP_CTR - jne .LOOP_LOAD_INPUT - -/* -#define A %r8d -#define B %r9d -#define C %r10d -#define D %r11d -#define E %ecx -*/ - -ALIGN; -.LOOP_EXPANSION: - addl $4, LOOP_CTR - - ZEROIZE(A) - ASSIGN(B, ARRAY4(W, -1)) - ASSIGN(C, ARRAY4(W, -2)) - ASSIGN(D, ARRAY4(W, -3)) - - XOR(A, ARRAY4(W, -5)) - XOR(B, ARRAY4(W, -6)) - XOR(C, ARRAY4(W, -7)) - XOR(D, ARRAY4(W, -8)) - - XOR(A, ARRAY4(W, -11)) - XOR(B, ARRAY4(W, -12)) - XOR(C, ARRAY4(W, -13)) - XOR(D, ARRAY4(W, -14)) - - XOR(A, ARRAY4(W, -13)) - XOR(B, ARRAY4(W, -14)) - XOR(C, ARRAY4(W, -15)) - XOR(D, ARRAY4(W, -16)) - - ROTL_IMM(D, 1) - ROTL_IMM(C, 1) - ROTL_IMM(B, 1) - XOR(A, D) - ROTL_IMM(A, 1) - - ASSIGN(ARRAY4(W, 0), D) - ASSIGN(ARRAY4(W, 1), C) - ASSIGN(ARRAY4(W, 2), B) - ASSIGN(ARRAY4(W, 3), A) - - addq $16, W - cmp IMM(80), LOOP_CTR - jne .LOOP_EXPANSION - - subq $320, W - -/* -* Using negative values for SHA-1 constants > 2^31 to work around -* a bug in binutils not accepting large lea displacements. -* -0x70E44324 == 0x8F1BBCDC -* -0x359D3E2A == 0xCA62C1D6 -*/ -#define MAGIC1 0x5A827999 -#define MAGIC2 0x6ED9EBA1 -#define MAGIC3 -0x70E44324 -#define MAGIC4 -0x359D3E2A - -#define T %esi -#define T2 %eax - -#define F1(A, B, C, D, E, F, N) \ - ASSIGN(T2, ARRAY4(W, N)) ; \ - ASSIGN(A, F) ; \ - ROTL_IMM(F, 5) ; \ - ADD(F, E) ; \ - ASSIGN(E, C) ; \ - XOR(E, D) ; \ - ADD3_IMM(F, T2, MAGIC1) ; \ - AND(E, B) ; \ - XOR(E, D) ; \ - ROTR_IMM(B, 2) ; \ - ADD(E, F) ; - -#define F2_4(A, B, C, D, E, F, N, MAGIC) \ - ASSIGN(T2, ARRAY4(W, N)) ; \ - ASSIGN(A, F) ; \ - ROTL_IMM(F, 5) ; \ - ADD(F, E) ; \ - ASSIGN(E, B) ; \ - XOR(E, C) ; \ - ADD3_IMM(F, T2, MAGIC) ; \ - XOR(E, D) ; \ - ROTR_IMM(B, 2) ; \ - ADD(E, F) ; - -#define F3(A, B, C, D, E, F, N) \ - ASSIGN(T2, ARRAY4(W, N)) ; \ - ASSIGN(A, F) ; \ - ROTL_IMM(F, 5) ; \ - ADD(F, E) ; \ - ASSIGN(E, B) ; \ - OR(E, C) ; \ - AND(E, D) ; \ - ADD3_IMM(F, T2, MAGIC3) ; \ - ASSIGN(T2, B) ; \ - AND(T2, C) ; \ - OR(E, T2) ; \ - ROTR_IMM(B, 2) ; \ - ADD(E, F) ; - -#define F2(A, B, C, D, E, F, W) \ - F2_4(A, B, C, D, E, F, W, MAGIC2) - -#define F4(A, B, C, D, E, F, W) \ - F2_4(A, B, C, D, E, F, W, MAGIC4) - - ASSIGN(T, ARRAY4(DIGEST_ARR, 0)) - ASSIGN(B, ARRAY4(DIGEST_ARR, 1)) - ASSIGN(C, ARRAY4(DIGEST_ARR, 2)) - ASSIGN(D, ARRAY4(DIGEST_ARR, 3)) - ASSIGN(E, ARRAY4(DIGEST_ARR, 4)) - - /* First Round */ - F1(A, B, C, D, E, T, 0) - F1(T, A, B, C, D, E, 1) - F1(E, T, A, B, C, D, 2) - F1(D, E, T, A, B, C, 3) - F1(C, D, E, T, A, B, 4) - F1(B, C, D, E, T, A, 5) - F1(A, B, C, D, E, T, 6) - F1(T, A, B, C, D, E, 7) - F1(E, T, A, B, C, D, 8) - F1(D, E, T, A, B, C, 9) - F1(C, D, E, T, A, B, 10) - F1(B, C, D, E, T, A, 11) - F1(A, B, C, D, E, T, 12) - F1(T, A, B, C, D, E, 13) - F1(E, T, A, B, C, D, 14) - F1(D, E, T, A, B, C, 15) - F1(C, D, E, T, A, B, 16) - F1(B, C, D, E, T, A, 17) - F1(A, B, C, D, E, T, 18) - F1(T, A, B, C, D, E, 19) - - /* Second Round */ - F2(E, T, A, B, C, D, 20) - F2(D, E, T, A, B, C, 21) - F2(C, D, E, T, A, B, 22) - F2(B, C, D, E, T, A, 23) - F2(A, B, C, D, E, T, 24) - F2(T, A, B, C, D, E, 25) - F2(E, T, A, B, C, D, 26) - F2(D, E, T, A, B, C, 27) - F2(C, D, E, T, A, B, 28) - F2(B, C, D, E, T, A, 29) - F2(A, B, C, D, E, T, 30) - F2(T, A, B, C, D, E, 31) - F2(E, T, A, B, C, D, 32) - F2(D, E, T, A, B, C, 33) - F2(C, D, E, T, A, B, 34) - F2(B, C, D, E, T, A, 35) - F2(A, B, C, D, E, T, 36) - F2(T, A, B, C, D, E, 37) - F2(E, T, A, B, C, D, 38) - F2(D, E, T, A, B, C, 39) - - /* Third Round */ - F3(C, D, E, T, A, B, 40) - F3(B, C, D, E, T, A, 41) - F3(A, B, C, D, E, T, 42) - F3(T, A, B, C, D, E, 43) - F3(E, T, A, B, C, D, 44) - F3(D, E, T, A, B, C, 45) - F3(C, D, E, T, A, B, 46) - F3(B, C, D, E, T, A, 47) - F3(A, B, C, D, E, T, 48) - F3(T, A, B, C, D, E, 49) - F3(E, T, A, B, C, D, 50) - F3(D, E, T, A, B, C, 51) - F3(C, D, E, T, A, B, 52) - F3(B, C, D, E, T, A, 53) - F3(A, B, C, D, E, T, 54) - F3(T, A, B, C, D, E, 55) - F3(E, T, A, B, C, D, 56) - F3(D, E, T, A, B, C, 57) - F3(C, D, E, T, A, B, 58) - F3(B, C, D, E, T, A, 59) - - /* Fourth Round */ - F4(A, B, C, D, E, T, 60) - F4(T, A, B, C, D, E, 61) - F4(E, T, A, B, C, D, 62) - F4(D, E, T, A, B, C, 63) - F4(C, D, E, T, A, B, 64) - F4(B, C, D, E, T, A, 65) - F4(A, B, C, D, E, T, 66) - F4(T, A, B, C, D, E, 67) - F4(E, T, A, B, C, D, 68) - F4(D, E, T, A, B, C, 69) - F4(C, D, E, T, A, B, 70) - F4(B, C, D, E, T, A, 71) - F4(A, B, C, D, E, T, 72) - F4(T, A, B, C, D, E, 73) - F4(E, T, A, B, C, D, 74) - F4(D, E, T, A, B, C, 75) - F4(C, D, E, T, A, B, 76) - F4(B, C, D, E, T, A, 77) - F4(A, B, C, D, E, T, 78) - F4(T, A, B, C, D, E, 79) - - ADD(ARRAY4(DIGEST_ARR, 0), D) - ADD(ARRAY4(DIGEST_ARR, 1), T) - ADD(ARRAY4(DIGEST_ARR, 2), A) - ADD(ARRAY4(DIGEST_ARR, 3), B) - ADD(ARRAY4(DIGEST_ARR, 4), C) - -END_FUNCTION(botan_sha160_amd64_compress) |