mirror of https://github.com/ByConity/ByConity
strip all trailing spaces
This commit is contained in:
parent
eb398d63ac
commit
2e4bf94a21
|
@ -6,7 +6,7 @@ Thank you.
|
|||
|
||||
## Legal Info
|
||||
|
||||
In order for us to accept patches and other contributions from you, you may adopt our License Agreement
|
||||
In order for us to accept patches and other contributions from you, you may adopt our License Agreement
|
||||
By adopting the CLA, you state the following:
|
||||
|
||||
* You obviously wish and are willingly licensing your contributions to us for our open source projects under the terms of the CLA,
|
||||
|
|
|
@ -4,14 +4,14 @@
|
|||
<img src="ByConity-architecture.png" alt="ByConity-architecture" width="800"/>
|
||||
</p>
|
||||
|
||||
ByConity is a data warehouse designed for changes in modern cloud architecture. It adopts a cloud-native architecture design to meet the requirements of data warehouse users for flexible scaling, separation of reads and writes, resource isolation, and strong data consistency. At the same time, it provides excellent query and write performance.
|
||||
ByConity is a data warehouse designed for changes in modern cloud architecture. It adopts a cloud-native architecture design to meet the requirements of data warehouse users for flexible scaling, separation of reads and writes, resource isolation, and strong data consistency. At the same time, it provides excellent query and write performance.
|
||||
|
||||
ByConity is using a large number of mature OLAP technologies, such as column storage engine, MPP execution, intelligent query optimization, vectorized execution, Codegen, indexing, and data compression; it also makes special technological innovations for the cloud scenarios and storage-computing separation architecture.
|
||||
|
||||
ByConity is built on top of [ClickHouse](https://github.com/ClickHouse/ClickHouse). We appreciate the excellent work of the ClickHouse team.
|
||||
|
||||
## Try ByConity
|
||||
You can quickly bring up a ByConity playground by following this simple [guide](https://github.com/ByConity/byconity-docker).
|
||||
You can quickly bring up a ByConity playground by following this simple [guide](https://github.com/ByConity/byconity-docker).
|
||||
|
||||
A minimal ByConity cluster include:
|
||||
- A [FoundationDB](https://www.foundationdb.org/) database cluster to store meta data.
|
||||
|
|
|
@ -3,8 +3,8 @@ add_library (bridge
|
|||
)
|
||||
|
||||
target_include_directories (daemon PUBLIC ..)
|
||||
target_link_libraries (bridge
|
||||
PRIVATE
|
||||
target_link_libraries (bridge
|
||||
PRIVATE
|
||||
daemon
|
||||
dbms
|
||||
Poco::Data
|
||||
|
|
|
@ -150,12 +150,12 @@ void IBridge::defineOptions(Poco::Util::OptionSet & options)
|
|||
|
||||
void IBridge::initialize(Application & self)
|
||||
{
|
||||
/// BaseDaemon will close inheritable file descriptors from parent processe to avoid
|
||||
/// BaseDaemon will close inheritable file descriptors from parent processe to avoid
|
||||
/// security vulnerability issue and file resource resuse issue like tcp port resuse.
|
||||
/// But closing inheritable fds here may be too late, since global variables initialized
|
||||
/// before main entry may open some fds already, which leading to implicit problems such as
|
||||
/// But closing inheritable fds here may be too late, since global variables initialized
|
||||
/// before main entry may open some fds already, which leading to implicit problems such as
|
||||
/// closing fd witch already closed by BaseDaemon before.
|
||||
/// For example, Brpc will create Bvars as global variable and will open some file under /proc
|
||||
/// For example, Brpc will create Bvars as global variable and will open some file under /proc
|
||||
/// before closeFDs called.
|
||||
/// For our sitiuation, just ingoring inheritable fds is ok.
|
||||
// BaseDaemon::closeFDs();
|
||||
|
|
|
@ -688,12 +688,12 @@ void debugIncreaseOOMScore() {}
|
|||
|
||||
void BaseDaemon::initialize(Application & self)
|
||||
{
|
||||
/// BaseDaemon will close inheritable file descriptors from parent processe to avoid
|
||||
/// BaseDaemon will close inheritable file descriptors from parent processe to avoid
|
||||
/// security vulnerability issue and file resource resuse issue like tcp port resuse.
|
||||
/// But closing inheritable fds here may be too late, since global variables initialized
|
||||
/// before main entry may open some fds already, which leading to implicit problems such as
|
||||
/// But closing inheritable fds here may be too late, since global variables initialized
|
||||
/// before main entry may open some fds already, which leading to implicit problems such as
|
||||
/// closing fd witch already closed by BaseDaemon before.
|
||||
/// For example, Brpc will create Bvars as global variable and will open some file under /proc
|
||||
/// For example, Brpc will create Bvars as global variable and will open some file under /proc
|
||||
/// before closeFDs called.
|
||||
/// For our sitiuation, just ingoring inheritable fds is ok.
|
||||
// closeFDs();
|
||||
|
|
|
@ -166,7 +166,7 @@ int glob(const char *restrict pat, int flags, int (*errfunc)(const char *path, i
|
|||
size_t cnt, i;
|
||||
size_t offs = (flags & GLOB_DOOFFS) ? g->gl_offs : 0;
|
||||
int error = 0;
|
||||
|
||||
|
||||
if (*p == '/') {
|
||||
for (; *p == '/'; p++);
|
||||
d = "/";
|
||||
|
@ -189,7 +189,7 @@ int glob(const char *restrict pat, int flags, int (*errfunc)(const char *path, i
|
|||
freelist(&head);
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
for (cnt=0, tail=head.next; tail; tail=tail->next, cnt++);
|
||||
if (!cnt) {
|
||||
if (flags & GLOB_NOCHECK) {
|
||||
|
@ -225,7 +225,7 @@ int glob(const char *restrict pat, int flags, int (*errfunc)(const char *path, i
|
|||
|
||||
if (!(flags & GLOB_NOSORT))
|
||||
qsort(g->gl_pathv+offs, cnt, sizeof(char *), sort);
|
||||
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
|
|
@ -112,7 +112,7 @@ public:
|
|||
* are involved. */
|
||||
void divideWithRemainder(const BigInteger &b, BigInteger &q);
|
||||
void negate(const BigInteger &a);
|
||||
|
||||
|
||||
/* Bitwise operators are not provided for BigIntegers. Use
|
||||
* getMagnitude to get the magnitude and operate on that instead. */
|
||||
|
||||
|
@ -189,7 +189,7 @@ inline BigInteger BigInteger::operator -() const {
|
|||
|
||||
/*
|
||||
* ASSIGNMENT OPERATORS
|
||||
*
|
||||
*
|
||||
* Now the responsibility for making a temporary copy if necessary
|
||||
* belongs to the put-here operations. See Assignment Operators in
|
||||
* BigUnsigned.hh.
|
||||
|
|
|
@ -117,11 +117,11 @@ BigUnsigned::CmpRes BigUnsigned::compareTo(const BigUnsigned &x) const {
|
|||
* variable and then copy it into the requested output variable *this.
|
||||
* Each put-here operation uses the DTRT_ALIASED macro (Do The Right Thing on
|
||||
* aliased calls) to generate code for this check.
|
||||
*
|
||||
*
|
||||
* I adopted this approach on 2007.02.13 (see Assignment Operators in
|
||||
* BigUnsigned.hh). Before then, put-here operations rejected aliased calls
|
||||
* with an exception. I think doing the right thing is better.
|
||||
*
|
||||
*
|
||||
* Some of the put-here operations can probably handle aliased calls safely
|
||||
* without the extra copy because (for example) they process blocks strictly
|
||||
* right-to-left. At some point I might determine which ones don't need the
|
||||
|
@ -392,14 +392,14 @@ void BigUnsigned::multiply(const BigUnsigned &a, const BigUnsigned &b) {
|
|||
* The seemingly bizarre pattern of inputs and outputs was chosen so that the
|
||||
* function copies as little as possible (since it is implemented by repeated
|
||||
* subtraction of multiples of b from *this).
|
||||
*
|
||||
*
|
||||
* "modWithQuotient" might be a better name for this function, but I would
|
||||
* rather not change the name now.
|
||||
*/
|
||||
void BigUnsigned::divideWithRemainder(const BigUnsigned &b, BigUnsigned &q) {
|
||||
/* Defending against aliased calls is more complex than usual because we
|
||||
* are writing to both *this and q.
|
||||
*
|
||||
*
|
||||
* It would be silly to try to write quotient and remainder to the
|
||||
* same variable. Rule that out right away. */
|
||||
if (this == &q)
|
||||
|
@ -447,7 +447,7 @@ void BigUnsigned::divideWithRemainder(const BigUnsigned &b, BigUnsigned &q) {
|
|||
* Turn on bit i2 of block i of the quotient q.
|
||||
* Copy subtractBuf back into *this.
|
||||
* Otherwise bit i2 of block i remains off, and *this is unchanged.
|
||||
*
|
||||
*
|
||||
* Eventually q will contain the entire quotient, and *this will
|
||||
* be left with the remainder.
|
||||
*
|
||||
|
@ -516,7 +516,7 @@ void BigUnsigned::divideWithRemainder(const BigUnsigned &b, BigUnsigned &q) {
|
|||
temp--;
|
||||
}
|
||||
// Since 2005.01.11, indices of `subtractBuf' directly match those of `blk', so use `k'.
|
||||
subtractBuf[k] = temp;
|
||||
subtractBuf[k] = temp;
|
||||
borrowIn = borrowOut;
|
||||
}
|
||||
// No more extra iteration to deal with `bHigh'.
|
||||
|
@ -541,7 +541,7 @@ void BigUnsigned::divideWithRemainder(const BigUnsigned &b, BigUnsigned &q) {
|
|||
k--;
|
||||
blk[k] = subtractBuf[k];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Zap possible leading zero in quotient
|
||||
|
|
|
@ -32,7 +32,7 @@ protected:
|
|||
BigUnsigned(int, Index c) : NumberlikeArray<Blk>(nullptr, c) {}
|
||||
|
||||
// Decreases len to eliminate any leading zero blocks.
|
||||
void zapLeadingZeros() {
|
||||
void zapLeadingZeros() {
|
||||
while (len > 0 && blk[len - 1] == 0)
|
||||
len--;
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ public:
|
|||
|
||||
// Destructor. NumberlikeArray does the delete for us.
|
||||
~BigUnsigned() {}
|
||||
|
||||
|
||||
// Constructors from primitive integer types
|
||||
BigUnsigned(unsigned long x);
|
||||
BigUnsigned( long x);
|
||||
|
@ -186,7 +186,7 @@ public:
|
|||
* object in which to store the quotient. NOTE: If you are wondering
|
||||
* why these don't return a value, you probably mean to use the
|
||||
* overloaded return-by-value operators instead.
|
||||
*
|
||||
*
|
||||
* Examples:
|
||||
* BigInteger a(43), b(7), c, d;
|
||||
*
|
||||
|
@ -198,7 +198,7 @@ public:
|
|||
*
|
||||
* // ``Aliased'' calls now do the right thing using a temporary
|
||||
* // copy, but see note on `divideWithRemainder'.
|
||||
* a.add(a, b);
|
||||
* a.add(a, b);
|
||||
*/
|
||||
|
||||
// COPY-LESS OPERATIONS
|
||||
|
|
|
@ -45,7 +45,7 @@ protected:
|
|||
BigUnsignedInABase(int, Index c) : NumberlikeArray<Digit>(nullptr, c) {}
|
||||
|
||||
// Decreases len to eliminate any leading zero digits.
|
||||
void zapLeadingZeros() {
|
||||
void zapLeadingZeros() {
|
||||
while (len > 0 && blk[len - 1] == 0)
|
||||
len--;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public:
|
|||
bool isZero() const { return NumberlikeArray<Digit>::isEmpty(); }
|
||||
|
||||
/* Equality test. For the purposes of this test, two BigUnsignedInABase
|
||||
* values must have the same base to be equal. */
|
||||
* values must have the same base to be equal. */
|
||||
bool operator ==(const BigUnsignedInABase &x) const {
|
||||
return base == x.base && NumberlikeArray<Digit>::operator ==(x);
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ public:
|
|||
Blk *blk;
|
||||
|
||||
// Constructs a ``zero'' NumberlikeArray with the given capacity.
|
||||
NumberlikeArray(Index c) : cap(c), len(0) {
|
||||
NumberlikeArray(Index c) : cap(c), len(0) {
|
||||
blk = (cap > 0) ? (new Blk[cap]) : nullptr;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,10 +13,10 @@ respectively. Most of the C++ arithmetic operators are overloaded for these
|
|||
classes, so big-integer calculations are as easy as:
|
||||
|
||||
#include "BigIntegerLibrary.hh"
|
||||
|
||||
|
||||
BigInteger a = 65536;
|
||||
cout << (a * a * a * a * a * a * a * a);
|
||||
|
||||
|
||||
(prints 340282366920938463463374607431768211456)
|
||||
|
||||
The code in `sample.cc' demonstrates the most important features of the library.
|
||||
|
|
|
@ -287,7 +287,7 @@ endif()
|
|||
# Get full path to plugin.
|
||||
find_program(gRPC_CPP_PLUGIN
|
||||
NAMES grpc_cpp_plugin
|
||||
DOC "The plugin for generating gRPC client and server C++ stubs from `.proto` files")
|
||||
DOC "The plugin for generating gRPC client and server C++ stubs from `.proto` files")
|
||||
|
||||
find_program(gRPC_PYTHON_PLUGIN
|
||||
NAMES grpc_python_plugin
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
# message(SEND_ERROR "Error: submodule contrib/datasketches-cpp is missing and it is required. to fix try run: \n git submodule update --init --recursive")
|
||||
# return()
|
||||
# endif ()
|
||||
#
|
||||
#
|
||||
|
||||
include(ExternalProject)
|
||||
# add_subdirectory(datasketches-cpp)
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
mflr 6
|
||||
addi 6,6,-0x48
|
||||
mtlr 0
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
.byte 65,69,83,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
|
@ -291,7 +291,7 @@ aes_hw_set_encrypt_key:
|
|||
|
||||
.Lenc_key_abort:
|
||||
mr 3,6
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,1,0,0,3,0
|
||||
.long 0
|
||||
|
@ -342,7 +342,7 @@ aes_hw_set_decrypt_key:
|
|||
xor 3,3,3
|
||||
.Ldec_key_abort:
|
||||
addi 1,1,64
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,4,1,0x80,0,3,0
|
||||
.long 0
|
||||
|
@ -412,7 +412,7 @@ aes_hw_encrypt:
|
|||
stvx 0,7,4
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.long 0
|
||||
|
@ -482,7 +482,7 @@ aes_hw_decrypt:
|
|||
stvx 0,7,4
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,3,0
|
||||
.long 0
|
||||
|
@ -646,7 +646,7 @@ aes_hw_cbc_encrypt:
|
|||
stvx 2,10,7
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,6,0
|
||||
.long 0
|
||||
|
@ -936,8 +936,8 @@ _aesp8_cbc_decrypt8x:
|
|||
|
||||
addic. 5,5,128
|
||||
beq .Lcbc_dec8x_done
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
|
||||
.Loop_cbc_dec8x_tail:
|
||||
.long 0x11EFC548
|
||||
|
@ -1025,15 +1025,15 @@ _aesp8_cbc_decrypt8x:
|
|||
|
||||
cmplwi 5,32
|
||||
blt .Lcbc_dec8x_one
|
||||
nop
|
||||
nop
|
||||
beq .Lcbc_dec8x_two
|
||||
cmplwi 5,64
|
||||
blt .Lcbc_dec8x_three
|
||||
nop
|
||||
nop
|
||||
beq .Lcbc_dec8x_four
|
||||
cmplwi 5,96
|
||||
blt .Lcbc_dec8x_five
|
||||
nop
|
||||
nop
|
||||
beq .Lcbc_dec8x_six
|
||||
|
||||
.Lcbc_dec8x_seven:
|
||||
|
@ -1220,7 +1220,7 @@ _aesp8_cbc_decrypt8x:
|
|||
ld 30,432(1)
|
||||
ld 31,440(1)
|
||||
addi 1,1,448
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x04,0,0x80,6,6,0
|
||||
.long 0
|
||||
|
@ -1330,7 +1330,7 @@ aes_hw_ctr32_encrypt_blocks:
|
|||
stvx 2,0,4
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,6,0
|
||||
.long 0
|
||||
|
@ -1633,15 +1633,15 @@ _aesp8_ctr32_encrypt8x:
|
|||
.Lctr32_enc8x_break:
|
||||
cmpwi 5,-0x60
|
||||
blt .Lctr32_enc8x_one
|
||||
nop
|
||||
nop
|
||||
beq .Lctr32_enc8x_two
|
||||
cmpwi 5,-0x40
|
||||
blt .Lctr32_enc8x_three
|
||||
nop
|
||||
nop
|
||||
beq .Lctr32_enc8x_four
|
||||
cmpwi 5,-0x20
|
||||
blt .Lctr32_enc8x_five
|
||||
nop
|
||||
nop
|
||||
beq .Lctr32_enc8x_six
|
||||
cmpwi 5,0x00
|
||||
blt .Lctr32_enc8x_seven
|
||||
|
@ -1850,7 +1850,7 @@ _aesp8_ctr32_encrypt8x:
|
|||
ld 30,432(1)
|
||||
ld 31,440(1)
|
||||
addi 1,1,448
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x04,0,0x80,6,6,0
|
||||
.long 0
|
||||
|
@ -2063,7 +2063,7 @@ aes_hw_xts_encrypt:
|
|||
.Lxts_enc_ret:
|
||||
or 12,12,12
|
||||
li 3,0
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x04,0,0x80,6,6,0
|
||||
.long 0
|
||||
|
@ -2322,7 +2322,7 @@ aes_hw_xts_decrypt:
|
|||
.Lxts_dec_ret:
|
||||
or 12,12,12
|
||||
li 3,0
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x04,0,0x80,6,6,0
|
||||
.long 0
|
||||
|
@ -2653,11 +2653,11 @@ _aesp8_xts_encrypt6x:
|
|||
beq .Lxts_enc6x_zero
|
||||
cmpwi 5,0x20
|
||||
blt .Lxts_enc6x_one
|
||||
nop
|
||||
nop
|
||||
beq .Lxts_enc6x_two
|
||||
cmpwi 5,0x40
|
||||
blt .Lxts_enc6x_three
|
||||
nop
|
||||
nop
|
||||
beq .Lxts_enc6x_four
|
||||
|
||||
.Lxts_enc6x_five:
|
||||
|
@ -2754,7 +2754,7 @@ _aesp8_xts_encrypt6x:
|
|||
.align 4
|
||||
.Lxts_enc6x_one:
|
||||
vxor 7,5,17
|
||||
nop
|
||||
nop
|
||||
.Loop_xts_enc1x:
|
||||
.long 0x10E7C508
|
||||
lvx 24,26,7
|
||||
|
@ -2890,7 +2890,7 @@ _aesp8_xts_encrypt6x:
|
|||
ld 30,432(1)
|
||||
ld 31,440(1)
|
||||
addi 1,1,448
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x04,1,0x80,6,6,0
|
||||
.long 0
|
||||
|
@ -2975,7 +2975,7 @@ _aesp8_xts_enc5x:
|
|||
.long 0x11AD1509
|
||||
.long 0x11CE1D09
|
||||
.long 0x11EF2509
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
|
||||
|
@ -3303,11 +3303,11 @@ _aesp8_xts_decrypt6x:
|
|||
beq .Lxts_dec6x_zero
|
||||
cmpwi 5,0x20
|
||||
blt .Lxts_dec6x_one
|
||||
nop
|
||||
nop
|
||||
beq .Lxts_dec6x_two
|
||||
cmpwi 5,0x40
|
||||
blt .Lxts_dec6x_three
|
||||
nop
|
||||
nop
|
||||
beq .Lxts_dec6x_four
|
||||
|
||||
.Lxts_dec6x_five:
|
||||
|
@ -3408,7 +3408,7 @@ _aesp8_xts_decrypt6x:
|
|||
.align 4
|
||||
.Lxts_dec6x_one:
|
||||
vxor 7,5,17
|
||||
nop
|
||||
nop
|
||||
.Loop_xts_dec1x:
|
||||
.long 0x10E7C548
|
||||
lvx 24,26,7
|
||||
|
@ -3578,7 +3578,7 @@ _aesp8_xts_decrypt6x:
|
|||
ld 30,432(1)
|
||||
ld 31,440(1)
|
||||
addi 1,1,448
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x04,1,0x80,6,6,0
|
||||
.long 0
|
||||
|
@ -3663,7 +3663,7 @@ _aesp8_xts_dec5x:
|
|||
.long 0x11CE1D49
|
||||
.long 0x11EF2549
|
||||
mtctr 9
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,0,0
|
||||
#endif // !OPENSSL_NO_ASM && __powerpc64__
|
||||
|
|
|
@ -136,7 +136,7 @@ gcm_init_p8:
|
|||
.long 0x7E4A1F99
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
|
@ -188,7 +188,7 @@ gcm_gmult_p8:
|
|||
.long 0x7C001F99
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,2,0
|
||||
.long 0
|
||||
|
@ -307,7 +307,7 @@ gcm_ghash_p8:
|
|||
.long 0x7C001F99
|
||||
|
||||
or 12,12,12
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x14,0,0,0,4,0
|
||||
.long 0
|
||||
|
@ -574,7 +574,7 @@ gcm_ghash_p8:
|
|||
lvx 30,10,1
|
||||
lvx 31,11,1
|
||||
addi 1,1,256
|
||||
blr
|
||||
blr
|
||||
.long 0
|
||||
.byte 0,12,0x04,0,0x80,0,4,0
|
||||
.long 0
|
||||
|
|
|
@ -203,7 +203,7 @@ abi_test_trampoline:
|
|||
.Largs_done:
|
||||
li 2, 0
|
||||
mtctr 12
|
||||
bctrl
|
||||
bctrl
|
||||
ld 2, 24(1)
|
||||
|
||||
ld 4, 32(1)
|
||||
|
@ -334,7 +334,7 @@ abi_test_trampoline:
|
|||
addi 1, 1, 528
|
||||
ld 0, 16(1)
|
||||
mtlr 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_trampoline,.-abi_test_trampoline
|
||||
.globl abi_test_clobber_r0
|
||||
.type abi_test_clobber_r0,@function
|
||||
|
@ -343,7 +343,7 @@ abi_test_clobber_r0:
|
|||
.localentry abi_test_clobber_r0,0
|
||||
|
||||
li 0, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r0,.-abi_test_clobber_r0
|
||||
.globl abi_test_clobber_r2
|
||||
.type abi_test_clobber_r2,@function
|
||||
|
@ -352,7 +352,7 @@ abi_test_clobber_r2:
|
|||
.localentry abi_test_clobber_r2,0
|
||||
|
||||
li 2, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r2,.-abi_test_clobber_r2
|
||||
.globl abi_test_clobber_r3
|
||||
.type abi_test_clobber_r3,@function
|
||||
|
@ -361,7 +361,7 @@ abi_test_clobber_r3:
|
|||
.localentry abi_test_clobber_r3,0
|
||||
|
||||
li 3, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r3,.-abi_test_clobber_r3
|
||||
.globl abi_test_clobber_r4
|
||||
.type abi_test_clobber_r4,@function
|
||||
|
@ -370,7 +370,7 @@ abi_test_clobber_r4:
|
|||
.localentry abi_test_clobber_r4,0
|
||||
|
||||
li 4, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r4,.-abi_test_clobber_r4
|
||||
.globl abi_test_clobber_r5
|
||||
.type abi_test_clobber_r5,@function
|
||||
|
@ -379,7 +379,7 @@ abi_test_clobber_r5:
|
|||
.localentry abi_test_clobber_r5,0
|
||||
|
||||
li 5, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r5,.-abi_test_clobber_r5
|
||||
.globl abi_test_clobber_r6
|
||||
.type abi_test_clobber_r6,@function
|
||||
|
@ -388,7 +388,7 @@ abi_test_clobber_r6:
|
|||
.localentry abi_test_clobber_r6,0
|
||||
|
||||
li 6, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r6,.-abi_test_clobber_r6
|
||||
.globl abi_test_clobber_r7
|
||||
.type abi_test_clobber_r7,@function
|
||||
|
@ -397,7 +397,7 @@ abi_test_clobber_r7:
|
|||
.localentry abi_test_clobber_r7,0
|
||||
|
||||
li 7, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r7,.-abi_test_clobber_r7
|
||||
.globl abi_test_clobber_r8
|
||||
.type abi_test_clobber_r8,@function
|
||||
|
@ -406,7 +406,7 @@ abi_test_clobber_r8:
|
|||
.localentry abi_test_clobber_r8,0
|
||||
|
||||
li 8, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r8,.-abi_test_clobber_r8
|
||||
.globl abi_test_clobber_r9
|
||||
.type abi_test_clobber_r9,@function
|
||||
|
@ -415,7 +415,7 @@ abi_test_clobber_r9:
|
|||
.localentry abi_test_clobber_r9,0
|
||||
|
||||
li 9, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r9,.-abi_test_clobber_r9
|
||||
.globl abi_test_clobber_r10
|
||||
.type abi_test_clobber_r10,@function
|
||||
|
@ -424,7 +424,7 @@ abi_test_clobber_r10:
|
|||
.localentry abi_test_clobber_r10,0
|
||||
|
||||
li 10, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r10,.-abi_test_clobber_r10
|
||||
.globl abi_test_clobber_r11
|
||||
.type abi_test_clobber_r11,@function
|
||||
|
@ -433,7 +433,7 @@ abi_test_clobber_r11:
|
|||
.localentry abi_test_clobber_r11,0
|
||||
|
||||
li 11, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r11,.-abi_test_clobber_r11
|
||||
.globl abi_test_clobber_r12
|
||||
.type abi_test_clobber_r12,@function
|
||||
|
@ -442,7 +442,7 @@ abi_test_clobber_r12:
|
|||
.localentry abi_test_clobber_r12,0
|
||||
|
||||
li 12, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r12,.-abi_test_clobber_r12
|
||||
.globl abi_test_clobber_r14
|
||||
.type abi_test_clobber_r14,@function
|
||||
|
@ -451,7 +451,7 @@ abi_test_clobber_r14:
|
|||
.localentry abi_test_clobber_r14,0
|
||||
|
||||
li 14, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r14,.-abi_test_clobber_r14
|
||||
.globl abi_test_clobber_r15
|
||||
.type abi_test_clobber_r15,@function
|
||||
|
@ -460,7 +460,7 @@ abi_test_clobber_r15:
|
|||
.localentry abi_test_clobber_r15,0
|
||||
|
||||
li 15, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r15,.-abi_test_clobber_r15
|
||||
.globl abi_test_clobber_r16
|
||||
.type abi_test_clobber_r16,@function
|
||||
|
@ -469,7 +469,7 @@ abi_test_clobber_r16:
|
|||
.localentry abi_test_clobber_r16,0
|
||||
|
||||
li 16, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r16,.-abi_test_clobber_r16
|
||||
.globl abi_test_clobber_r17
|
||||
.type abi_test_clobber_r17,@function
|
||||
|
@ -478,7 +478,7 @@ abi_test_clobber_r17:
|
|||
.localentry abi_test_clobber_r17,0
|
||||
|
||||
li 17, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r17,.-abi_test_clobber_r17
|
||||
.globl abi_test_clobber_r18
|
||||
.type abi_test_clobber_r18,@function
|
||||
|
@ -487,7 +487,7 @@ abi_test_clobber_r18:
|
|||
.localentry abi_test_clobber_r18,0
|
||||
|
||||
li 18, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r18,.-abi_test_clobber_r18
|
||||
.globl abi_test_clobber_r19
|
||||
.type abi_test_clobber_r19,@function
|
||||
|
@ -496,7 +496,7 @@ abi_test_clobber_r19:
|
|||
.localentry abi_test_clobber_r19,0
|
||||
|
||||
li 19, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r19,.-abi_test_clobber_r19
|
||||
.globl abi_test_clobber_r20
|
||||
.type abi_test_clobber_r20,@function
|
||||
|
@ -505,7 +505,7 @@ abi_test_clobber_r20:
|
|||
.localentry abi_test_clobber_r20,0
|
||||
|
||||
li 20, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r20,.-abi_test_clobber_r20
|
||||
.globl abi_test_clobber_r21
|
||||
.type abi_test_clobber_r21,@function
|
||||
|
@ -514,7 +514,7 @@ abi_test_clobber_r21:
|
|||
.localentry abi_test_clobber_r21,0
|
||||
|
||||
li 21, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r21,.-abi_test_clobber_r21
|
||||
.globl abi_test_clobber_r22
|
||||
.type abi_test_clobber_r22,@function
|
||||
|
@ -523,7 +523,7 @@ abi_test_clobber_r22:
|
|||
.localentry abi_test_clobber_r22,0
|
||||
|
||||
li 22, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r22,.-abi_test_clobber_r22
|
||||
.globl abi_test_clobber_r23
|
||||
.type abi_test_clobber_r23,@function
|
||||
|
@ -532,7 +532,7 @@ abi_test_clobber_r23:
|
|||
.localentry abi_test_clobber_r23,0
|
||||
|
||||
li 23, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r23,.-abi_test_clobber_r23
|
||||
.globl abi_test_clobber_r24
|
||||
.type abi_test_clobber_r24,@function
|
||||
|
@ -541,7 +541,7 @@ abi_test_clobber_r24:
|
|||
.localentry abi_test_clobber_r24,0
|
||||
|
||||
li 24, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r24,.-abi_test_clobber_r24
|
||||
.globl abi_test_clobber_r25
|
||||
.type abi_test_clobber_r25,@function
|
||||
|
@ -550,7 +550,7 @@ abi_test_clobber_r25:
|
|||
.localentry abi_test_clobber_r25,0
|
||||
|
||||
li 25, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r25,.-abi_test_clobber_r25
|
||||
.globl abi_test_clobber_r26
|
||||
.type abi_test_clobber_r26,@function
|
||||
|
@ -559,7 +559,7 @@ abi_test_clobber_r26:
|
|||
.localentry abi_test_clobber_r26,0
|
||||
|
||||
li 26, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r26,.-abi_test_clobber_r26
|
||||
.globl abi_test_clobber_r27
|
||||
.type abi_test_clobber_r27,@function
|
||||
|
@ -568,7 +568,7 @@ abi_test_clobber_r27:
|
|||
.localentry abi_test_clobber_r27,0
|
||||
|
||||
li 27, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r27,.-abi_test_clobber_r27
|
||||
.globl abi_test_clobber_r28
|
||||
.type abi_test_clobber_r28,@function
|
||||
|
@ -577,7 +577,7 @@ abi_test_clobber_r28:
|
|||
.localentry abi_test_clobber_r28,0
|
||||
|
||||
li 28, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r28,.-abi_test_clobber_r28
|
||||
.globl abi_test_clobber_r29
|
||||
.type abi_test_clobber_r29,@function
|
||||
|
@ -586,7 +586,7 @@ abi_test_clobber_r29:
|
|||
.localentry abi_test_clobber_r29,0
|
||||
|
||||
li 29, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r29,.-abi_test_clobber_r29
|
||||
.globl abi_test_clobber_r30
|
||||
.type abi_test_clobber_r30,@function
|
||||
|
@ -595,7 +595,7 @@ abi_test_clobber_r30:
|
|||
.localentry abi_test_clobber_r30,0
|
||||
|
||||
li 30, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r30,.-abi_test_clobber_r30
|
||||
.globl abi_test_clobber_r31
|
||||
.type abi_test_clobber_r31,@function
|
||||
|
@ -604,7 +604,7 @@ abi_test_clobber_r31:
|
|||
.localentry abi_test_clobber_r31,0
|
||||
|
||||
li 31, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_r31,.-abi_test_clobber_r31
|
||||
.globl abi_test_clobber_f0
|
||||
.type abi_test_clobber_f0,@function
|
||||
|
@ -616,7 +616,7 @@ abi_test_clobber_f0:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 0, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f0,.-abi_test_clobber_f0
|
||||
.globl abi_test_clobber_f1
|
||||
.type abi_test_clobber_f1,@function
|
||||
|
@ -628,7 +628,7 @@ abi_test_clobber_f1:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 1, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f1,.-abi_test_clobber_f1
|
||||
.globl abi_test_clobber_f2
|
||||
.type abi_test_clobber_f2,@function
|
||||
|
@ -640,7 +640,7 @@ abi_test_clobber_f2:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 2, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f2,.-abi_test_clobber_f2
|
||||
.globl abi_test_clobber_f3
|
||||
.type abi_test_clobber_f3,@function
|
||||
|
@ -652,7 +652,7 @@ abi_test_clobber_f3:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 3, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f3,.-abi_test_clobber_f3
|
||||
.globl abi_test_clobber_f4
|
||||
.type abi_test_clobber_f4,@function
|
||||
|
@ -664,7 +664,7 @@ abi_test_clobber_f4:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 4, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f4,.-abi_test_clobber_f4
|
||||
.globl abi_test_clobber_f5
|
||||
.type abi_test_clobber_f5,@function
|
||||
|
@ -676,7 +676,7 @@ abi_test_clobber_f5:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 5, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f5,.-abi_test_clobber_f5
|
||||
.globl abi_test_clobber_f6
|
||||
.type abi_test_clobber_f6,@function
|
||||
|
@ -688,7 +688,7 @@ abi_test_clobber_f6:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 6, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f6,.-abi_test_clobber_f6
|
||||
.globl abi_test_clobber_f7
|
||||
.type abi_test_clobber_f7,@function
|
||||
|
@ -700,7 +700,7 @@ abi_test_clobber_f7:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 7, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f7,.-abi_test_clobber_f7
|
||||
.globl abi_test_clobber_f8
|
||||
.type abi_test_clobber_f8,@function
|
||||
|
@ -712,7 +712,7 @@ abi_test_clobber_f8:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 8, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f8,.-abi_test_clobber_f8
|
||||
.globl abi_test_clobber_f9
|
||||
.type abi_test_clobber_f9,@function
|
||||
|
@ -724,7 +724,7 @@ abi_test_clobber_f9:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 9, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f9,.-abi_test_clobber_f9
|
||||
.globl abi_test_clobber_f10
|
||||
.type abi_test_clobber_f10,@function
|
||||
|
@ -736,7 +736,7 @@ abi_test_clobber_f10:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 10, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f10,.-abi_test_clobber_f10
|
||||
.globl abi_test_clobber_f11
|
||||
.type abi_test_clobber_f11,@function
|
||||
|
@ -748,7 +748,7 @@ abi_test_clobber_f11:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 11, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f11,.-abi_test_clobber_f11
|
||||
.globl abi_test_clobber_f12
|
||||
.type abi_test_clobber_f12,@function
|
||||
|
@ -760,7 +760,7 @@ abi_test_clobber_f12:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 12, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f12,.-abi_test_clobber_f12
|
||||
.globl abi_test_clobber_f13
|
||||
.type abi_test_clobber_f13,@function
|
||||
|
@ -772,7 +772,7 @@ abi_test_clobber_f13:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 13, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f13,.-abi_test_clobber_f13
|
||||
.globl abi_test_clobber_f14
|
||||
.type abi_test_clobber_f14,@function
|
||||
|
@ -784,7 +784,7 @@ abi_test_clobber_f14:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 14, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f14,.-abi_test_clobber_f14
|
||||
.globl abi_test_clobber_f15
|
||||
.type abi_test_clobber_f15,@function
|
||||
|
@ -796,7 +796,7 @@ abi_test_clobber_f15:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 15, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f15,.-abi_test_clobber_f15
|
||||
.globl abi_test_clobber_f16
|
||||
.type abi_test_clobber_f16,@function
|
||||
|
@ -808,7 +808,7 @@ abi_test_clobber_f16:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 16, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f16,.-abi_test_clobber_f16
|
||||
.globl abi_test_clobber_f17
|
||||
.type abi_test_clobber_f17,@function
|
||||
|
@ -820,7 +820,7 @@ abi_test_clobber_f17:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 17, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f17,.-abi_test_clobber_f17
|
||||
.globl abi_test_clobber_f18
|
||||
.type abi_test_clobber_f18,@function
|
||||
|
@ -832,7 +832,7 @@ abi_test_clobber_f18:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 18, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f18,.-abi_test_clobber_f18
|
||||
.globl abi_test_clobber_f19
|
||||
.type abi_test_clobber_f19,@function
|
||||
|
@ -844,7 +844,7 @@ abi_test_clobber_f19:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 19, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f19,.-abi_test_clobber_f19
|
||||
.globl abi_test_clobber_f20
|
||||
.type abi_test_clobber_f20,@function
|
||||
|
@ -856,7 +856,7 @@ abi_test_clobber_f20:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 20, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f20,.-abi_test_clobber_f20
|
||||
.globl abi_test_clobber_f21
|
||||
.type abi_test_clobber_f21,@function
|
||||
|
@ -868,7 +868,7 @@ abi_test_clobber_f21:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 21, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f21,.-abi_test_clobber_f21
|
||||
.globl abi_test_clobber_f22
|
||||
.type abi_test_clobber_f22,@function
|
||||
|
@ -880,7 +880,7 @@ abi_test_clobber_f22:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 22, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f22,.-abi_test_clobber_f22
|
||||
.globl abi_test_clobber_f23
|
||||
.type abi_test_clobber_f23,@function
|
||||
|
@ -892,7 +892,7 @@ abi_test_clobber_f23:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 23, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f23,.-abi_test_clobber_f23
|
||||
.globl abi_test_clobber_f24
|
||||
.type abi_test_clobber_f24,@function
|
||||
|
@ -904,7 +904,7 @@ abi_test_clobber_f24:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 24, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f24,.-abi_test_clobber_f24
|
||||
.globl abi_test_clobber_f25
|
||||
.type abi_test_clobber_f25,@function
|
||||
|
@ -916,7 +916,7 @@ abi_test_clobber_f25:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 25, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f25,.-abi_test_clobber_f25
|
||||
.globl abi_test_clobber_f26
|
||||
.type abi_test_clobber_f26,@function
|
||||
|
@ -928,7 +928,7 @@ abi_test_clobber_f26:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 26, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f26,.-abi_test_clobber_f26
|
||||
.globl abi_test_clobber_f27
|
||||
.type abi_test_clobber_f27,@function
|
||||
|
@ -940,7 +940,7 @@ abi_test_clobber_f27:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 27, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f27,.-abi_test_clobber_f27
|
||||
.globl abi_test_clobber_f28
|
||||
.type abi_test_clobber_f28,@function
|
||||
|
@ -952,7 +952,7 @@ abi_test_clobber_f28:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 28, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f28,.-abi_test_clobber_f28
|
||||
.globl abi_test_clobber_f29
|
||||
.type abi_test_clobber_f29,@function
|
||||
|
@ -964,7 +964,7 @@ abi_test_clobber_f29:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 29, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f29,.-abi_test_clobber_f29
|
||||
.globl abi_test_clobber_f30
|
||||
.type abi_test_clobber_f30,@function
|
||||
|
@ -976,7 +976,7 @@ abi_test_clobber_f30:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 30, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f30,.-abi_test_clobber_f30
|
||||
.globl abi_test_clobber_f31
|
||||
.type abi_test_clobber_f31,@function
|
||||
|
@ -988,7 +988,7 @@ abi_test_clobber_f31:
|
|||
|
||||
std 0, -8(1)
|
||||
lfd 31, -8(1)
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_f31,.-abi_test_clobber_f31
|
||||
.globl abi_test_clobber_v0
|
||||
.type abi_test_clobber_v0,@function
|
||||
|
@ -997,7 +997,7 @@ abi_test_clobber_v0:
|
|||
.localentry abi_test_clobber_v0,0
|
||||
|
||||
vxor 0, 0, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v0,.-abi_test_clobber_v0
|
||||
.globl abi_test_clobber_v1
|
||||
.type abi_test_clobber_v1,@function
|
||||
|
@ -1006,7 +1006,7 @@ abi_test_clobber_v1:
|
|||
.localentry abi_test_clobber_v1,0
|
||||
|
||||
vxor 1, 1, 1
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v1,.-abi_test_clobber_v1
|
||||
.globl abi_test_clobber_v2
|
||||
.type abi_test_clobber_v2,@function
|
||||
|
@ -1015,7 +1015,7 @@ abi_test_clobber_v2:
|
|||
.localentry abi_test_clobber_v2,0
|
||||
|
||||
vxor 2, 2, 2
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v2,.-abi_test_clobber_v2
|
||||
.globl abi_test_clobber_v3
|
||||
.type abi_test_clobber_v3,@function
|
||||
|
@ -1024,7 +1024,7 @@ abi_test_clobber_v3:
|
|||
.localentry abi_test_clobber_v3,0
|
||||
|
||||
vxor 3, 3, 3
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v3,.-abi_test_clobber_v3
|
||||
.globl abi_test_clobber_v4
|
||||
.type abi_test_clobber_v4,@function
|
||||
|
@ -1033,7 +1033,7 @@ abi_test_clobber_v4:
|
|||
.localentry abi_test_clobber_v4,0
|
||||
|
||||
vxor 4, 4, 4
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v4,.-abi_test_clobber_v4
|
||||
.globl abi_test_clobber_v5
|
||||
.type abi_test_clobber_v5,@function
|
||||
|
@ -1042,7 +1042,7 @@ abi_test_clobber_v5:
|
|||
.localentry abi_test_clobber_v5,0
|
||||
|
||||
vxor 5, 5, 5
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v5,.-abi_test_clobber_v5
|
||||
.globl abi_test_clobber_v6
|
||||
.type abi_test_clobber_v6,@function
|
||||
|
@ -1051,7 +1051,7 @@ abi_test_clobber_v6:
|
|||
.localentry abi_test_clobber_v6,0
|
||||
|
||||
vxor 6, 6, 6
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v6,.-abi_test_clobber_v6
|
||||
.globl abi_test_clobber_v7
|
||||
.type abi_test_clobber_v7,@function
|
||||
|
@ -1060,7 +1060,7 @@ abi_test_clobber_v7:
|
|||
.localentry abi_test_clobber_v7,0
|
||||
|
||||
vxor 7, 7, 7
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v7,.-abi_test_clobber_v7
|
||||
.globl abi_test_clobber_v8
|
||||
.type abi_test_clobber_v8,@function
|
||||
|
@ -1069,7 +1069,7 @@ abi_test_clobber_v8:
|
|||
.localentry abi_test_clobber_v8,0
|
||||
|
||||
vxor 8, 8, 8
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v8,.-abi_test_clobber_v8
|
||||
.globl abi_test_clobber_v9
|
||||
.type abi_test_clobber_v9,@function
|
||||
|
@ -1078,7 +1078,7 @@ abi_test_clobber_v9:
|
|||
.localentry abi_test_clobber_v9,0
|
||||
|
||||
vxor 9, 9, 9
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v9,.-abi_test_clobber_v9
|
||||
.globl abi_test_clobber_v10
|
||||
.type abi_test_clobber_v10,@function
|
||||
|
@ -1087,7 +1087,7 @@ abi_test_clobber_v10:
|
|||
.localentry abi_test_clobber_v10,0
|
||||
|
||||
vxor 10, 10, 10
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v10,.-abi_test_clobber_v10
|
||||
.globl abi_test_clobber_v11
|
||||
.type abi_test_clobber_v11,@function
|
||||
|
@ -1096,7 +1096,7 @@ abi_test_clobber_v11:
|
|||
.localentry abi_test_clobber_v11,0
|
||||
|
||||
vxor 11, 11, 11
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v11,.-abi_test_clobber_v11
|
||||
.globl abi_test_clobber_v12
|
||||
.type abi_test_clobber_v12,@function
|
||||
|
@ -1105,7 +1105,7 @@ abi_test_clobber_v12:
|
|||
.localentry abi_test_clobber_v12,0
|
||||
|
||||
vxor 12, 12, 12
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v12,.-abi_test_clobber_v12
|
||||
.globl abi_test_clobber_v13
|
||||
.type abi_test_clobber_v13,@function
|
||||
|
@ -1114,7 +1114,7 @@ abi_test_clobber_v13:
|
|||
.localentry abi_test_clobber_v13,0
|
||||
|
||||
vxor 13, 13, 13
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v13,.-abi_test_clobber_v13
|
||||
.globl abi_test_clobber_v14
|
||||
.type abi_test_clobber_v14,@function
|
||||
|
@ -1123,7 +1123,7 @@ abi_test_clobber_v14:
|
|||
.localentry abi_test_clobber_v14,0
|
||||
|
||||
vxor 14, 14, 14
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v14,.-abi_test_clobber_v14
|
||||
.globl abi_test_clobber_v15
|
||||
.type abi_test_clobber_v15,@function
|
||||
|
@ -1132,7 +1132,7 @@ abi_test_clobber_v15:
|
|||
.localentry abi_test_clobber_v15,0
|
||||
|
||||
vxor 15, 15, 15
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v15,.-abi_test_clobber_v15
|
||||
.globl abi_test_clobber_v16
|
||||
.type abi_test_clobber_v16,@function
|
||||
|
@ -1141,7 +1141,7 @@ abi_test_clobber_v16:
|
|||
.localentry abi_test_clobber_v16,0
|
||||
|
||||
vxor 16, 16, 16
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v16,.-abi_test_clobber_v16
|
||||
.globl abi_test_clobber_v17
|
||||
.type abi_test_clobber_v17,@function
|
||||
|
@ -1150,7 +1150,7 @@ abi_test_clobber_v17:
|
|||
.localentry abi_test_clobber_v17,0
|
||||
|
||||
vxor 17, 17, 17
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v17,.-abi_test_clobber_v17
|
||||
.globl abi_test_clobber_v18
|
||||
.type abi_test_clobber_v18,@function
|
||||
|
@ -1159,7 +1159,7 @@ abi_test_clobber_v18:
|
|||
.localentry abi_test_clobber_v18,0
|
||||
|
||||
vxor 18, 18, 18
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v18,.-abi_test_clobber_v18
|
||||
.globl abi_test_clobber_v19
|
||||
.type abi_test_clobber_v19,@function
|
||||
|
@ -1168,7 +1168,7 @@ abi_test_clobber_v19:
|
|||
.localentry abi_test_clobber_v19,0
|
||||
|
||||
vxor 19, 19, 19
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v19,.-abi_test_clobber_v19
|
||||
.globl abi_test_clobber_v20
|
||||
.type abi_test_clobber_v20,@function
|
||||
|
@ -1177,7 +1177,7 @@ abi_test_clobber_v20:
|
|||
.localentry abi_test_clobber_v20,0
|
||||
|
||||
vxor 20, 20, 20
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v20,.-abi_test_clobber_v20
|
||||
.globl abi_test_clobber_v21
|
||||
.type abi_test_clobber_v21,@function
|
||||
|
@ -1186,7 +1186,7 @@ abi_test_clobber_v21:
|
|||
.localentry abi_test_clobber_v21,0
|
||||
|
||||
vxor 21, 21, 21
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v21,.-abi_test_clobber_v21
|
||||
.globl abi_test_clobber_v22
|
||||
.type abi_test_clobber_v22,@function
|
||||
|
@ -1195,7 +1195,7 @@ abi_test_clobber_v22:
|
|||
.localentry abi_test_clobber_v22,0
|
||||
|
||||
vxor 22, 22, 22
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v22,.-abi_test_clobber_v22
|
||||
.globl abi_test_clobber_v23
|
||||
.type abi_test_clobber_v23,@function
|
||||
|
@ -1204,7 +1204,7 @@ abi_test_clobber_v23:
|
|||
.localentry abi_test_clobber_v23,0
|
||||
|
||||
vxor 23, 23, 23
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v23,.-abi_test_clobber_v23
|
||||
.globl abi_test_clobber_v24
|
||||
.type abi_test_clobber_v24,@function
|
||||
|
@ -1213,7 +1213,7 @@ abi_test_clobber_v24:
|
|||
.localentry abi_test_clobber_v24,0
|
||||
|
||||
vxor 24, 24, 24
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v24,.-abi_test_clobber_v24
|
||||
.globl abi_test_clobber_v25
|
||||
.type abi_test_clobber_v25,@function
|
||||
|
@ -1222,7 +1222,7 @@ abi_test_clobber_v25:
|
|||
.localentry abi_test_clobber_v25,0
|
||||
|
||||
vxor 25, 25, 25
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v25,.-abi_test_clobber_v25
|
||||
.globl abi_test_clobber_v26
|
||||
.type abi_test_clobber_v26,@function
|
||||
|
@ -1231,7 +1231,7 @@ abi_test_clobber_v26:
|
|||
.localentry abi_test_clobber_v26,0
|
||||
|
||||
vxor 26, 26, 26
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v26,.-abi_test_clobber_v26
|
||||
.globl abi_test_clobber_v27
|
||||
.type abi_test_clobber_v27,@function
|
||||
|
@ -1240,7 +1240,7 @@ abi_test_clobber_v27:
|
|||
.localentry abi_test_clobber_v27,0
|
||||
|
||||
vxor 27, 27, 27
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v27,.-abi_test_clobber_v27
|
||||
.globl abi_test_clobber_v28
|
||||
.type abi_test_clobber_v28,@function
|
||||
|
@ -1249,7 +1249,7 @@ abi_test_clobber_v28:
|
|||
.localentry abi_test_clobber_v28,0
|
||||
|
||||
vxor 28, 28, 28
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v28,.-abi_test_clobber_v28
|
||||
.globl abi_test_clobber_v29
|
||||
.type abi_test_clobber_v29,@function
|
||||
|
@ -1258,7 +1258,7 @@ abi_test_clobber_v29:
|
|||
.localentry abi_test_clobber_v29,0
|
||||
|
||||
vxor 29, 29, 29
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v29,.-abi_test_clobber_v29
|
||||
.globl abi_test_clobber_v30
|
||||
.type abi_test_clobber_v30,@function
|
||||
|
@ -1267,7 +1267,7 @@ abi_test_clobber_v30:
|
|||
.localentry abi_test_clobber_v30,0
|
||||
|
||||
vxor 30, 30, 30
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v30,.-abi_test_clobber_v30
|
||||
.globl abi_test_clobber_v31
|
||||
.type abi_test_clobber_v31,@function
|
||||
|
@ -1276,7 +1276,7 @@ abi_test_clobber_v31:
|
|||
.localentry abi_test_clobber_v31,0
|
||||
|
||||
vxor 31, 31, 31
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_v31,.-abi_test_clobber_v31
|
||||
.globl abi_test_clobber_cr0
|
||||
.type abi_test_clobber_cr0,@function
|
||||
|
@ -1289,7 +1289,7 @@ abi_test_clobber_cr0:
|
|||
mfcr 0
|
||||
not 0, 0
|
||||
mtcrf 128, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_cr0,.-abi_test_clobber_cr0
|
||||
.globl abi_test_clobber_cr1
|
||||
.type abi_test_clobber_cr1,@function
|
||||
|
@ -1302,7 +1302,7 @@ abi_test_clobber_cr1:
|
|||
mfcr 0
|
||||
not 0, 0
|
||||
mtcrf 64, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_cr1,.-abi_test_clobber_cr1
|
||||
.globl abi_test_clobber_cr2
|
||||
.type abi_test_clobber_cr2,@function
|
||||
|
@ -1315,7 +1315,7 @@ abi_test_clobber_cr2:
|
|||
mfcr 0
|
||||
not 0, 0
|
||||
mtcrf 32, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_cr2,.-abi_test_clobber_cr2
|
||||
.globl abi_test_clobber_cr3
|
||||
.type abi_test_clobber_cr3,@function
|
||||
|
@ -1328,7 +1328,7 @@ abi_test_clobber_cr3:
|
|||
mfcr 0
|
||||
not 0, 0
|
||||
mtcrf 16, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_cr3,.-abi_test_clobber_cr3
|
||||
.globl abi_test_clobber_cr4
|
||||
.type abi_test_clobber_cr4,@function
|
||||
|
@ -1341,7 +1341,7 @@ abi_test_clobber_cr4:
|
|||
mfcr 0
|
||||
not 0, 0
|
||||
mtcrf 8, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_cr4,.-abi_test_clobber_cr4
|
||||
.globl abi_test_clobber_cr5
|
||||
.type abi_test_clobber_cr5,@function
|
||||
|
@ -1354,7 +1354,7 @@ abi_test_clobber_cr5:
|
|||
mfcr 0
|
||||
not 0, 0
|
||||
mtcrf 4, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_cr5,.-abi_test_clobber_cr5
|
||||
.globl abi_test_clobber_cr6
|
||||
.type abi_test_clobber_cr6,@function
|
||||
|
@ -1367,7 +1367,7 @@ abi_test_clobber_cr6:
|
|||
mfcr 0
|
||||
not 0, 0
|
||||
mtcrf 2, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_cr6,.-abi_test_clobber_cr6
|
||||
.globl abi_test_clobber_cr7
|
||||
.type abi_test_clobber_cr7,@function
|
||||
|
@ -1380,7 +1380,7 @@ abi_test_clobber_cr7:
|
|||
mfcr 0
|
||||
not 0, 0
|
||||
mtcrf 1, 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_cr7,.-abi_test_clobber_cr7
|
||||
.globl abi_test_clobber_ctr
|
||||
.type abi_test_clobber_ctr,@function
|
||||
|
@ -1390,7 +1390,7 @@ abi_test_clobber_ctr:
|
|||
|
||||
li 0, 0
|
||||
mtctr 0
|
||||
blr
|
||||
blr
|
||||
.size abi_test_clobber_ctr,.-abi_test_clobber_ctr
|
||||
|
||||
.globl abi_test_clobber_lr
|
||||
|
@ -1403,7 +1403,7 @@ abi_test_clobber_lr:
|
|||
mtctr 0
|
||||
li 0, 0
|
||||
mtlr 0
|
||||
bctr
|
||||
bctr
|
||||
.size abi_test_clobber_lr,.-abi_test_clobber_lr
|
||||
|
||||
#endif // !OPENSSL_NO_ASM && __powerpc64__
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
.extern OPENSSL_ia32cap_P
|
||||
.hidden OPENSSL_ia32cap_P
|
||||
|
@ -50,7 +50,7 @@
|
|||
.type ChaCha20_ctr32,@function
|
||||
.align 64
|
||||
ChaCha20_ctr32:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
cmpq $0,%rdx
|
||||
je .Lno_data
|
||||
movq OPENSSL_ia32cap_P+4(%rip),%r10
|
||||
|
@ -332,13 +332,13 @@ ChaCha20_ctr32:
|
|||
.cfi_adjust_cfa_offset -136
|
||||
.Lno_data:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ChaCha20_ctr32,.-ChaCha20_ctr32
|
||||
.type ChaCha20_ssse3,@function
|
||||
.align 32
|
||||
ChaCha20_ssse3:
|
||||
.LChaCha20_ssse3:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rsp,%r9
|
||||
.cfi_def_cfa_register r9
|
||||
cmpq $128,%rdx
|
||||
|
@ -469,13 +469,13 @@ ChaCha20_ssse3:
|
|||
.cfi_def_cfa_register rsp
|
||||
.Lssse3_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ChaCha20_ssse3,.-ChaCha20_ssse3
|
||||
.type ChaCha20_4x,@function
|
||||
.align 32
|
||||
ChaCha20_4x:
|
||||
.LChaCha20_4x:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rsp,%r9
|
||||
.cfi_def_cfa_register r9
|
||||
movq %r10,%r11
|
||||
|
@ -1021,13 +1021,13 @@ ChaCha20_4x:
|
|||
.cfi_def_cfa_register rsp
|
||||
.L4x_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ChaCha20_4x,.-ChaCha20_4x
|
||||
.type ChaCha20_8x,@function
|
||||
.align 32
|
||||
ChaCha20_8x:
|
||||
.LChaCha20_8x:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rsp,%r9
|
||||
.cfi_def_cfa_register r9
|
||||
subq $0x280+8,%rsp
|
||||
|
@ -1627,7 +1627,7 @@ ChaCha20_8x:
|
|||
.cfi_def_cfa_register rsp
|
||||
.L8x_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ChaCha20_8x,.-ChaCha20_8x
|
||||
#endif
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.data
|
||||
.data
|
||||
|
||||
.align 16
|
||||
one:
|
||||
|
@ -45,11 +45,11 @@ con3:
|
|||
.byte -1,-1,-1,-1,-1,-1,-1,-1,4,5,6,7,4,5,6,7
|
||||
and_mask:
|
||||
.long 0,0xffffffff, 0xffffffff, 0xffffffff
|
||||
.text
|
||||
.text
|
||||
.type GFMUL,@function
|
||||
.align 16
|
||||
GFMUL:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vpclmulqdq $0x00,%xmm1,%xmm0,%xmm2
|
||||
vpclmulqdq $0x11,%xmm1,%xmm0,%xmm5
|
||||
vpclmulqdq $0x10,%xmm1,%xmm0,%xmm3
|
||||
|
@ -70,14 +70,14 @@ GFMUL:
|
|||
|
||||
vpxor %xmm5,%xmm2,%xmm0
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size GFMUL, .-GFMUL
|
||||
.globl aesgcmsiv_htable_init
|
||||
.hidden aesgcmsiv_htable_init
|
||||
.type aesgcmsiv_htable_init,@function
|
||||
.align 16
|
||||
aesgcmsiv_htable_init:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vmovdqa (%rsi),%xmm0
|
||||
vmovdqa %xmm0,%xmm1
|
||||
vmovdqa %xmm0,(%rdi)
|
||||
|
@ -96,14 +96,14 @@ aesgcmsiv_htable_init:
|
|||
call GFMUL
|
||||
vmovdqa %xmm0,112(%rdi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aesgcmsiv_htable_init, .-aesgcmsiv_htable_init
|
||||
.globl aesgcmsiv_htable6_init
|
||||
.hidden aesgcmsiv_htable6_init
|
||||
.type aesgcmsiv_htable6_init,@function
|
||||
.align 16
|
||||
aesgcmsiv_htable6_init:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vmovdqa (%rsi),%xmm0
|
||||
vmovdqa %xmm0,%xmm1
|
||||
vmovdqa %xmm0,(%rdi)
|
||||
|
@ -118,14 +118,14 @@ aesgcmsiv_htable6_init:
|
|||
call GFMUL
|
||||
vmovdqa %xmm0,80(%rdi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aesgcmsiv_htable6_init, .-aesgcmsiv_htable6_init
|
||||
.globl aesgcmsiv_htable_polyval
|
||||
.hidden aesgcmsiv_htable_polyval
|
||||
.type aesgcmsiv_htable_polyval,@function
|
||||
.align 16
|
||||
aesgcmsiv_htable_polyval:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
testq %rdx,%rdx
|
||||
jnz .Lhtable_polyval_start
|
||||
.byte 0xf3,0xc3
|
||||
|
@ -335,14 +335,14 @@ aesgcmsiv_htable_polyval:
|
|||
vmovdqu %xmm1,(%rcx)
|
||||
vzeroupper
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aesgcmsiv_htable_polyval,.-aesgcmsiv_htable_polyval
|
||||
.globl aesgcmsiv_polyval_horner
|
||||
.hidden aesgcmsiv_polyval_horner
|
||||
.type aesgcmsiv_polyval_horner,@function
|
||||
.align 16
|
||||
aesgcmsiv_polyval_horner:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
testq %rcx,%rcx
|
||||
jnz .Lpolyval_horner_start
|
||||
.byte 0xf3,0xc3
|
||||
|
@ -368,14 +368,14 @@ aesgcmsiv_polyval_horner:
|
|||
|
||||
vmovdqa %xmm0,(%rdi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aesgcmsiv_polyval_horner,.-aesgcmsiv_polyval_horner
|
||||
.globl aes128gcmsiv_aes_ks
|
||||
.hidden aes128gcmsiv_aes_ks
|
||||
.type aes128gcmsiv_aes_ks,@function
|
||||
.align 16
|
||||
aes128gcmsiv_aes_ks:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vmovdqu (%rdi),%xmm1
|
||||
vmovdqa %xmm1,(%rsi)
|
||||
|
||||
|
@ -424,14 +424,14 @@ aes128gcmsiv_aes_ks:
|
|||
vpxor %xmm2,%xmm1,%xmm1
|
||||
vmovdqa %xmm1,32(%rsi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes128gcmsiv_aes_ks,.-aes128gcmsiv_aes_ks
|
||||
.globl aes256gcmsiv_aes_ks
|
||||
.hidden aes256gcmsiv_aes_ks
|
||||
.type aes256gcmsiv_aes_ks,@function
|
||||
.align 16
|
||||
aes256gcmsiv_aes_ks:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vmovdqu (%rdi),%xmm1
|
||||
vmovdqu 16(%rdi),%xmm3
|
||||
vmovdqa %xmm1,(%rsi)
|
||||
|
@ -472,13 +472,13 @@ aes256gcmsiv_aes_ks:
|
|||
vpxor %xmm2,%xmm1,%xmm1
|
||||
vmovdqa %xmm1,32(%rsi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.globl aes128gcmsiv_aes_ks_enc_x1
|
||||
.hidden aes128gcmsiv_aes_ks_enc_x1
|
||||
.type aes128gcmsiv_aes_ks_enc_x1,@function
|
||||
.align 16
|
||||
aes128gcmsiv_aes_ks_enc_x1:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vmovdqa (%rcx),%xmm1
|
||||
vmovdqa 0(%rdi),%xmm4
|
||||
|
||||
|
@ -613,14 +613,14 @@ aes128gcmsiv_aes_ks_enc_x1:
|
|||
|
||||
vmovdqa %xmm4,0(%rsi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes128gcmsiv_aes_ks_enc_x1,.-aes128gcmsiv_aes_ks_enc_x1
|
||||
.globl aes128gcmsiv_kdf
|
||||
.hidden aes128gcmsiv_kdf
|
||||
.type aes128gcmsiv_kdf,@function
|
||||
.align 16
|
||||
aes128gcmsiv_kdf:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
|
||||
|
||||
|
||||
|
@ -706,14 +706,14 @@ aes128gcmsiv_kdf:
|
|||
vmovdqa %xmm11,32(%rsi)
|
||||
vmovdqa %xmm12,48(%rsi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes128gcmsiv_kdf,.-aes128gcmsiv_kdf
|
||||
.globl aes128gcmsiv_enc_msg_x4
|
||||
.hidden aes128gcmsiv_enc_msg_x4
|
||||
.type aes128gcmsiv_enc_msg_x4,@function
|
||||
.align 16
|
||||
aes128gcmsiv_enc_msg_x4:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
testq %r8,%r8
|
||||
jnz .L128_enc_msg_x4_start
|
||||
.byte 0xf3,0xc3
|
||||
|
@ -885,14 +885,14 @@ aes128gcmsiv_enc_msg_x4:
|
|||
.cfi_adjust_cfa_offset -8
|
||||
.cfi_restore %r12
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes128gcmsiv_enc_msg_x4,.-aes128gcmsiv_enc_msg_x4
|
||||
.globl aes128gcmsiv_enc_msg_x8
|
||||
.hidden aes128gcmsiv_enc_msg_x8
|
||||
.type aes128gcmsiv_enc_msg_x8,@function
|
||||
.align 16
|
||||
aes128gcmsiv_enc_msg_x8:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
testq %r8,%r8
|
||||
jnz .L128_enc_msg_x8_start
|
||||
.byte 0xf3,0xc3
|
||||
|
@ -1146,14 +1146,14 @@ aes128gcmsiv_enc_msg_x8:
|
|||
.cfi_adjust_cfa_offset -8
|
||||
.cfi_restore %r12
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes128gcmsiv_enc_msg_x8,.-aes128gcmsiv_enc_msg_x8
|
||||
.globl aes128gcmsiv_dec
|
||||
.hidden aes128gcmsiv_dec
|
||||
.type aes128gcmsiv_dec,@function
|
||||
.align 16
|
||||
aes128gcmsiv_dec:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
testq $~15,%r9
|
||||
jnz .L128_dec_start
|
||||
.byte 0xf3,0xc3
|
||||
|
@ -1638,14 +1638,14 @@ aes128gcmsiv_dec:
|
|||
.L128_dec_out:
|
||||
vmovdqu %xmm0,(%rdx)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes128gcmsiv_dec, .-aes128gcmsiv_dec
|
||||
.globl aes128gcmsiv_ecb_enc_block
|
||||
.hidden aes128gcmsiv_ecb_enc_block
|
||||
.type aes128gcmsiv_ecb_enc_block,@function
|
||||
.align 16
|
||||
aes128gcmsiv_ecb_enc_block:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vmovdqa (%rdi),%xmm1
|
||||
|
||||
vpxor (%rdx),%xmm1,%xmm1
|
||||
|
@ -1663,14 +1663,14 @@ aes128gcmsiv_ecb_enc_block:
|
|||
vmovdqa %xmm1,(%rsi)
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes128gcmsiv_ecb_enc_block,.-aes128gcmsiv_ecb_enc_block
|
||||
.globl aes256gcmsiv_aes_ks_enc_x1
|
||||
.hidden aes256gcmsiv_aes_ks_enc_x1
|
||||
.type aes256gcmsiv_aes_ks_enc_x1,@function
|
||||
.align 16
|
||||
aes256gcmsiv_aes_ks_enc_x1:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vmovdqa con1(%rip),%xmm0
|
||||
vmovdqa mask(%rip),%xmm15
|
||||
vmovdqa (%rdi),%xmm8
|
||||
|
@ -1846,14 +1846,14 @@ aes256gcmsiv_aes_ks_enc_x1:
|
|||
|
||||
vmovdqa %xmm8,(%rsi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes256gcmsiv_aes_ks_enc_x1,.-aes256gcmsiv_aes_ks_enc_x1
|
||||
.globl aes256gcmsiv_ecb_enc_block
|
||||
.hidden aes256gcmsiv_ecb_enc_block
|
||||
.type aes256gcmsiv_ecb_enc_block,@function
|
||||
.align 16
|
||||
aes256gcmsiv_ecb_enc_block:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vmovdqa (%rdi),%xmm1
|
||||
vpxor (%rdx),%xmm1,%xmm1
|
||||
vaesenc 16(%rdx),%xmm1,%xmm1
|
||||
|
@ -1872,14 +1872,14 @@ aes256gcmsiv_ecb_enc_block:
|
|||
vaesenclast 224(%rdx),%xmm1,%xmm1
|
||||
vmovdqa %xmm1,(%rsi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes256gcmsiv_ecb_enc_block,.-aes256gcmsiv_ecb_enc_block
|
||||
.globl aes256gcmsiv_enc_msg_x4
|
||||
.hidden aes256gcmsiv_enc_msg_x4
|
||||
.type aes256gcmsiv_enc_msg_x4,@function
|
||||
.align 16
|
||||
aes256gcmsiv_enc_msg_x4:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
testq %r8,%r8
|
||||
jnz .L256_enc_msg_x4_start
|
||||
.byte 0xf3,0xc3
|
||||
|
@ -2073,14 +2073,14 @@ aes256gcmsiv_enc_msg_x4:
|
|||
|
||||
.L256_enc_msg_x4_out:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes256gcmsiv_enc_msg_x4,.-aes256gcmsiv_enc_msg_x4
|
||||
.globl aes256gcmsiv_enc_msg_x8
|
||||
.hidden aes256gcmsiv_enc_msg_x8
|
||||
.type aes256gcmsiv_enc_msg_x8,@function
|
||||
.align 16
|
||||
aes256gcmsiv_enc_msg_x8:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
testq %r8,%r8
|
||||
jnz .L256_enc_msg_x8_start
|
||||
.byte 0xf3,0xc3
|
||||
|
@ -2362,14 +2362,14 @@ aes256gcmsiv_enc_msg_x8:
|
|||
.L256_enc_msg_x8_out:
|
||||
.byte 0xf3,0xc3
|
||||
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes256gcmsiv_enc_msg_x8,.-aes256gcmsiv_enc_msg_x8
|
||||
.globl aes256gcmsiv_dec
|
||||
.hidden aes256gcmsiv_dec
|
||||
.type aes256gcmsiv_dec,@function
|
||||
.align 16
|
||||
aes256gcmsiv_dec:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
testq $~15,%r9
|
||||
jnz .L256_dec_start
|
||||
.byte 0xf3,0xc3
|
||||
|
@ -2922,14 +2922,14 @@ aes256gcmsiv_dec:
|
|||
.L256_dec_out:
|
||||
vmovdqu %xmm0,(%rdx)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes256gcmsiv_dec, .-aes256gcmsiv_dec
|
||||
.globl aes256gcmsiv_kdf
|
||||
.hidden aes256gcmsiv_kdf
|
||||
.type aes256gcmsiv_kdf,@function
|
||||
.align 16
|
||||
aes256gcmsiv_kdf:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
|
||||
|
||||
|
||||
|
@ -3073,7 +3073,7 @@ aes256gcmsiv_kdf:
|
|||
vmovdqa %xmm12,64(%rsi)
|
||||
vmovdqa %xmm13,80(%rsi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes256gcmsiv_kdf, .-aes256gcmsiv_kdf
|
||||
#endif
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
.extern OPENSSL_ia32cap_P
|
||||
.hidden OPENSSL_ia32cap_P
|
||||
|
||||
|
@ -58,7 +58,7 @@ chacha20_poly1305_constants:
|
|||
.type poly_hash_ad_internal,@function
|
||||
.align 64
|
||||
poly_hash_ad_internal:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
xorq %r10,%r10
|
||||
xorq %r11,%r11
|
||||
xorq %r12,%r12
|
||||
|
@ -221,7 +221,7 @@ hash_ad_tail_loop:
|
|||
|
||||
1:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size poly_hash_ad_internal, .-poly_hash_ad_internal
|
||||
|
||||
.globl chacha20_poly1305_open
|
||||
|
@ -229,7 +229,7 @@ hash_ad_tail_loop:
|
|||
.type chacha20_poly1305_open,@function
|
||||
.align 64
|
||||
chacha20_poly1305_open:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_adjust_cfa_offset 8
|
||||
pushq %rbx
|
||||
|
@ -2100,7 +2100,7 @@ open_sse_128:
|
|||
jmp 1b
|
||||
jmp open_sse_tail_16
|
||||
.size chacha20_poly1305_open, .-chacha20_poly1305_open
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
|
||||
|
||||
|
||||
|
@ -2110,7 +2110,7 @@ open_sse_128:
|
|||
.type chacha20_poly1305_seal,@function
|
||||
.align 64
|
||||
chacha20_poly1305_seal:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_adjust_cfa_offset 8
|
||||
pushq %rbx
|
||||
|
@ -8982,6 +8982,6 @@ seal_avx2_short_tail:
|
|||
1:
|
||||
vzeroupper
|
||||
jmp seal_sse_tail_16
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
#endif
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
|
|
|
@ -11,12 +11,12 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
.type _aesni_ctr32_ghash_6x,@function
|
||||
.align 32
|
||||
_aesni_ctr32_ghash_6x:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vmovdqu 32(%r11),%xmm2
|
||||
subq $6,%rdx
|
||||
vpxor %xmm4,%xmm4,%xmm4
|
||||
|
@ -341,14 +341,14 @@ _aesni_ctr32_ghash_6x:
|
|||
vpxor %xmm4,%xmm8,%xmm8
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _aesni_ctr32_ghash_6x,.-_aesni_ctr32_ghash_6x
|
||||
.globl aesni_gcm_decrypt
|
||||
.hidden aesni_gcm_decrypt
|
||||
.type aesni_gcm_decrypt,@function
|
||||
.align 32
|
||||
aesni_gcm_decrypt:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
xorq %r10,%r10
|
||||
|
||||
|
||||
|
@ -455,12 +455,12 @@ aesni_gcm_decrypt:
|
|||
.Lgcm_dec_abort:
|
||||
movq %r10,%rax
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aesni_gcm_decrypt,.-aesni_gcm_decrypt
|
||||
.type _aesni_ctr32_6x,@function
|
||||
.align 32
|
||||
_aesni_ctr32_6x:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vmovdqu 0-128(%rcx),%xmm4
|
||||
vmovdqu 32(%r11),%xmm2
|
||||
leaq -1(%rbp),%r13
|
||||
|
@ -547,7 +547,7 @@ _aesni_ctr32_6x:
|
|||
vpshufb %xmm0,%xmm1,%xmm1
|
||||
vpxor %xmm4,%xmm14,%xmm14
|
||||
jmp .Loop_ctr32
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _aesni_ctr32_6x,.-_aesni_ctr32_6x
|
||||
|
||||
.globl aesni_gcm_encrypt
|
||||
|
@ -555,7 +555,7 @@ _aesni_ctr32_6x:
|
|||
.type aesni_gcm_encrypt,@function
|
||||
.align 32
|
||||
aesni_gcm_encrypt:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
#ifdef BORINGSSL_DISPATCH_TEST
|
||||
.extern BORINGSSL_function_hit
|
||||
.hidden BORINGSSL_function_hit
|
||||
|
@ -833,7 +833,7 @@ aesni_gcm_encrypt:
|
|||
.Lgcm_enc_abort:
|
||||
movq %r10,%rax
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aesni_gcm_encrypt,.-aesni_gcm_encrypt
|
||||
.align 64
|
||||
.Lbswap_mask:
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
.extern OPENSSL_ia32cap_P
|
||||
.hidden OPENSSL_ia32cap_P
|
||||
.globl aes_hw_encrypt
|
||||
|
@ -19,7 +19,7 @@
|
|||
.type aes_hw_encrypt,@function
|
||||
.align 16
|
||||
aes_hw_encrypt:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
#ifdef BORINGSSL_DISPATCH_TEST
|
||||
.extern BORINGSSL_function_hit
|
||||
.hidden BORINGSSL_function_hit
|
||||
|
@ -43,7 +43,7 @@ aes_hw_encrypt:
|
|||
movups %xmm2,(%rsi)
|
||||
pxor %xmm2,%xmm2
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes_hw_encrypt,.-aes_hw_encrypt
|
||||
|
||||
.globl aes_hw_decrypt
|
||||
|
@ -51,7 +51,7 @@ aes_hw_encrypt:
|
|||
.type aes_hw_decrypt,@function
|
||||
.align 16
|
||||
aes_hw_decrypt:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movups (%rdi),%xmm2
|
||||
movl 240(%rdx),%eax
|
||||
movups (%rdx),%xmm0
|
||||
|
@ -70,12 +70,12 @@ aes_hw_decrypt:
|
|||
movups %xmm2,(%rsi)
|
||||
pxor %xmm2,%xmm2
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes_hw_decrypt, .-aes_hw_decrypt
|
||||
.type _aesni_encrypt2,@function
|
||||
.align 16
|
||||
_aesni_encrypt2:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movups (%rcx),%xmm0
|
||||
shll $4,%eax
|
||||
movups 16(%rcx),%xmm1
|
||||
|
@ -101,12 +101,12 @@ _aesni_encrypt2:
|
|||
.byte 102,15,56,221,208
|
||||
.byte 102,15,56,221,216
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _aesni_encrypt2,.-_aesni_encrypt2
|
||||
.type _aesni_decrypt2,@function
|
||||
.align 16
|
||||
_aesni_decrypt2:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movups (%rcx),%xmm0
|
||||
shll $4,%eax
|
||||
movups 16(%rcx),%xmm1
|
||||
|
@ -132,12 +132,12 @@ _aesni_decrypt2:
|
|||
.byte 102,15,56,223,208
|
||||
.byte 102,15,56,223,216
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _aesni_decrypt2,.-_aesni_decrypt2
|
||||
.type _aesni_encrypt3,@function
|
||||
.align 16
|
||||
_aesni_encrypt3:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movups (%rcx),%xmm0
|
||||
shll $4,%eax
|
||||
movups 16(%rcx),%xmm1
|
||||
|
@ -168,12 +168,12 @@ _aesni_encrypt3:
|
|||
.byte 102,15,56,221,216
|
||||
.byte 102,15,56,221,224
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _aesni_encrypt3,.-_aesni_encrypt3
|
||||
.type _aesni_decrypt3,@function
|
||||
.align 16
|
||||
_aesni_decrypt3:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movups (%rcx),%xmm0
|
||||
shll $4,%eax
|
||||
movups 16(%rcx),%xmm1
|
||||
|
@ -204,12 +204,12 @@ _aesni_decrypt3:
|
|||
.byte 102,15,56,223,216
|
||||
.byte 102,15,56,223,224
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _aesni_decrypt3,.-_aesni_decrypt3
|
||||
.type _aesni_encrypt4,@function
|
||||
.align 16
|
||||
_aesni_encrypt4:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movups (%rcx),%xmm0
|
||||
shll $4,%eax
|
||||
movups 16(%rcx),%xmm1
|
||||
|
@ -246,12 +246,12 @@ _aesni_encrypt4:
|
|||
.byte 102,15,56,221,224
|
||||
.byte 102,15,56,221,232
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _aesni_encrypt4,.-_aesni_encrypt4
|
||||
.type _aesni_decrypt4,@function
|
||||
.align 16
|
||||
_aesni_decrypt4:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movups (%rcx),%xmm0
|
||||
shll $4,%eax
|
||||
movups 16(%rcx),%xmm1
|
||||
|
@ -288,12 +288,12 @@ _aesni_decrypt4:
|
|||
.byte 102,15,56,223,224
|
||||
.byte 102,15,56,223,232
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _aesni_decrypt4,.-_aesni_decrypt4
|
||||
.type _aesni_encrypt6,@function
|
||||
.align 16
|
||||
_aesni_encrypt6:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movups (%rcx),%xmm0
|
||||
shll $4,%eax
|
||||
movups 16(%rcx),%xmm1
|
||||
|
@ -344,12 +344,12 @@ _aesni_encrypt6:
|
|||
.byte 102,15,56,221,240
|
||||
.byte 102,15,56,221,248
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _aesni_encrypt6,.-_aesni_encrypt6
|
||||
.type _aesni_decrypt6,@function
|
||||
.align 16
|
||||
_aesni_decrypt6:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movups (%rcx),%xmm0
|
||||
shll $4,%eax
|
||||
movups 16(%rcx),%xmm1
|
||||
|
@ -400,12 +400,12 @@ _aesni_decrypt6:
|
|||
.byte 102,15,56,223,240
|
||||
.byte 102,15,56,223,248
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _aesni_decrypt6,.-_aesni_decrypt6
|
||||
.type _aesni_encrypt8,@function
|
||||
.align 16
|
||||
_aesni_encrypt8:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movups (%rcx),%xmm0
|
||||
shll $4,%eax
|
||||
movups 16(%rcx),%xmm1
|
||||
|
@ -466,12 +466,12 @@ _aesni_encrypt8:
|
|||
.byte 102,68,15,56,221,192
|
||||
.byte 102,68,15,56,221,200
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _aesni_encrypt8,.-_aesni_encrypt8
|
||||
.type _aesni_decrypt8,@function
|
||||
.align 16
|
||||
_aesni_decrypt8:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movups (%rcx),%xmm0
|
||||
shll $4,%eax
|
||||
movups 16(%rcx),%xmm1
|
||||
|
@ -532,14 +532,14 @@ _aesni_decrypt8:
|
|||
.byte 102,68,15,56,223,192
|
||||
.byte 102,68,15,56,223,200
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _aesni_decrypt8,.-_aesni_decrypt8
|
||||
.globl aes_hw_ecb_encrypt
|
||||
.hidden aes_hw_ecb_encrypt
|
||||
.type aes_hw_ecb_encrypt,@function
|
||||
.align 16
|
||||
aes_hw_ecb_encrypt:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
andq $-16,%rdx
|
||||
jz .Lecb_ret
|
||||
|
||||
|
@ -877,14 +877,14 @@ aes_hw_ecb_encrypt:
|
|||
xorps %xmm0,%xmm0
|
||||
pxor %xmm1,%xmm1
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes_hw_ecb_encrypt,.-aes_hw_ecb_encrypt
|
||||
.globl aes_hw_ctr32_encrypt_blocks
|
||||
.hidden aes_hw_ctr32_encrypt_blocks
|
||||
.type aes_hw_ctr32_encrypt_blocks,@function
|
||||
.align 16
|
||||
aes_hw_ctr32_encrypt_blocks:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
#ifdef BORINGSSL_DISPATCH_TEST
|
||||
movb $1,BORINGSSL_function_hit(%rip)
|
||||
#endif
|
||||
|
@ -1460,14 +1460,14 @@ aes_hw_ctr32_encrypt_blocks:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lctr32_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes_hw_ctr32_encrypt_blocks,.-aes_hw_ctr32_encrypt_blocks
|
||||
.globl aes_hw_cbc_encrypt
|
||||
.hidden aes_hw_cbc_encrypt
|
||||
.type aes_hw_cbc_encrypt,@function
|
||||
.align 16
|
||||
aes_hw_cbc_encrypt:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
testq %rdx,%rdx
|
||||
jz .Lcbc_ret
|
||||
|
||||
|
@ -2053,14 +2053,14 @@ aes_hw_cbc_encrypt:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lcbc_ret:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size aes_hw_cbc_encrypt,.-aes_hw_cbc_encrypt
|
||||
.globl aes_hw_set_decrypt_key
|
||||
.hidden aes_hw_set_decrypt_key
|
||||
.type aes_hw_set_decrypt_key,@function
|
||||
.align 16
|
||||
aes_hw_set_decrypt_key:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.byte 0x48,0x83,0xEC,0x08
|
||||
.cfi_adjust_cfa_offset 8
|
||||
call __aesni_set_encrypt_key
|
||||
|
@ -2097,7 +2097,7 @@ aes_hw_set_decrypt_key:
|
|||
addq $8,%rsp
|
||||
.cfi_adjust_cfa_offset -8
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.LSEH_end_set_decrypt_key:
|
||||
.size aes_hw_set_decrypt_key,.-aes_hw_set_decrypt_key
|
||||
.globl aes_hw_set_encrypt_key
|
||||
|
@ -2106,7 +2106,7 @@ aes_hw_set_decrypt_key:
|
|||
.align 16
|
||||
aes_hw_set_encrypt_key:
|
||||
__aesni_set_encrypt_key:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
#ifdef BORINGSSL_DISPATCH_TEST
|
||||
movb $1,BORINGSSL_function_hit+3(%rip)
|
||||
#endif
|
||||
|
@ -2407,7 +2407,7 @@ __aesni_set_encrypt_key:
|
|||
addq $8,%rsp
|
||||
.cfi_adjust_cfa_offset -8
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.LSEH_end_set_encrypt_key:
|
||||
|
||||
.align 16
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
|||
.hidden gcm_gmult_ssse3
|
||||
.align 16
|
||||
gcm_gmult_ssse3:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Lgmult_seh_begin:
|
||||
movdqu (%rdi),%xmm0
|
||||
movdqa .Lreverse_bytes(%rip),%xmm10
|
||||
|
@ -200,7 +200,7 @@ gcm_gmult_ssse3:
|
|||
pxor %xmm6,%xmm6
|
||||
.byte 0xf3,0xc3
|
||||
.Lgmult_seh_end:
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size gcm_gmult_ssse3,.-gcm_gmult_ssse3
|
||||
|
||||
|
||||
|
@ -213,7 +213,7 @@ gcm_gmult_ssse3:
|
|||
.align 16
|
||||
gcm_ghash_ssse3:
|
||||
.Lghash_seh_begin:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movdqu (%rdi),%xmm0
|
||||
movdqa .Lreverse_bytes(%rip),%xmm10
|
||||
movdqa .Llow4_mask(%rip),%xmm11
|
||||
|
@ -412,7 +412,7 @@ gcm_ghash_ssse3:
|
|||
pxor %xmm6,%xmm6
|
||||
.byte 0xf3,0xc3
|
||||
.Lghash_seh_end:
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size gcm_ghash_ssse3,.-gcm_ghash_ssse3
|
||||
|
||||
.align 16
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
.extern OPENSSL_ia32cap_P
|
||||
.hidden OPENSSL_ia32cap_P
|
||||
.globl gcm_init_clmul
|
||||
|
@ -19,7 +19,7 @@
|
|||
.type gcm_init_clmul,@function
|
||||
.align 16
|
||||
gcm_init_clmul:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.L_init_clmul:
|
||||
movdqu (%rsi),%xmm2
|
||||
pshufd $78,%xmm2,%xmm2
|
||||
|
@ -171,14 +171,14 @@ gcm_init_clmul:
|
|||
.byte 102,15,58,15,227,8
|
||||
movdqu %xmm4,80(%rdi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size gcm_init_clmul,.-gcm_init_clmul
|
||||
.globl gcm_gmult_clmul
|
||||
.hidden gcm_gmult_clmul
|
||||
.type gcm_gmult_clmul,@function
|
||||
.align 16
|
||||
gcm_gmult_clmul:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.L_gmult_clmul:
|
||||
movdqu (%rdi),%xmm0
|
||||
movdqa .Lbswap_mask(%rip),%xmm5
|
||||
|
@ -225,14 +225,14 @@ gcm_gmult_clmul:
|
|||
.byte 102,15,56,0,197
|
||||
movdqu %xmm0,(%rdi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size gcm_gmult_clmul,.-gcm_gmult_clmul
|
||||
.globl gcm_ghash_clmul
|
||||
.hidden gcm_ghash_clmul
|
||||
.type gcm_ghash_clmul,@function
|
||||
.align 32
|
||||
gcm_ghash_clmul:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.L_ghash_clmul:
|
||||
movdqa .Lbswap_mask(%rip),%xmm10
|
||||
|
||||
|
@ -612,14 +612,14 @@ gcm_ghash_clmul:
|
|||
.byte 102,65,15,56,0,194
|
||||
movdqu %xmm0,(%rdi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size gcm_ghash_clmul,.-gcm_ghash_clmul
|
||||
.globl gcm_init_avx
|
||||
.hidden gcm_init_avx
|
||||
.type gcm_init_avx,@function
|
||||
.align 32
|
||||
gcm_init_avx:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vzeroupper
|
||||
|
||||
vmovdqu (%rsi),%xmm2
|
||||
|
@ -722,23 +722,23 @@ gcm_init_avx:
|
|||
|
||||
vzeroupper
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size gcm_init_avx,.-gcm_init_avx
|
||||
.globl gcm_gmult_avx
|
||||
.hidden gcm_gmult_avx
|
||||
.type gcm_gmult_avx,@function
|
||||
.align 32
|
||||
gcm_gmult_avx:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
jmp .L_gmult_clmul
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size gcm_gmult_avx,.-gcm_gmult_avx
|
||||
.globl gcm_ghash_avx
|
||||
.hidden gcm_ghash_avx
|
||||
.type gcm_ghash_avx,@function
|
||||
.align 32
|
||||
gcm_ghash_avx:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vzeroupper
|
||||
|
||||
vmovdqu (%rdi),%xmm10
|
||||
|
@ -1110,7 +1110,7 @@ gcm_ghash_avx:
|
|||
vmovdqu %xmm10,(%rdi)
|
||||
vzeroupper
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size gcm_ghash_avx,.-gcm_ghash_avx
|
||||
.align 64
|
||||
.Lbswap_mask:
|
||||
|
|
|
@ -11,14 +11,14 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
.align 16
|
||||
|
||||
.globl md5_block_asm_data_order
|
||||
.hidden md5_block_asm_data_order
|
||||
.type md5_block_asm_data_order,@function
|
||||
md5_block_asm_data_order:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_adjust_cfa_offset 8
|
||||
.cfi_offset rbp,-16
|
||||
|
@ -696,7 +696,7 @@ md5_block_asm_data_order:
|
|||
.cfi_adjust_cfa_offset -40
|
||||
.Lepilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size md5_block_asm_data_order,.-md5_block_asm_data_order
|
||||
#endif
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
.extern OPENSSL_ia32cap_P
|
||||
.hidden OPENSSL_ia32cap_P
|
||||
|
||||
|
@ -42,7 +42,7 @@
|
|||
.type ecp_nistz256_neg,@function
|
||||
.align 32
|
||||
ecp_nistz256_neg:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
pushq %r12
|
||||
.cfi_adjust_cfa_offset 8
|
||||
.cfi_offset %r12,-16
|
||||
|
@ -91,7 +91,7 @@ ecp_nistz256_neg:
|
|||
.cfi_adjust_cfa_offset -16
|
||||
.Lneg_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_neg,.-ecp_nistz256_neg
|
||||
|
||||
|
||||
|
@ -104,7 +104,7 @@ ecp_nistz256_neg:
|
|||
.type ecp_nistz256_ord_mul_mont,@function
|
||||
.align 32
|
||||
ecp_nistz256_ord_mul_mont:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq OPENSSL_ia32cap_P(%rip),%rcx
|
||||
movq 8(%rcx),%rcx
|
||||
andl $0x80100,%ecx
|
||||
|
@ -424,7 +424,7 @@ ecp_nistz256_ord_mul_mont:
|
|||
.cfi_adjust_cfa_offset -48
|
||||
.Lord_mul_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_ord_mul_mont,.-ecp_nistz256_ord_mul_mont
|
||||
|
||||
|
||||
|
@ -438,7 +438,7 @@ ecp_nistz256_ord_mul_mont:
|
|||
.type ecp_nistz256_ord_sqr_mont,@function
|
||||
.align 32
|
||||
ecp_nistz256_ord_sqr_mont:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq OPENSSL_ia32cap_P(%rip),%rcx
|
||||
movq 8(%rcx),%rcx
|
||||
andl $0x80100,%ecx
|
||||
|
@ -728,13 +728,13 @@ ecp_nistz256_ord_sqr_mont:
|
|||
.cfi_adjust_cfa_offset -48
|
||||
.Lord_sqr_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_ord_sqr_mont,.-ecp_nistz256_ord_sqr_mont
|
||||
|
||||
.type ecp_nistz256_ord_mul_montx,@function
|
||||
.align 32
|
||||
ecp_nistz256_ord_mul_montx:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Lecp_nistz256_ord_mul_montx:
|
||||
pushq %rbp
|
||||
.cfi_adjust_cfa_offset 8
|
||||
|
@ -970,13 +970,13 @@ ecp_nistz256_ord_mul_montx:
|
|||
.cfi_adjust_cfa_offset -48
|
||||
.Lord_mulx_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_ord_mul_montx,.-ecp_nistz256_ord_mul_montx
|
||||
|
||||
.type ecp_nistz256_ord_sqr_montx,@function
|
||||
.align 32
|
||||
ecp_nistz256_ord_sqr_montx:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Lecp_nistz256_ord_sqr_montx:
|
||||
pushq %rbp
|
||||
.cfi_adjust_cfa_offset 8
|
||||
|
@ -1184,7 +1184,7 @@ ecp_nistz256_ord_sqr_montx:
|
|||
.cfi_adjust_cfa_offset -48
|
||||
.Lord_sqrx_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_ord_sqr_montx,.-ecp_nistz256_ord_sqr_montx
|
||||
|
||||
|
||||
|
@ -1197,7 +1197,7 @@ ecp_nistz256_ord_sqr_montx:
|
|||
.type ecp_nistz256_mul_mont,@function
|
||||
.align 32
|
||||
ecp_nistz256_mul_mont:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq OPENSSL_ia32cap_P(%rip),%rcx
|
||||
movq 8(%rcx),%rcx
|
||||
andl $0x80100,%ecx
|
||||
|
@ -1261,13 +1261,13 @@ ecp_nistz256_mul_mont:
|
|||
.cfi_adjust_cfa_offset -48
|
||||
.Lmul_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_mul_mont,.-ecp_nistz256_mul_mont
|
||||
|
||||
.type __ecp_nistz256_mul_montq,@function
|
||||
.align 32
|
||||
__ecp_nistz256_mul_montq:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
|
||||
|
||||
movq %rax,%rbp
|
||||
|
@ -1479,7 +1479,7 @@ __ecp_nistz256_mul_montq:
|
|||
movq %r9,24(%rdi)
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __ecp_nistz256_mul_montq,.-__ecp_nistz256_mul_montq
|
||||
|
||||
|
||||
|
@ -1494,7 +1494,7 @@ __ecp_nistz256_mul_montq:
|
|||
.type ecp_nistz256_sqr_mont,@function
|
||||
.align 32
|
||||
ecp_nistz256_sqr_mont:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq OPENSSL_ia32cap_P(%rip),%rcx
|
||||
movq 8(%rcx),%rcx
|
||||
andl $0x80100,%ecx
|
||||
|
@ -1553,13 +1553,13 @@ ecp_nistz256_sqr_mont:
|
|||
.cfi_adjust_cfa_offset -48
|
||||
.Lsqr_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_sqr_mont,.-ecp_nistz256_sqr_mont
|
||||
|
||||
.type __ecp_nistz256_sqr_montq,@function
|
||||
.align 32
|
||||
__ecp_nistz256_sqr_montq:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rax,%r13
|
||||
mulq %r14
|
||||
movq %rax,%r9
|
||||
|
@ -1717,12 +1717,12 @@ __ecp_nistz256_sqr_montq:
|
|||
movq %r15,24(%rdi)
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __ecp_nistz256_sqr_montq,.-__ecp_nistz256_sqr_montq
|
||||
.type __ecp_nistz256_mul_montx,@function
|
||||
.align 32
|
||||
__ecp_nistz256_mul_montx:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
|
||||
|
||||
mulxq %r9,%r8,%r9
|
||||
|
@ -1885,13 +1885,13 @@ __ecp_nistz256_mul_montx:
|
|||
movq %r9,24(%rdi)
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __ecp_nistz256_mul_montx,.-__ecp_nistz256_mul_montx
|
||||
|
||||
.type __ecp_nistz256_sqr_montx,@function
|
||||
.align 32
|
||||
__ecp_nistz256_sqr_montx:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
mulxq %r14,%r9,%r10
|
||||
mulxq %r15,%rcx,%r11
|
||||
xorl %eax,%eax
|
||||
|
@ -2015,7 +2015,7 @@ __ecp_nistz256_sqr_montx:
|
|||
movq %r15,24(%rdi)
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __ecp_nistz256_sqr_montx,.-__ecp_nistz256_sqr_montx
|
||||
|
||||
|
||||
|
@ -2024,7 +2024,7 @@ __ecp_nistz256_sqr_montx:
|
|||
.type ecp_nistz256_select_w5,@function
|
||||
.align 32
|
||||
ecp_nistz256_select_w5:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq OPENSSL_ia32cap_P(%rip),%rax
|
||||
movq 8(%rax),%rax
|
||||
testl $32,%eax
|
||||
|
@ -2080,7 +2080,7 @@ ecp_nistz256_select_w5:
|
|||
movdqu %xmm6,64(%rdi)
|
||||
movdqu %xmm7,80(%rdi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.LSEH_end_ecp_nistz256_select_w5:
|
||||
.size ecp_nistz256_select_w5,.-ecp_nistz256_select_w5
|
||||
|
||||
|
@ -2091,7 +2091,7 @@ ecp_nistz256_select_w5:
|
|||
.type ecp_nistz256_select_w7,@function
|
||||
.align 32
|
||||
ecp_nistz256_select_w7:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq OPENSSL_ia32cap_P(%rip),%rax
|
||||
movq 8(%rax),%rax
|
||||
testl $32,%eax
|
||||
|
@ -2136,7 +2136,7 @@ ecp_nistz256_select_w7:
|
|||
movdqu %xmm4,32(%rdi)
|
||||
movdqu %xmm5,48(%rdi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.LSEH_end_ecp_nistz256_select_w7:
|
||||
.size ecp_nistz256_select_w7,.-ecp_nistz256_select_w7
|
||||
|
||||
|
@ -2144,7 +2144,7 @@ ecp_nistz256_select_w7:
|
|||
.type ecp_nistz256_avx2_select_w5,@function
|
||||
.align 32
|
||||
ecp_nistz256_avx2_select_w5:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Lavx2_select_w5:
|
||||
vzeroupper
|
||||
vmovdqa .LTwo(%rip),%ymm0
|
||||
|
@ -2199,7 +2199,7 @@ ecp_nistz256_avx2_select_w5:
|
|||
vmovdqu %ymm4,64(%rdi)
|
||||
vzeroupper
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.LSEH_end_ecp_nistz256_avx2_select_w5:
|
||||
.size ecp_nistz256_avx2_select_w5,.-ecp_nistz256_avx2_select_w5
|
||||
|
||||
|
@ -2210,7 +2210,7 @@ ecp_nistz256_avx2_select_w5:
|
|||
.type ecp_nistz256_avx2_select_w7,@function
|
||||
.align 32
|
||||
ecp_nistz256_avx2_select_w7:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Lavx2_select_w7:
|
||||
vzeroupper
|
||||
vmovdqa .LThree(%rip),%ymm0
|
||||
|
@ -2280,13 +2280,13 @@ ecp_nistz256_avx2_select_w7:
|
|||
vmovdqu %ymm3,32(%rdi)
|
||||
vzeroupper
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.LSEH_end_ecp_nistz256_avx2_select_w7:
|
||||
.size ecp_nistz256_avx2_select_w7,.-ecp_nistz256_avx2_select_w7
|
||||
.type __ecp_nistz256_add_toq,@function
|
||||
.align 32
|
||||
__ecp_nistz256_add_toq:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
xorq %r11,%r11
|
||||
addq 0(%rbx),%r12
|
||||
adcq 8(%rbx),%r13
|
||||
|
@ -2314,13 +2314,13 @@ __ecp_nistz256_add_toq:
|
|||
movq %r9,24(%rdi)
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __ecp_nistz256_add_toq,.-__ecp_nistz256_add_toq
|
||||
|
||||
.type __ecp_nistz256_sub_fromq,@function
|
||||
.align 32
|
||||
__ecp_nistz256_sub_fromq:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
subq 0(%rbx),%r12
|
||||
sbbq 8(%rbx),%r13
|
||||
movq %r12,%rax
|
||||
|
@ -2347,13 +2347,13 @@ __ecp_nistz256_sub_fromq:
|
|||
movq %r9,24(%rdi)
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __ecp_nistz256_sub_fromq,.-__ecp_nistz256_sub_fromq
|
||||
|
||||
.type __ecp_nistz256_subq,@function
|
||||
.align 32
|
||||
__ecp_nistz256_subq:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
subq %r12,%rax
|
||||
sbbq %r13,%rbp
|
||||
movq %rax,%r12
|
||||
|
@ -2376,13 +2376,13 @@ __ecp_nistz256_subq:
|
|||
cmovnzq %r10,%r9
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __ecp_nistz256_subq,.-__ecp_nistz256_subq
|
||||
|
||||
.type __ecp_nistz256_mul_by_2q,@function
|
||||
.align 32
|
||||
__ecp_nistz256_mul_by_2q:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
xorq %r11,%r11
|
||||
addq %r12,%r12
|
||||
adcq %r13,%r13
|
||||
|
@ -2410,14 +2410,14 @@ __ecp_nistz256_mul_by_2q:
|
|||
movq %r9,24(%rdi)
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __ecp_nistz256_mul_by_2q,.-__ecp_nistz256_mul_by_2q
|
||||
.globl ecp_nistz256_point_double
|
||||
.hidden ecp_nistz256_point_double
|
||||
.type ecp_nistz256_point_double,@function
|
||||
.align 32
|
||||
ecp_nistz256_point_double:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq OPENSSL_ia32cap_P(%rip),%rcx
|
||||
movq 8(%rcx),%rcx
|
||||
andl $0x80100,%ecx
|
||||
|
@ -2644,14 +2644,14 @@ ecp_nistz256_point_double:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lpoint_doubleq_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_point_double,.-ecp_nistz256_point_double
|
||||
.globl ecp_nistz256_point_add
|
||||
.hidden ecp_nistz256_point_add
|
||||
.type ecp_nistz256_point_add,@function
|
||||
.align 32
|
||||
ecp_nistz256_point_add:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq OPENSSL_ia32cap_P(%rip),%rcx
|
||||
movq 8(%rcx),%rcx
|
||||
andl $0x80100,%ecx
|
||||
|
@ -3081,14 +3081,14 @@ ecp_nistz256_point_add:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lpoint_addq_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_point_add,.-ecp_nistz256_point_add
|
||||
.globl ecp_nistz256_point_add_affine
|
||||
.hidden ecp_nistz256_point_add_affine
|
||||
.type ecp_nistz256_point_add_affine,@function
|
||||
.align 32
|
||||
ecp_nistz256_point_add_affine:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq OPENSSL_ia32cap_P(%rip),%rcx
|
||||
movq 8(%rcx),%rcx
|
||||
andl $0x80100,%ecx
|
||||
|
@ -3415,12 +3415,12 @@ ecp_nistz256_point_add_affine:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Ladd_affineq_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_point_add_affine,.-ecp_nistz256_point_add_affine
|
||||
.type __ecp_nistz256_add_tox,@function
|
||||
.align 32
|
||||
__ecp_nistz256_add_tox:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
xorq %r11,%r11
|
||||
adcq 0(%rbx),%r12
|
||||
adcq 8(%rbx),%r13
|
||||
|
@ -3449,13 +3449,13 @@ __ecp_nistz256_add_tox:
|
|||
movq %r9,24(%rdi)
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __ecp_nistz256_add_tox,.-__ecp_nistz256_add_tox
|
||||
|
||||
.type __ecp_nistz256_sub_fromx,@function
|
||||
.align 32
|
||||
__ecp_nistz256_sub_fromx:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
xorq %r11,%r11
|
||||
sbbq 0(%rbx),%r12
|
||||
sbbq 8(%rbx),%r13
|
||||
|
@ -3484,13 +3484,13 @@ __ecp_nistz256_sub_fromx:
|
|||
movq %r9,24(%rdi)
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __ecp_nistz256_sub_fromx,.-__ecp_nistz256_sub_fromx
|
||||
|
||||
.type __ecp_nistz256_subx,@function
|
||||
.align 32
|
||||
__ecp_nistz256_subx:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
xorq %r11,%r11
|
||||
sbbq %r12,%rax
|
||||
sbbq %r13,%rbp
|
||||
|
@ -3515,13 +3515,13 @@ __ecp_nistz256_subx:
|
|||
cmovcq %r10,%r9
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __ecp_nistz256_subx,.-__ecp_nistz256_subx
|
||||
|
||||
.type __ecp_nistz256_mul_by_2x,@function
|
||||
.align 32
|
||||
__ecp_nistz256_mul_by_2x:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
xorq %r11,%r11
|
||||
adcq %r12,%r12
|
||||
adcq %r13,%r13
|
||||
|
@ -3550,12 +3550,12 @@ __ecp_nistz256_mul_by_2x:
|
|||
movq %r9,24(%rdi)
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __ecp_nistz256_mul_by_2x,.-__ecp_nistz256_mul_by_2x
|
||||
.type ecp_nistz256_point_doublex,@function
|
||||
.align 32
|
||||
ecp_nistz256_point_doublex:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Lpoint_doublex:
|
||||
pushq %rbp
|
||||
.cfi_adjust_cfa_offset 8
|
||||
|
@ -3778,12 +3778,12 @@ ecp_nistz256_point_doublex:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lpoint_doublex_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_point_doublex,.-ecp_nistz256_point_doublex
|
||||
.type ecp_nistz256_point_addx,@function
|
||||
.align 32
|
||||
ecp_nistz256_point_addx:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Lpoint_addx:
|
||||
pushq %rbp
|
||||
.cfi_adjust_cfa_offset 8
|
||||
|
@ -4209,12 +4209,12 @@ ecp_nistz256_point_addx:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lpoint_addx_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_point_addx,.-ecp_nistz256_point_addx
|
||||
.type ecp_nistz256_point_add_affinex,@function
|
||||
.align 32
|
||||
ecp_nistz256_point_add_affinex:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Lpoint_add_affinex:
|
||||
pushq %rbp
|
||||
.cfi_adjust_cfa_offset 8
|
||||
|
@ -4537,7 +4537,7 @@ ecp_nistz256_point_add_affinex:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Ladd_affinex_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size ecp_nistz256_point_add_affinex,.-ecp_nistz256_point_add_affinex
|
||||
#endif
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
.type beeu_mod_inverse_vartime,@function
|
||||
.hidden beeu_mod_inverse_vartime
|
||||
|
@ -19,7 +19,7 @@
|
|||
.hidden beeu_mod_inverse_vartime
|
||||
.align 32
|
||||
beeu_mod_inverse_vartime:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_adjust_cfa_offset 8
|
||||
.cfi_offset rbp,-16
|
||||
|
@ -336,7 +336,7 @@ beeu_mod_inverse_vartime:
|
|||
.cfi_adjust_cfa_offset -8
|
||||
.cfi_restore rbp
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
|
||||
.size beeu_mod_inverse_vartime, .-beeu_mod_inverse_vartime
|
||||
#endif
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
@ -21,14 +21,14 @@
|
|||
.type CRYPTO_rdrand,@function
|
||||
.align 16
|
||||
CRYPTO_rdrand:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
xorq %rax,%rax
|
||||
.byte 72,15,199,242
|
||||
|
||||
adcq %rax,%rax
|
||||
movq %rdx,0(%rdi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size CRYPTO_rdrand,.-CRYPTO_rdrand
|
||||
|
||||
|
||||
|
@ -40,7 +40,7 @@ CRYPTO_rdrand:
|
|||
.type CRYPTO_rdrand_multiple8_buf,@function
|
||||
.align 16
|
||||
CRYPTO_rdrand_multiple8_buf:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
testq %rsi,%rsi
|
||||
jz .Lout
|
||||
movq $8,%rdx
|
||||
|
@ -57,7 +57,7 @@ CRYPTO_rdrand_multiple8_buf:
|
|||
.Lerr:
|
||||
xorq %rax,%rax
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size CRYPTO_rdrand_multiple8_buf,.-CRYPTO_rdrand_multiple8_buf
|
||||
#endif
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
|
|
|
@ -11,14 +11,14 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
.globl rsaz_1024_sqr_avx2
|
||||
.hidden rsaz_1024_sqr_avx2
|
||||
.type rsaz_1024_sqr_avx2,@function
|
||||
.align 64
|
||||
rsaz_1024_sqr_avx2:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq (%rsp),%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
pushq %rbx
|
||||
|
@ -665,14 +665,14 @@ rsaz_1024_sqr_avx2:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lsqr_1024_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size rsaz_1024_sqr_avx2,.-rsaz_1024_sqr_avx2
|
||||
.globl rsaz_1024_mul_avx2
|
||||
.hidden rsaz_1024_mul_avx2
|
||||
.type rsaz_1024_mul_avx2,@function
|
||||
.align 64
|
||||
rsaz_1024_mul_avx2:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq (%rsp),%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
pushq %rbx
|
||||
|
@ -1221,14 +1221,14 @@ rsaz_1024_mul_avx2:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lmul_1024_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size rsaz_1024_mul_avx2,.-rsaz_1024_mul_avx2
|
||||
.globl rsaz_1024_red2norm_avx2
|
||||
.hidden rsaz_1024_red2norm_avx2
|
||||
.type rsaz_1024_red2norm_avx2,@function
|
||||
.align 32
|
||||
rsaz_1024_red2norm_avx2:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
subq $-128,%rsi
|
||||
xorq %rax,%rax
|
||||
movq -128(%rsi),%r8
|
||||
|
@ -1420,7 +1420,7 @@ rsaz_1024_red2norm_avx2:
|
|||
movq %rax,120(%rdi)
|
||||
movq %r11,%rax
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size rsaz_1024_red2norm_avx2,.-rsaz_1024_red2norm_avx2
|
||||
|
||||
.globl rsaz_1024_norm2red_avx2
|
||||
|
@ -1428,7 +1428,7 @@ rsaz_1024_red2norm_avx2:
|
|||
.type rsaz_1024_norm2red_avx2,@function
|
||||
.align 32
|
||||
rsaz_1024_norm2red_avx2:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
subq $-128,%rdi
|
||||
movq (%rsi),%r8
|
||||
movl $0x1fffffff,%eax
|
||||
|
@ -1581,14 +1581,14 @@ rsaz_1024_norm2red_avx2:
|
|||
movq %r8,176(%rdi)
|
||||
movq %r8,184(%rdi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size rsaz_1024_norm2red_avx2,.-rsaz_1024_norm2red_avx2
|
||||
.globl rsaz_1024_scatter5_avx2
|
||||
.hidden rsaz_1024_scatter5_avx2
|
||||
.type rsaz_1024_scatter5_avx2,@function
|
||||
.align 32
|
||||
rsaz_1024_scatter5_avx2:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vzeroupper
|
||||
vmovdqu .Lscatter_permd(%rip),%ymm5
|
||||
shll $4,%edx
|
||||
|
@ -1608,7 +1608,7 @@ rsaz_1024_scatter5_avx2:
|
|||
|
||||
vzeroupper
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size rsaz_1024_scatter5_avx2,.-rsaz_1024_scatter5_avx2
|
||||
|
||||
.globl rsaz_1024_gather5_avx2
|
||||
|
@ -1616,7 +1616,7 @@ rsaz_1024_scatter5_avx2:
|
|||
.type rsaz_1024_gather5_avx2,@function
|
||||
.align 32
|
||||
rsaz_1024_gather5_avx2:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
vzeroupper
|
||||
movq %rsp,%r11
|
||||
.cfi_def_cfa_register %r11
|
||||
|
@ -1730,7 +1730,7 @@ rsaz_1024_gather5_avx2:
|
|||
leaq (%r11),%rsp
|
||||
.cfi_def_cfa_register %rsp
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.LSEH_end_rsaz_1024_gather5:
|
||||
.size rsaz_1024_gather5_avx2,.-rsaz_1024_gather5_avx2
|
||||
.align 64
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
.extern OPENSSL_ia32cap_P
|
||||
.hidden OPENSSL_ia32cap_P
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
|||
.type sha1_block_data_order,@function
|
||||
.align 16
|
||||
sha1_block_data_order:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq OPENSSL_ia32cap_P(%rip),%r10
|
||||
movl 0(%r10),%r9d
|
||||
movl 4(%r10),%r8d
|
||||
|
@ -1269,13 +1269,13 @@ sha1_block_data_order:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lepilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size sha1_block_data_order,.-sha1_block_data_order
|
||||
.type sha1_block_data_order_shaext,@function
|
||||
.align 32
|
||||
sha1_block_data_order_shaext:
|
||||
_shaext_shortcut:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movdqu (%rdi),%xmm0
|
||||
movd 16(%rdi),%xmm1
|
||||
movdqa K_XX_XX+160(%rip),%xmm3
|
||||
|
@ -1438,13 +1438,13 @@ _shaext_shortcut:
|
|||
movdqu %xmm0,(%rdi)
|
||||
movd %xmm1,16(%rdi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size sha1_block_data_order_shaext,.-sha1_block_data_order_shaext
|
||||
.type sha1_block_data_order_ssse3,@function
|
||||
.align 16
|
||||
sha1_block_data_order_ssse3:
|
||||
_ssse3_shortcut:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rsp,%r11
|
||||
.cfi_def_cfa_register %r11
|
||||
pushq %rbx
|
||||
|
@ -2626,13 +2626,13 @@ _ssse3_shortcut:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lepilogue_ssse3:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3
|
||||
.type sha1_block_data_order_avx,@function
|
||||
.align 16
|
||||
sha1_block_data_order_avx:
|
||||
_avx_shortcut:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rsp,%r11
|
||||
.cfi_def_cfa_register %r11
|
||||
pushq %rbx
|
||||
|
@ -3754,13 +3754,13 @@ _avx_shortcut:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lepilogue_avx:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size sha1_block_data_order_avx,.-sha1_block_data_order_avx
|
||||
.type sha1_block_data_order_avx2,@function
|
||||
.align 16
|
||||
sha1_block_data_order_avx2:
|
||||
_avx2_shortcut:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rsp,%r11
|
||||
.cfi_def_cfa_register %r11
|
||||
pushq %rbx
|
||||
|
@ -5447,7 +5447,7 @@ _avx2_shortcut:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lepilogue_avx2:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size sha1_block_data_order_avx2,.-sha1_block_data_order_avx2
|
||||
.align 64
|
||||
K_XX_XX:
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
.extern OPENSSL_ia32cap_P
|
||||
.hidden OPENSSL_ia32cap_P
|
||||
|
@ -20,7 +20,7 @@
|
|||
.type sha256_block_data_order,@function
|
||||
.align 16
|
||||
sha256_block_data_order:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq OPENSSL_ia32cap_P(%rip),%r11
|
||||
movl 0(%r11),%r9d
|
||||
movl 4(%r11),%r10d
|
||||
|
@ -1736,7 +1736,7 @@ sha256_block_data_order:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lepilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size sha256_block_data_order,.-sha256_block_data_order
|
||||
.align 64
|
||||
.type K256,@object
|
||||
|
@ -1784,7 +1784,7 @@ K256:
|
|||
.type sha256_block_data_order_ssse3,@function
|
||||
.align 64
|
||||
sha256_block_data_order_ssse3:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Lssse3_shortcut:
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
|
@ -2892,12 +2892,12 @@ sha256_block_data_order_ssse3:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lepilogue_ssse3:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3
|
||||
.type sha256_block_data_order_avx,@function
|
||||
.align 64
|
||||
sha256_block_data_order_avx:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Lavx_shortcut:
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
|
@ -3967,7 +3967,7 @@ sha256_block_data_order_avx:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lepilogue_avx:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size sha256_block_data_order_avx,.-sha256_block_data_order_avx
|
||||
#endif
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
.extern OPENSSL_ia32cap_P
|
||||
.hidden OPENSSL_ia32cap_P
|
||||
|
@ -20,7 +20,7 @@
|
|||
.type sha512_block_data_order,@function
|
||||
.align 16
|
||||
sha512_block_data_order:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq OPENSSL_ia32cap_P(%rip),%r11
|
||||
movl 0(%r11),%r9d
|
||||
movl 4(%r11),%r10d
|
||||
|
@ -1734,7 +1734,7 @@ sha512_block_data_order:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lepilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size sha512_block_data_order,.-sha512_block_data_order
|
||||
.align 64
|
||||
.type K512,@object
|
||||
|
@ -1826,7 +1826,7 @@ K512:
|
|||
.type sha512_block_data_order_avx,@function
|
||||
.align 64
|
||||
sha512_block_data_order_avx:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Lavx_shortcut:
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
|
@ -2986,7 +2986,7 @@ sha512_block_data_order_avx:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lepilogue_avx:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size sha512_block_data_order_avx,.-sha512_block_data_order_avx
|
||||
#endif
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
@ -31,7 +31,7 @@
|
|||
.type _vpaes_encrypt_core,@function
|
||||
.align 16
|
||||
_vpaes_encrypt_core:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rdx,%r9
|
||||
movq $16,%r11
|
||||
movl 240(%rdx),%eax
|
||||
|
@ -112,7 +112,7 @@ _vpaes_encrypt_core:
|
|||
pxor %xmm4,%xmm0
|
||||
.byte 102,15,56,0,193
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _vpaes_encrypt_core,.-_vpaes_encrypt_core
|
||||
|
||||
|
||||
|
@ -147,7 +147,7 @@ _vpaes_encrypt_core:
|
|||
.type _vpaes_encrypt_core_2x,@function
|
||||
.align 16
|
||||
_vpaes_encrypt_core_2x:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rdx,%r9
|
||||
movq $16,%r11
|
||||
movl 240(%rdx),%eax
|
||||
|
@ -287,7 +287,7 @@ _vpaes_encrypt_core_2x:
|
|||
.byte 102,15,56,0,193
|
||||
.byte 102,15,56,0,241
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _vpaes_encrypt_core_2x,.-_vpaes_encrypt_core_2x
|
||||
|
||||
|
||||
|
@ -298,7 +298,7 @@ _vpaes_encrypt_core_2x:
|
|||
.type _vpaes_decrypt_core,@function
|
||||
.align 16
|
||||
_vpaes_decrypt_core:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rdx,%r9
|
||||
movl 240(%rdx),%eax
|
||||
movdqa %xmm9,%xmm1
|
||||
|
@ -395,7 +395,7 @@ _vpaes_decrypt_core:
|
|||
pxor %xmm4,%xmm0
|
||||
.byte 102,15,56,0,194
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _vpaes_decrypt_core,.-_vpaes_decrypt_core
|
||||
|
||||
|
||||
|
@ -406,7 +406,7 @@ _vpaes_decrypt_core:
|
|||
.type _vpaes_schedule_core,@function
|
||||
.align 16
|
||||
_vpaes_schedule_core:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
|
||||
|
||||
|
||||
|
@ -573,7 +573,7 @@ _vpaes_schedule_core:
|
|||
pxor %xmm6,%xmm6
|
||||
pxor %xmm7,%xmm7
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _vpaes_schedule_core,.-_vpaes_schedule_core
|
||||
|
||||
|
||||
|
@ -593,7 +593,7 @@ _vpaes_schedule_core:
|
|||
.type _vpaes_schedule_192_smear,@function
|
||||
.align 16
|
||||
_vpaes_schedule_192_smear:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
pshufd $0x80,%xmm6,%xmm1
|
||||
pshufd $0xFE,%xmm7,%xmm0
|
||||
pxor %xmm1,%xmm6
|
||||
|
@ -602,7 +602,7 @@ _vpaes_schedule_192_smear:
|
|||
movdqa %xmm6,%xmm0
|
||||
movhlps %xmm1,%xmm6
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear
|
||||
|
||||
|
||||
|
@ -626,7 +626,7 @@ _vpaes_schedule_192_smear:
|
|||
.type _vpaes_schedule_round,@function
|
||||
.align 16
|
||||
_vpaes_schedule_round:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
|
||||
pxor %xmm1,%xmm1
|
||||
.byte 102,65,15,58,15,200,15
|
||||
|
@ -680,7 +680,7 @@ _vpaes_schedule_low_round:
|
|||
pxor %xmm7,%xmm0
|
||||
movdqa %xmm0,%xmm7
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _vpaes_schedule_round,.-_vpaes_schedule_round
|
||||
|
||||
|
||||
|
@ -695,7 +695,7 @@ _vpaes_schedule_low_round:
|
|||
.type _vpaes_schedule_transform,@function
|
||||
.align 16
|
||||
_vpaes_schedule_transform:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movdqa %xmm9,%xmm1
|
||||
pandn %xmm0,%xmm1
|
||||
psrld $4,%xmm1
|
||||
|
@ -706,7 +706,7 @@ _vpaes_schedule_transform:
|
|||
.byte 102,15,56,0,193
|
||||
pxor %xmm2,%xmm0
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _vpaes_schedule_transform,.-_vpaes_schedule_transform
|
||||
|
||||
|
||||
|
@ -735,7 +735,7 @@ _vpaes_schedule_transform:
|
|||
.type _vpaes_schedule_mangle,@function
|
||||
.align 16
|
||||
_vpaes_schedule_mangle:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movdqa %xmm0,%xmm4
|
||||
movdqa .Lk_mc_forward(%rip),%xmm5
|
||||
testq %rcx,%rcx
|
||||
|
@ -800,7 +800,7 @@ _vpaes_schedule_mangle:
|
|||
andq $0x30,%r8
|
||||
movdqu %xmm3,(%rdx)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle
|
||||
|
||||
|
||||
|
@ -811,7 +811,7 @@ _vpaes_schedule_mangle:
|
|||
.type vpaes_set_encrypt_key,@function
|
||||
.align 16
|
||||
vpaes_set_encrypt_key:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
#ifdef BORINGSSL_DISPATCH_TEST
|
||||
.extern BORINGSSL_function_hit
|
||||
.hidden BORINGSSL_function_hit
|
||||
|
@ -828,7 +828,7 @@ vpaes_set_encrypt_key:
|
|||
call _vpaes_schedule_core
|
||||
xorl %eax,%eax
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size vpaes_set_encrypt_key,.-vpaes_set_encrypt_key
|
||||
|
||||
.globl vpaes_set_decrypt_key
|
||||
|
@ -836,7 +836,7 @@ vpaes_set_encrypt_key:
|
|||
.type vpaes_set_decrypt_key,@function
|
||||
.align 16
|
||||
vpaes_set_decrypt_key:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movl %esi,%eax
|
||||
shrl $5,%eax
|
||||
addl $5,%eax
|
||||
|
@ -852,7 +852,7 @@ vpaes_set_decrypt_key:
|
|||
call _vpaes_schedule_core
|
||||
xorl %eax,%eax
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size vpaes_set_decrypt_key,.-vpaes_set_decrypt_key
|
||||
|
||||
.globl vpaes_encrypt
|
||||
|
@ -860,7 +860,7 @@ vpaes_set_decrypt_key:
|
|||
.type vpaes_encrypt,@function
|
||||
.align 16
|
||||
vpaes_encrypt:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
#ifdef BORINGSSL_DISPATCH_TEST
|
||||
.extern BORINGSSL_function_hit
|
||||
.hidden BORINGSSL_function_hit
|
||||
|
@ -871,7 +871,7 @@ vpaes_encrypt:
|
|||
call _vpaes_encrypt_core
|
||||
movdqu %xmm0,(%rsi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size vpaes_encrypt,.-vpaes_encrypt
|
||||
|
||||
.globl vpaes_decrypt
|
||||
|
@ -879,20 +879,20 @@ vpaes_encrypt:
|
|||
.type vpaes_decrypt,@function
|
||||
.align 16
|
||||
vpaes_decrypt:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movdqu (%rdi),%xmm0
|
||||
call _vpaes_preheat
|
||||
call _vpaes_decrypt_core
|
||||
movdqu %xmm0,(%rsi)
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size vpaes_decrypt,.-vpaes_decrypt
|
||||
.globl vpaes_cbc_encrypt
|
||||
.hidden vpaes_cbc_encrypt
|
||||
.type vpaes_cbc_encrypt,@function
|
||||
.align 16
|
||||
vpaes_cbc_encrypt:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
xchgq %rcx,%rdx
|
||||
subq $16,%rcx
|
||||
jc .Lcbc_abort
|
||||
|
@ -928,14 +928,14 @@ vpaes_cbc_encrypt:
|
|||
movdqu %xmm6,(%r8)
|
||||
.Lcbc_abort:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size vpaes_cbc_encrypt,.-vpaes_cbc_encrypt
|
||||
.globl vpaes_ctr32_encrypt_blocks
|
||||
.hidden vpaes_ctr32_encrypt_blocks
|
||||
.type vpaes_ctr32_encrypt_blocks,@function
|
||||
.align 16
|
||||
vpaes_ctr32_encrypt_blocks:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
|
||||
xchgq %rcx,%rdx
|
||||
testq %rcx,%rcx
|
||||
|
@ -991,7 +991,7 @@ vpaes_ctr32_encrypt_blocks:
|
|||
.Lctr32_done:
|
||||
.Lctr32_abort:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size vpaes_ctr32_encrypt_blocks,.-vpaes_ctr32_encrypt_blocks
|
||||
|
||||
|
||||
|
@ -1002,7 +1002,7 @@ vpaes_ctr32_encrypt_blocks:
|
|||
.type _vpaes_preheat,@function
|
||||
.align 16
|
||||
_vpaes_preheat:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
leaq .Lk_s0F(%rip),%r10
|
||||
movdqa -32(%r10),%xmm10
|
||||
movdqa -16(%r10),%xmm11
|
||||
|
@ -1012,7 +1012,7 @@ _vpaes_preheat:
|
|||
movdqa 80(%r10),%xmm15
|
||||
movdqa 96(%r10),%xmm14
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size _vpaes_preheat,.-_vpaes_preheat
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
.extern OPENSSL_ia32cap_P
|
||||
.hidden OPENSSL_ia32cap_P
|
||||
|
@ -21,7 +21,7 @@
|
|||
.type bn_mul_mont,@function
|
||||
.align 16
|
||||
bn_mul_mont:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movl %r9d,%r9d
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
|
@ -269,12 +269,12 @@ bn_mul_mont:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lmul_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_mul_mont,.-bn_mul_mont
|
||||
.type bn_mul4x_mont,@function
|
||||
.align 16
|
||||
bn_mul4x_mont:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movl %r9d,%r9d
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
|
@ -703,7 +703,7 @@ bn_mul4x_mont:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lmul4x_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_mul4x_mont,.-bn_mul4x_mont
|
||||
.extern bn_sqrx8x_internal
|
||||
.hidden bn_sqrx8x_internal
|
||||
|
@ -713,7 +713,7 @@ bn_mul4x_mont:
|
|||
.type bn_sqr8x_mont,@function
|
||||
.align 32
|
||||
bn_sqr8x_mont:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
.Lsqr8x_enter:
|
||||
|
@ -896,12 +896,12 @@ bn_sqr8x_mont:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lsqr8x_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_sqr8x_mont,.-bn_sqr8x_mont
|
||||
.type bn_mulx4x_mont,@function
|
||||
.align 32
|
||||
bn_mulx4x_mont:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
.Lmulx4x_enter:
|
||||
|
@ -1252,7 +1252,7 @@ bn_mulx4x_mont:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lmulx4x_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_mulx4x_mont,.-bn_mulx4x_mont
|
||||
.byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
.align 16
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
.extern OPENSSL_ia32cap_P
|
||||
.hidden OPENSSL_ia32cap_P
|
||||
|
@ -21,7 +21,7 @@
|
|||
.type bn_mul_mont_gather5,@function
|
||||
.align 64
|
||||
bn_mul_mont_gather5:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movl %r9d,%r9d
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
|
@ -455,12 +455,12 @@ bn_mul_mont_gather5:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lmul_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_mul_mont_gather5,.-bn_mul_mont_gather5
|
||||
.type bn_mul4x_mont_gather5,@function
|
||||
.align 32
|
||||
bn_mul4x_mont_gather5:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.byte 0x67
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
|
@ -560,13 +560,13 @@ bn_mul4x_mont_gather5:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lmul4x_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_mul4x_mont_gather5,.-bn_mul4x_mont_gather5
|
||||
|
||||
.type mul4x_internal,@function
|
||||
.align 32
|
||||
mul4x_internal:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
shlq $5,%r9
|
||||
movd 8(%rax),%xmm5
|
||||
leaq .Linc(%rip),%rax
|
||||
|
@ -1088,14 +1088,14 @@ mul4x_internal:
|
|||
movq 16(%rbp),%r14
|
||||
movq 24(%rbp),%r15
|
||||
jmp .Lsqr4x_sub_entry
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size mul4x_internal,.-mul4x_internal
|
||||
.globl bn_power5
|
||||
.hidden bn_power5
|
||||
.type bn_power5,@function
|
||||
.align 32
|
||||
bn_power5:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
leaq OPENSSL_ia32cap_P(%rip),%r11
|
||||
|
@ -1224,7 +1224,7 @@ bn_power5:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lpower5_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_power5,.-bn_power5
|
||||
|
||||
.globl bn_sqr8x_internal
|
||||
|
@ -1234,7 +1234,7 @@ bn_power5:
|
|||
.align 32
|
||||
bn_sqr8x_internal:
|
||||
__bn_sqr8x_internal:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
|
||||
|
||||
|
||||
|
@ -2009,12 +2009,12 @@ __bn_sqr8x_reduction:
|
|||
cmpq %rdx,%rdi
|
||||
jb .L8x_reduction_loop
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_sqr8x_internal,.-bn_sqr8x_internal
|
||||
.type __bn_post4x_internal,@function
|
||||
.align 32
|
||||
__bn_post4x_internal:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq 0(%rbp),%r12
|
||||
leaq (%rdi,%r9,1),%rbx
|
||||
movq %r9,%rcx
|
||||
|
@ -2065,25 +2065,25 @@ __bn_post4x_internal:
|
|||
movq %r9,%r10
|
||||
negq %r9
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __bn_post4x_internal,.-__bn_post4x_internal
|
||||
.globl bn_from_montgomery
|
||||
.hidden bn_from_montgomery
|
||||
.type bn_from_montgomery,@function
|
||||
.align 32
|
||||
bn_from_montgomery:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
testl $7,%r9d
|
||||
jz bn_from_mont8x
|
||||
xorl %eax,%eax
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_from_montgomery,.-bn_from_montgomery
|
||||
|
||||
.type bn_from_mont8x,@function
|
||||
.align 32
|
||||
bn_from_mont8x:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.byte 0x67
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
|
@ -2246,12 +2246,12 @@ bn_from_mont8x:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lfrom_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_from_mont8x,.-bn_from_mont8x
|
||||
.type bn_mulx4x_mont_gather5,@function
|
||||
.align 32
|
||||
bn_mulx4x_mont_gather5:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
.Lmulx4x_enter:
|
||||
|
@ -2356,13 +2356,13 @@ bn_mulx4x_mont_gather5:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lmulx4x_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_mulx4x_mont_gather5,.-bn_mulx4x_mont_gather5
|
||||
|
||||
.type mulx4x_internal,@function
|
||||
.align 32
|
||||
mulx4x_internal:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %r9,8(%rsp)
|
||||
movq %r9,%r10
|
||||
negq %r9
|
||||
|
@ -2781,12 +2781,12 @@ mulx4x_internal:
|
|||
movq 16(%rbp),%r14
|
||||
movq 24(%rbp),%r15
|
||||
jmp .Lsqrx4x_sub_entry
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size mulx4x_internal,.-mulx4x_internal
|
||||
.type bn_powerx5,@function
|
||||
.align 32
|
||||
bn_powerx5:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
.Lpowerx5_enter:
|
||||
|
@ -2915,7 +2915,7 @@ bn_powerx5:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.Lpowerx5_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_powerx5,.-bn_powerx5
|
||||
|
||||
.globl bn_sqrx8x_internal
|
||||
|
@ -2925,7 +2925,7 @@ bn_powerx5:
|
|||
.align 32
|
||||
bn_sqrx8x_internal:
|
||||
__bn_sqrx8x_internal:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
|
||||
|
||||
|
||||
|
@ -3537,12 +3537,12 @@ __bn_sqrx8x_reduction:
|
|||
cmpq 8+8(%rsp),%r8
|
||||
jb .Lsqrx8x_reduction_loop
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_sqrx8x_internal,.-bn_sqrx8x_internal
|
||||
.align 32
|
||||
.type __bn_postx4x_internal,@function
|
||||
__bn_postx4x_internal:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
movq 0(%rbp),%r12
|
||||
movq %rcx,%r10
|
||||
movq %rcx,%r9
|
||||
|
@ -3590,14 +3590,14 @@ __bn_postx4x_internal:
|
|||
negq %r9
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size __bn_postx4x_internal,.-__bn_postx4x_internal
|
||||
.globl bn_scatter5
|
||||
.hidden bn_scatter5
|
||||
.type bn_scatter5,@function
|
||||
.align 16
|
||||
bn_scatter5:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
cmpl $0,%esi
|
||||
jz .Lscatter_epilogue
|
||||
leaq (%rdx,%rcx,8),%rdx
|
||||
|
@ -3610,7 +3610,7 @@ bn_scatter5:
|
|||
jnz .Lscatter
|
||||
.Lscatter_epilogue:
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_scatter5,.-bn_scatter5
|
||||
|
||||
.globl bn_gather5
|
||||
|
@ -3618,7 +3618,7 @@ bn_scatter5:
|
|||
.type bn_gather5,@function
|
||||
.align 32
|
||||
bn_gather5:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.LSEH_begin_bn_gather5:
|
||||
|
||||
.byte 0x4c,0x8d,0x14,0x24
|
||||
|
@ -3779,7 +3779,7 @@ bn_gather5:
|
|||
.cfi_def_cfa_register %rsp
|
||||
.byte 0xf3,0xc3
|
||||
.LSEH_end_bn_gather5:
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size bn_gather5,.-bn_gather5
|
||||
.align 64
|
||||
.Linc:
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
|||
.align 16
|
||||
abi_test_trampoline:
|
||||
.Labi_test_trampoline_seh_begin:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
|
||||
|
||||
|
||||
|
@ -181,7 +181,7 @@ abi_test_unwind_stop:
|
|||
|
||||
|
||||
.byte 0xf3,0xc3
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.Labi_test_trampoline_seh_end:
|
||||
.size abi_test_trampoline,.-abi_test_trampoline
|
||||
.type abi_test_clobber_rax, @function
|
||||
|
@ -440,7 +440,7 @@ abi_test_clobber_xmm15:
|
|||
.hidden abi_test_bad_unwind_wrong_register
|
||||
.align 16
|
||||
abi_test_bad_unwind_wrong_register:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Labi_test_bad_unwind_wrong_register_seh_begin:
|
||||
pushq %r12
|
||||
.cfi_adjust_cfa_offset 8
|
||||
|
@ -455,7 +455,7 @@ abi_test_bad_unwind_wrong_register:
|
|||
.cfi_restore %r12
|
||||
.byte 0xf3,0xc3
|
||||
.Labi_test_bad_unwind_wrong_register_seh_end:
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size abi_test_bad_unwind_wrong_register,.-abi_test_bad_unwind_wrong_register
|
||||
|
||||
|
||||
|
@ -466,7 +466,7 @@ abi_test_bad_unwind_wrong_register:
|
|||
.hidden abi_test_bad_unwind_temporary
|
||||
.align 16
|
||||
abi_test_bad_unwind_temporary:
|
||||
.cfi_startproc
|
||||
.cfi_startproc
|
||||
.Labi_test_bad_unwind_temporary_seh_begin:
|
||||
pushq %r12
|
||||
.cfi_adjust_cfa_offset 8
|
||||
|
@ -487,7 +487,7 @@ abi_test_bad_unwind_temporary:
|
|||
.cfi_restore %r12
|
||||
.byte 0xf3,0xc3
|
||||
.Labi_test_bad_unwind_temporary_seh_end:
|
||||
.cfi_endproc
|
||||
.cfi_endproc
|
||||
.size abi_test_bad_unwind_temporary,.-abi_test_bad_unwind_temporary
|
||||
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ L001maw_non_sse2:
|
|||
jz L006maw_finish
|
||||
.align 4,0x90
|
||||
L007maw_loop:
|
||||
# Round 0
|
||||
# Round 0
|
||||
movl (%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -131,7 +131,7 @@ L007maw_loop:
|
|||
adcl $0,%edx
|
||||
movl %eax,(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 4
|
||||
# Round 4
|
||||
movl 4(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -140,7 +140,7 @@ L007maw_loop:
|
|||
adcl $0,%edx
|
||||
movl %eax,4(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 8
|
||||
# Round 8
|
||||
movl 8(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -149,7 +149,7 @@ L007maw_loop:
|
|||
adcl $0,%edx
|
||||
movl %eax,8(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 12
|
||||
# Round 12
|
||||
movl 12(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -158,7 +158,7 @@ L007maw_loop:
|
|||
adcl $0,%edx
|
||||
movl %eax,12(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 16
|
||||
# Round 16
|
||||
movl 16(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -167,7 +167,7 @@ L007maw_loop:
|
|||
adcl $0,%edx
|
||||
movl %eax,16(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 20
|
||||
# Round 20
|
||||
movl 20(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -176,7 +176,7 @@ L007maw_loop:
|
|||
adcl $0,%edx
|
||||
movl %eax,20(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 24
|
||||
# Round 24
|
||||
movl 24(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -185,7 +185,7 @@ L007maw_loop:
|
|||
adcl $0,%edx
|
||||
movl %eax,24(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 28
|
||||
# Round 28
|
||||
movl 28(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -205,7 +205,7 @@ L006maw_finish:
|
|||
jnz L008maw_finish2
|
||||
jmp L009maw_end
|
||||
L008maw_finish2:
|
||||
# Tail Round 0
|
||||
# Tail Round 0
|
||||
movl (%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -216,7 +216,7 @@ L008maw_finish2:
|
|||
movl %eax,(%edi)
|
||||
movl %edx,%esi
|
||||
jz L009maw_end
|
||||
# Tail Round 1
|
||||
# Tail Round 1
|
||||
movl 4(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -227,7 +227,7 @@ L008maw_finish2:
|
|||
movl %eax,4(%edi)
|
||||
movl %edx,%esi
|
||||
jz L009maw_end
|
||||
# Tail Round 2
|
||||
# Tail Round 2
|
||||
movl 8(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -238,7 +238,7 @@ L008maw_finish2:
|
|||
movl %eax,8(%edi)
|
||||
movl %edx,%esi
|
||||
jz L009maw_end
|
||||
# Tail Round 3
|
||||
# Tail Round 3
|
||||
movl 12(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -249,7 +249,7 @@ L008maw_finish2:
|
|||
movl %eax,12(%edi)
|
||||
movl %edx,%esi
|
||||
jz L009maw_end
|
||||
# Tail Round 4
|
||||
# Tail Round 4
|
||||
movl 16(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -260,7 +260,7 @@ L008maw_finish2:
|
|||
movl %eax,16(%edi)
|
||||
movl %edx,%esi
|
||||
jz L009maw_end
|
||||
# Tail Round 5
|
||||
# Tail Round 5
|
||||
movl 20(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -271,7 +271,7 @@ L008maw_finish2:
|
|||
movl %eax,20(%edi)
|
||||
movl %edx,%esi
|
||||
jz L009maw_end
|
||||
# Tail Round 6
|
||||
# Tail Round 6
|
||||
movl 24(%ebx),%eax
|
||||
mull %ebp
|
||||
addl %esi,%eax
|
||||
|
@ -333,56 +333,56 @@ L011mw_non_sse2:
|
|||
andl $4294967288,%ebp
|
||||
jz L013mw_finish
|
||||
L014mw_loop:
|
||||
# Round 0
|
||||
# Round 0
|
||||
movl (%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
adcl $0,%edx
|
||||
movl %eax,(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 4
|
||||
# Round 4
|
||||
movl 4(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
adcl $0,%edx
|
||||
movl %eax,4(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 8
|
||||
# Round 8
|
||||
movl 8(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
adcl $0,%edx
|
||||
movl %eax,8(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 12
|
||||
# Round 12
|
||||
movl 12(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
adcl $0,%edx
|
||||
movl %eax,12(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 16
|
||||
# Round 16
|
||||
movl 16(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
adcl $0,%edx
|
||||
movl %eax,16(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 20
|
||||
# Round 20
|
||||
movl 20(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
adcl $0,%edx
|
||||
movl %eax,20(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 24
|
||||
# Round 24
|
||||
movl 24(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
adcl $0,%edx
|
||||
movl %eax,24(%edi)
|
||||
movl %edx,%esi
|
||||
# Round 28
|
||||
# Round 28
|
||||
movl 28(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
|
@ -401,7 +401,7 @@ L013mw_finish:
|
|||
jnz L015mw_finish2
|
||||
jmp L016mw_end
|
||||
L015mw_finish2:
|
||||
# Tail Round 0
|
||||
# Tail Round 0
|
||||
movl (%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
|
@ -410,7 +410,7 @@ L015mw_finish2:
|
|||
movl %edx,%esi
|
||||
decl %ebp
|
||||
jz L016mw_end
|
||||
# Tail Round 1
|
||||
# Tail Round 1
|
||||
movl 4(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
|
@ -419,7 +419,7 @@ L015mw_finish2:
|
|||
movl %edx,%esi
|
||||
decl %ebp
|
||||
jz L016mw_end
|
||||
# Tail Round 2
|
||||
# Tail Round 2
|
||||
movl 8(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
|
@ -428,7 +428,7 @@ L015mw_finish2:
|
|||
movl %edx,%esi
|
||||
decl %ebp
|
||||
jz L016mw_end
|
||||
# Tail Round 3
|
||||
# Tail Round 3
|
||||
movl 12(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
|
@ -437,7 +437,7 @@ L015mw_finish2:
|
|||
movl %edx,%esi
|
||||
decl %ebp
|
||||
jz L016mw_end
|
||||
# Tail Round 4
|
||||
# Tail Round 4
|
||||
movl 16(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
|
@ -446,7 +446,7 @@ L015mw_finish2:
|
|||
movl %edx,%esi
|
||||
decl %ebp
|
||||
jz L016mw_end
|
||||
# Tail Round 5
|
||||
# Tail Round 5
|
||||
movl 20(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
|
@ -455,7 +455,7 @@ L015mw_finish2:
|
|||
movl %edx,%esi
|
||||
decl %ebp
|
||||
jz L016mw_end
|
||||
# Tail Round 6
|
||||
# Tail Round 6
|
||||
movl 24(%ebx),%eax
|
||||
mull %ecx
|
||||
addl %esi,%eax
|
||||
|
@ -507,42 +507,42 @@ L018sqr_non_sse2:
|
|||
andl $4294967288,%ebx
|
||||
jz L020sw_finish
|
||||
L021sw_loop:
|
||||
# Round 0
|
||||
# Round 0
|
||||
movl (%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,(%esi)
|
||||
movl %edx,4(%esi)
|
||||
# Round 4
|
||||
# Round 4
|
||||
movl 4(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,8(%esi)
|
||||
movl %edx,12(%esi)
|
||||
# Round 8
|
||||
# Round 8
|
||||
movl 8(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,16(%esi)
|
||||
movl %edx,20(%esi)
|
||||
# Round 12
|
||||
# Round 12
|
||||
movl 12(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,24(%esi)
|
||||
movl %edx,28(%esi)
|
||||
# Round 16
|
||||
# Round 16
|
||||
movl 16(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,32(%esi)
|
||||
movl %edx,36(%esi)
|
||||
# Round 20
|
||||
# Round 20
|
||||
movl 20(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,40(%esi)
|
||||
movl %edx,44(%esi)
|
||||
# Round 24
|
||||
# Round 24
|
||||
movl 24(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,48(%esi)
|
||||
movl %edx,52(%esi)
|
||||
# Round 28
|
||||
# Round 28
|
||||
movl 28(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,56(%esi)
|
||||
|
@ -556,49 +556,49 @@ L020sw_finish:
|
|||
movl 28(%esp),%ebx
|
||||
andl $7,%ebx
|
||||
jz L022sw_end
|
||||
# Tail Round 0
|
||||
# Tail Round 0
|
||||
movl (%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,(%esi)
|
||||
decl %ebx
|
||||
movl %edx,4(%esi)
|
||||
jz L022sw_end
|
||||
# Tail Round 1
|
||||
# Tail Round 1
|
||||
movl 4(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,8(%esi)
|
||||
decl %ebx
|
||||
movl %edx,12(%esi)
|
||||
jz L022sw_end
|
||||
# Tail Round 2
|
||||
# Tail Round 2
|
||||
movl 8(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,16(%esi)
|
||||
decl %ebx
|
||||
movl %edx,20(%esi)
|
||||
jz L022sw_end
|
||||
# Tail Round 3
|
||||
# Tail Round 3
|
||||
movl 12(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,24(%esi)
|
||||
decl %ebx
|
||||
movl %edx,28(%esi)
|
||||
jz L022sw_end
|
||||
# Tail Round 4
|
||||
# Tail Round 4
|
||||
movl 16(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,32(%esi)
|
||||
decl %ebx
|
||||
movl %edx,36(%esi)
|
||||
jz L022sw_end
|
||||
# Tail Round 5
|
||||
# Tail Round 5
|
||||
movl 20(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,40(%esi)
|
||||
decl %ebx
|
||||
movl %edx,44(%esi)
|
||||
jz L022sw_end
|
||||
# Tail Round 6
|
||||
# Tail Round 6
|
||||
movl 24(%edi),%eax
|
||||
mull %eax
|
||||
movl %eax,48(%esi)
|
||||
|
@ -637,7 +637,7 @@ L_bn_add_words_begin:
|
|||
andl $4294967288,%ebp
|
||||
jz L023aw_finish
|
||||
L024aw_loop:
|
||||
# Round 0
|
||||
# Round 0
|
||||
movl (%esi),%ecx
|
||||
movl (%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -646,7 +646,7 @@ L024aw_loop:
|
|||
addl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,(%ebx)
|
||||
# Round 1
|
||||
# Round 1
|
||||
movl 4(%esi),%ecx
|
||||
movl 4(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -655,7 +655,7 @@ L024aw_loop:
|
|||
addl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,4(%ebx)
|
||||
# Round 2
|
||||
# Round 2
|
||||
movl 8(%esi),%ecx
|
||||
movl 8(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -664,7 +664,7 @@ L024aw_loop:
|
|||
addl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,8(%ebx)
|
||||
# Round 3
|
||||
# Round 3
|
||||
movl 12(%esi),%ecx
|
||||
movl 12(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -673,7 +673,7 @@ L024aw_loop:
|
|||
addl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,12(%ebx)
|
||||
# Round 4
|
||||
# Round 4
|
||||
movl 16(%esi),%ecx
|
||||
movl 16(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -682,7 +682,7 @@ L024aw_loop:
|
|||
addl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,16(%ebx)
|
||||
# Round 5
|
||||
# Round 5
|
||||
movl 20(%esi),%ecx
|
||||
movl 20(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -691,7 +691,7 @@ L024aw_loop:
|
|||
addl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,20(%ebx)
|
||||
# Round 6
|
||||
# Round 6
|
||||
movl 24(%esi),%ecx
|
||||
movl 24(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -700,7 +700,7 @@ L024aw_loop:
|
|||
addl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,24(%ebx)
|
||||
# Round 7
|
||||
# Round 7
|
||||
movl 28(%esi),%ecx
|
||||
movl 28(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -719,7 +719,7 @@ L023aw_finish:
|
|||
movl 32(%esp),%ebp
|
||||
andl $7,%ebp
|
||||
jz L025aw_end
|
||||
# Tail Round 0
|
||||
# Tail Round 0
|
||||
movl (%esi),%ecx
|
||||
movl (%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -730,7 +730,7 @@ L023aw_finish:
|
|||
decl %ebp
|
||||
movl %ecx,(%ebx)
|
||||
jz L025aw_end
|
||||
# Tail Round 1
|
||||
# Tail Round 1
|
||||
movl 4(%esi),%ecx
|
||||
movl 4(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -741,7 +741,7 @@ L023aw_finish:
|
|||
decl %ebp
|
||||
movl %ecx,4(%ebx)
|
||||
jz L025aw_end
|
||||
# Tail Round 2
|
||||
# Tail Round 2
|
||||
movl 8(%esi),%ecx
|
||||
movl 8(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -752,7 +752,7 @@ L023aw_finish:
|
|||
decl %ebp
|
||||
movl %ecx,8(%ebx)
|
||||
jz L025aw_end
|
||||
# Tail Round 3
|
||||
# Tail Round 3
|
||||
movl 12(%esi),%ecx
|
||||
movl 12(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -763,7 +763,7 @@ L023aw_finish:
|
|||
decl %ebp
|
||||
movl %ecx,12(%ebx)
|
||||
jz L025aw_end
|
||||
# Tail Round 4
|
||||
# Tail Round 4
|
||||
movl 16(%esi),%ecx
|
||||
movl 16(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -774,7 +774,7 @@ L023aw_finish:
|
|||
decl %ebp
|
||||
movl %ecx,16(%ebx)
|
||||
jz L025aw_end
|
||||
# Tail Round 5
|
||||
# Tail Round 5
|
||||
movl 20(%esi),%ecx
|
||||
movl 20(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -785,7 +785,7 @@ L023aw_finish:
|
|||
decl %ebp
|
||||
movl %ecx,20(%ebx)
|
||||
jz L025aw_end
|
||||
# Tail Round 6
|
||||
# Tail Round 6
|
||||
movl 24(%esi),%ecx
|
||||
movl 24(%edi),%edx
|
||||
addl %eax,%ecx
|
||||
|
@ -818,7 +818,7 @@ L_bn_sub_words_begin:
|
|||
andl $4294967288,%ebp
|
||||
jz L026aw_finish
|
||||
L027aw_loop:
|
||||
# Round 0
|
||||
# Round 0
|
||||
movl (%esi),%ecx
|
||||
movl (%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -827,7 +827,7 @@ L027aw_loop:
|
|||
subl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,(%ebx)
|
||||
# Round 1
|
||||
# Round 1
|
||||
movl 4(%esi),%ecx
|
||||
movl 4(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -836,7 +836,7 @@ L027aw_loop:
|
|||
subl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,4(%ebx)
|
||||
# Round 2
|
||||
# Round 2
|
||||
movl 8(%esi),%ecx
|
||||
movl 8(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -845,7 +845,7 @@ L027aw_loop:
|
|||
subl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,8(%ebx)
|
||||
# Round 3
|
||||
# Round 3
|
||||
movl 12(%esi),%ecx
|
||||
movl 12(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -854,7 +854,7 @@ L027aw_loop:
|
|||
subl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,12(%ebx)
|
||||
# Round 4
|
||||
# Round 4
|
||||
movl 16(%esi),%ecx
|
||||
movl 16(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -863,7 +863,7 @@ L027aw_loop:
|
|||
subl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,16(%ebx)
|
||||
# Round 5
|
||||
# Round 5
|
||||
movl 20(%esi),%ecx
|
||||
movl 20(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -872,7 +872,7 @@ L027aw_loop:
|
|||
subl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,20(%ebx)
|
||||
# Round 6
|
||||
# Round 6
|
||||
movl 24(%esi),%ecx
|
||||
movl 24(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -881,7 +881,7 @@ L027aw_loop:
|
|||
subl %edx,%ecx
|
||||
adcl $0,%eax
|
||||
movl %ecx,24(%ebx)
|
||||
# Round 7
|
||||
# Round 7
|
||||
movl 28(%esi),%ecx
|
||||
movl 28(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -900,7 +900,7 @@ L026aw_finish:
|
|||
movl 32(%esp),%ebp
|
||||
andl $7,%ebp
|
||||
jz L028aw_end
|
||||
# Tail Round 0
|
||||
# Tail Round 0
|
||||
movl (%esi),%ecx
|
||||
movl (%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -911,7 +911,7 @@ L026aw_finish:
|
|||
decl %ebp
|
||||
movl %ecx,(%ebx)
|
||||
jz L028aw_end
|
||||
# Tail Round 1
|
||||
# Tail Round 1
|
||||
movl 4(%esi),%ecx
|
||||
movl 4(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -922,7 +922,7 @@ L026aw_finish:
|
|||
decl %ebp
|
||||
movl %ecx,4(%ebx)
|
||||
jz L028aw_end
|
||||
# Tail Round 2
|
||||
# Tail Round 2
|
||||
movl 8(%esi),%ecx
|
||||
movl 8(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -933,7 +933,7 @@ L026aw_finish:
|
|||
decl %ebp
|
||||
movl %ecx,8(%ebx)
|
||||
jz L028aw_end
|
||||
# Tail Round 3
|
||||
# Tail Round 3
|
||||
movl 12(%esi),%ecx
|
||||
movl 12(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -944,7 +944,7 @@ L026aw_finish:
|
|||
decl %ebp
|
||||
movl %ecx,12(%ebx)
|
||||
jz L028aw_end
|
||||
# Tail Round 4
|
||||
# Tail Round 4
|
||||
movl 16(%esi),%ecx
|
||||
movl 16(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -955,7 +955,7 @@ L026aw_finish:
|
|||
decl %ebp
|
||||
movl %ecx,16(%ebx)
|
||||
jz L028aw_end
|
||||
# Tail Round 5
|
||||
# Tail Round 5
|
||||
movl 20(%esi),%ecx
|
||||
movl 20(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
@ -966,7 +966,7 @@ L026aw_finish:
|
|||
decl %ebp
|
||||
movl %ecx,20(%ebx)
|
||||
jz L028aw_end
|
||||
# Tail Round 6
|
||||
# Tail Round 6
|
||||
movl 24(%esi),%ecx
|
||||
movl 24(%edi),%edx
|
||||
subl %eax,%ecx
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -28,10 +28,10 @@ L_md5_block_asm_data_order_begin:
|
|||
movl 12(%edi),%edx
|
||||
L000start:
|
||||
|
||||
# R0 section
|
||||
# R0 section
|
||||
movl %ecx,%edi
|
||||
movl (%esi),%ebp
|
||||
# R0 0
|
||||
# R0 0
|
||||
xorl %edx,%edi
|
||||
andl %ebx,%edi
|
||||
leal 3614090360(%eax,%ebp,1),%eax
|
||||
|
@ -41,7 +41,7 @@ L000start:
|
|||
roll $7,%eax
|
||||
movl 4(%esi),%ebp
|
||||
addl %ebx,%eax
|
||||
# R0 1
|
||||
# R0 1
|
||||
xorl %ecx,%edi
|
||||
andl %eax,%edi
|
||||
leal 3905402710(%edx,%ebp,1),%edx
|
||||
|
@ -51,7 +51,7 @@ L000start:
|
|||
roll $12,%edx
|
||||
movl 8(%esi),%ebp
|
||||
addl %eax,%edx
|
||||
# R0 2
|
||||
# R0 2
|
||||
xorl %ebx,%edi
|
||||
andl %edx,%edi
|
||||
leal 606105819(%ecx,%ebp,1),%ecx
|
||||
|
@ -61,7 +61,7 @@ L000start:
|
|||
roll $17,%ecx
|
||||
movl 12(%esi),%ebp
|
||||
addl %edx,%ecx
|
||||
# R0 3
|
||||
# R0 3
|
||||
xorl %eax,%edi
|
||||
andl %ecx,%edi
|
||||
leal 3250441966(%ebx,%ebp,1),%ebx
|
||||
|
@ -71,7 +71,7 @@ L000start:
|
|||
roll $22,%ebx
|
||||
movl 16(%esi),%ebp
|
||||
addl %ecx,%ebx
|
||||
# R0 4
|
||||
# R0 4
|
||||
xorl %edx,%edi
|
||||
andl %ebx,%edi
|
||||
leal 4118548399(%eax,%ebp,1),%eax
|
||||
|
@ -81,7 +81,7 @@ L000start:
|
|||
roll $7,%eax
|
||||
movl 20(%esi),%ebp
|
||||
addl %ebx,%eax
|
||||
# R0 5
|
||||
# R0 5
|
||||
xorl %ecx,%edi
|
||||
andl %eax,%edi
|
||||
leal 1200080426(%edx,%ebp,1),%edx
|
||||
|
@ -91,7 +91,7 @@ L000start:
|
|||
roll $12,%edx
|
||||
movl 24(%esi),%ebp
|
||||
addl %eax,%edx
|
||||
# R0 6
|
||||
# R0 6
|
||||
xorl %ebx,%edi
|
||||
andl %edx,%edi
|
||||
leal 2821735955(%ecx,%ebp,1),%ecx
|
||||
|
@ -101,7 +101,7 @@ L000start:
|
|||
roll $17,%ecx
|
||||
movl 28(%esi),%ebp
|
||||
addl %edx,%ecx
|
||||
# R0 7
|
||||
# R0 7
|
||||
xorl %eax,%edi
|
||||
andl %ecx,%edi
|
||||
leal 4249261313(%ebx,%ebp,1),%ebx
|
||||
|
@ -111,7 +111,7 @@ L000start:
|
|||
roll $22,%ebx
|
||||
movl 32(%esi),%ebp
|
||||
addl %ecx,%ebx
|
||||
# R0 8
|
||||
# R0 8
|
||||
xorl %edx,%edi
|
||||
andl %ebx,%edi
|
||||
leal 1770035416(%eax,%ebp,1),%eax
|
||||
|
@ -121,7 +121,7 @@ L000start:
|
|||
roll $7,%eax
|
||||
movl 36(%esi),%ebp
|
||||
addl %ebx,%eax
|
||||
# R0 9
|
||||
# R0 9
|
||||
xorl %ecx,%edi
|
||||
andl %eax,%edi
|
||||
leal 2336552879(%edx,%ebp,1),%edx
|
||||
|
@ -131,7 +131,7 @@ L000start:
|
|||
roll $12,%edx
|
||||
movl 40(%esi),%ebp
|
||||
addl %eax,%edx
|
||||
# R0 10
|
||||
# R0 10
|
||||
xorl %ebx,%edi
|
||||
andl %edx,%edi
|
||||
leal 4294925233(%ecx,%ebp,1),%ecx
|
||||
|
@ -141,7 +141,7 @@ L000start:
|
|||
roll $17,%ecx
|
||||
movl 44(%esi),%ebp
|
||||
addl %edx,%ecx
|
||||
# R0 11
|
||||
# R0 11
|
||||
xorl %eax,%edi
|
||||
andl %ecx,%edi
|
||||
leal 2304563134(%ebx,%ebp,1),%ebx
|
||||
|
@ -151,7 +151,7 @@ L000start:
|
|||
roll $22,%ebx
|
||||
movl 48(%esi),%ebp
|
||||
addl %ecx,%ebx
|
||||
# R0 12
|
||||
# R0 12
|
||||
xorl %edx,%edi
|
||||
andl %ebx,%edi
|
||||
leal 1804603682(%eax,%ebp,1),%eax
|
||||
|
@ -161,7 +161,7 @@ L000start:
|
|||
roll $7,%eax
|
||||
movl 52(%esi),%ebp
|
||||
addl %ebx,%eax
|
||||
# R0 13
|
||||
# R0 13
|
||||
xorl %ecx,%edi
|
||||
andl %eax,%edi
|
||||
leal 4254626195(%edx,%ebp,1),%edx
|
||||
|
@ -171,7 +171,7 @@ L000start:
|
|||
roll $12,%edx
|
||||
movl 56(%esi),%ebp
|
||||
addl %eax,%edx
|
||||
# R0 14
|
||||
# R0 14
|
||||
xorl %ebx,%edi
|
||||
andl %edx,%edi
|
||||
leal 2792965006(%ecx,%ebp,1),%ecx
|
||||
|
@ -181,7 +181,7 @@ L000start:
|
|||
roll $17,%ecx
|
||||
movl 60(%esi),%ebp
|
||||
addl %edx,%ecx
|
||||
# R0 15
|
||||
# R0 15
|
||||
xorl %eax,%edi
|
||||
andl %ecx,%edi
|
||||
leal 1236535329(%ebx,%ebp,1),%ebx
|
||||
|
@ -192,8 +192,8 @@ L000start:
|
|||
movl 4(%esi),%ebp
|
||||
addl %ecx,%ebx
|
||||
|
||||
# R1 section
|
||||
# R1 16
|
||||
# R1 section
|
||||
# R1 16
|
||||
leal 4129170786(%eax,%ebp,1),%eax
|
||||
xorl %ebx,%edi
|
||||
andl %edx,%edi
|
||||
|
@ -203,7 +203,7 @@ L000start:
|
|||
movl %ebx,%edi
|
||||
roll $5,%eax
|
||||
addl %ebx,%eax
|
||||
# R1 17
|
||||
# R1 17
|
||||
leal 3225465664(%edx,%ebp,1),%edx
|
||||
xorl %eax,%edi
|
||||
andl %ecx,%edi
|
||||
|
@ -213,7 +213,7 @@ L000start:
|
|||
movl %eax,%edi
|
||||
roll $9,%edx
|
||||
addl %eax,%edx
|
||||
# R1 18
|
||||
# R1 18
|
||||
leal 643717713(%ecx,%ebp,1),%ecx
|
||||
xorl %edx,%edi
|
||||
andl %ebx,%edi
|
||||
|
@ -223,7 +223,7 @@ L000start:
|
|||
movl %edx,%edi
|
||||
roll $14,%ecx
|
||||
addl %edx,%ecx
|
||||
# R1 19
|
||||
# R1 19
|
||||
leal 3921069994(%ebx,%ebp,1),%ebx
|
||||
xorl %ecx,%edi
|
||||
andl %eax,%edi
|
||||
|
@ -233,7 +233,7 @@ L000start:
|
|||
movl %ecx,%edi
|
||||
roll $20,%ebx
|
||||
addl %ecx,%ebx
|
||||
# R1 20
|
||||
# R1 20
|
||||
leal 3593408605(%eax,%ebp,1),%eax
|
||||
xorl %ebx,%edi
|
||||
andl %edx,%edi
|
||||
|
@ -243,7 +243,7 @@ L000start:
|
|||
movl %ebx,%edi
|
||||
roll $5,%eax
|
||||
addl %ebx,%eax
|
||||
# R1 21
|
||||
# R1 21
|
||||
leal 38016083(%edx,%ebp,1),%edx
|
||||
xorl %eax,%edi
|
||||
andl %ecx,%edi
|
||||
|
@ -253,7 +253,7 @@ L000start:
|
|||
movl %eax,%edi
|
||||
roll $9,%edx
|
||||
addl %eax,%edx
|
||||
# R1 22
|
||||
# R1 22
|
||||
leal 3634488961(%ecx,%ebp,1),%ecx
|
||||
xorl %edx,%edi
|
||||
andl %ebx,%edi
|
||||
|
@ -263,7 +263,7 @@ L000start:
|
|||
movl %edx,%edi
|
||||
roll $14,%ecx
|
||||
addl %edx,%ecx
|
||||
# R1 23
|
||||
# R1 23
|
||||
leal 3889429448(%ebx,%ebp,1),%ebx
|
||||
xorl %ecx,%edi
|
||||
andl %eax,%edi
|
||||
|
@ -273,7 +273,7 @@ L000start:
|
|||
movl %ecx,%edi
|
||||
roll $20,%ebx
|
||||
addl %ecx,%ebx
|
||||
# R1 24
|
||||
# R1 24
|
||||
leal 568446438(%eax,%ebp,1),%eax
|
||||
xorl %ebx,%edi
|
||||
andl %edx,%edi
|
||||
|
@ -283,7 +283,7 @@ L000start:
|
|||
movl %ebx,%edi
|
||||
roll $5,%eax
|
||||
addl %ebx,%eax
|
||||
# R1 25
|
||||
# R1 25
|
||||
leal 3275163606(%edx,%ebp,1),%edx
|
||||
xorl %eax,%edi
|
||||
andl %ecx,%edi
|
||||
|
@ -293,7 +293,7 @@ L000start:
|
|||
movl %eax,%edi
|
||||
roll $9,%edx
|
||||
addl %eax,%edx
|
||||
# R1 26
|
||||
# R1 26
|
||||
leal 4107603335(%ecx,%ebp,1),%ecx
|
||||
xorl %edx,%edi
|
||||
andl %ebx,%edi
|
||||
|
@ -303,7 +303,7 @@ L000start:
|
|||
movl %edx,%edi
|
||||
roll $14,%ecx
|
||||
addl %edx,%ecx
|
||||
# R1 27
|
||||
# R1 27
|
||||
leal 1163531501(%ebx,%ebp,1),%ebx
|
||||
xorl %ecx,%edi
|
||||
andl %eax,%edi
|
||||
|
@ -313,7 +313,7 @@ L000start:
|
|||
movl %ecx,%edi
|
||||
roll $20,%ebx
|
||||
addl %ecx,%ebx
|
||||
# R1 28
|
||||
# R1 28
|
||||
leal 2850285829(%eax,%ebp,1),%eax
|
||||
xorl %ebx,%edi
|
||||
andl %edx,%edi
|
||||
|
@ -323,7 +323,7 @@ L000start:
|
|||
movl %ebx,%edi
|
||||
roll $5,%eax
|
||||
addl %ebx,%eax
|
||||
# R1 29
|
||||
# R1 29
|
||||
leal 4243563512(%edx,%ebp,1),%edx
|
||||
xorl %eax,%edi
|
||||
andl %ecx,%edi
|
||||
|
@ -333,7 +333,7 @@ L000start:
|
|||
movl %eax,%edi
|
||||
roll $9,%edx
|
||||
addl %eax,%edx
|
||||
# R1 30
|
||||
# R1 30
|
||||
leal 1735328473(%ecx,%ebp,1),%ecx
|
||||
xorl %edx,%edi
|
||||
andl %ebx,%edi
|
||||
|
@ -343,7 +343,7 @@ L000start:
|
|||
movl %edx,%edi
|
||||
roll $14,%ecx
|
||||
addl %edx,%ecx
|
||||
# R1 31
|
||||
# R1 31
|
||||
leal 2368359562(%ebx,%ebp,1),%ebx
|
||||
xorl %ecx,%edi
|
||||
andl %eax,%edi
|
||||
|
@ -354,8 +354,8 @@ L000start:
|
|||
roll $20,%ebx
|
||||
addl %ecx,%ebx
|
||||
|
||||
# R2 section
|
||||
# R2 32
|
||||
# R2 section
|
||||
# R2 32
|
||||
xorl %edx,%edi
|
||||
xorl %ebx,%edi
|
||||
leal 4294588738(%eax,%ebp,1),%eax
|
||||
|
@ -363,7 +363,7 @@ L000start:
|
|||
roll $4,%eax
|
||||
movl 32(%esi),%ebp
|
||||
movl %ebx,%edi
|
||||
# R2 33
|
||||
# R2 33
|
||||
leal 2272392833(%edx,%ebp,1),%edx
|
||||
addl %ebx,%eax
|
||||
xorl %ecx,%edi
|
||||
|
@ -373,7 +373,7 @@ L000start:
|
|||
movl %eax,%edi
|
||||
roll $11,%edx
|
||||
addl %eax,%edx
|
||||
# R2 34
|
||||
# R2 34
|
||||
xorl %ebx,%edi
|
||||
xorl %edx,%edi
|
||||
leal 1839030562(%ecx,%ebp,1),%ecx
|
||||
|
@ -381,7 +381,7 @@ L000start:
|
|||
roll $16,%ecx
|
||||
movl 56(%esi),%ebp
|
||||
movl %edx,%edi
|
||||
# R2 35
|
||||
# R2 35
|
||||
leal 4259657740(%ebx,%ebp,1),%ebx
|
||||
addl %edx,%ecx
|
||||
xorl %eax,%edi
|
||||
|
@ -391,7 +391,7 @@ L000start:
|
|||
movl %ecx,%edi
|
||||
roll $23,%ebx
|
||||
addl %ecx,%ebx
|
||||
# R2 36
|
||||
# R2 36
|
||||
xorl %edx,%edi
|
||||
xorl %ebx,%edi
|
||||
leal 2763975236(%eax,%ebp,1),%eax
|
||||
|
@ -399,7 +399,7 @@ L000start:
|
|||
roll $4,%eax
|
||||
movl 16(%esi),%ebp
|
||||
movl %ebx,%edi
|
||||
# R2 37
|
||||
# R2 37
|
||||
leal 1272893353(%edx,%ebp,1),%edx
|
||||
addl %ebx,%eax
|
||||
xorl %ecx,%edi
|
||||
|
@ -409,7 +409,7 @@ L000start:
|
|||
movl %eax,%edi
|
||||
roll $11,%edx
|
||||
addl %eax,%edx
|
||||
# R2 38
|
||||
# R2 38
|
||||
xorl %ebx,%edi
|
||||
xorl %edx,%edi
|
||||
leal 4139469664(%ecx,%ebp,1),%ecx
|
||||
|
@ -417,7 +417,7 @@ L000start:
|
|||
roll $16,%ecx
|
||||
movl 40(%esi),%ebp
|
||||
movl %edx,%edi
|
||||
# R2 39
|
||||
# R2 39
|
||||
leal 3200236656(%ebx,%ebp,1),%ebx
|
||||
addl %edx,%ecx
|
||||
xorl %eax,%edi
|
||||
|
@ -427,7 +427,7 @@ L000start:
|
|||
movl %ecx,%edi
|
||||
roll $23,%ebx
|
||||
addl %ecx,%ebx
|
||||
# R2 40
|
||||
# R2 40
|
||||
xorl %edx,%edi
|
||||
xorl %ebx,%edi
|
||||
leal 681279174(%eax,%ebp,1),%eax
|
||||
|
@ -435,7 +435,7 @@ L000start:
|
|||
roll $4,%eax
|
||||
movl (%esi),%ebp
|
||||
movl %ebx,%edi
|
||||
# R2 41
|
||||
# R2 41
|
||||
leal 3936430074(%edx,%ebp,1),%edx
|
||||
addl %ebx,%eax
|
||||
xorl %ecx,%edi
|
||||
|
@ -445,7 +445,7 @@ L000start:
|
|||
movl %eax,%edi
|
||||
roll $11,%edx
|
||||
addl %eax,%edx
|
||||
# R2 42
|
||||
# R2 42
|
||||
xorl %ebx,%edi
|
||||
xorl %edx,%edi
|
||||
leal 3572445317(%ecx,%ebp,1),%ecx
|
||||
|
@ -453,7 +453,7 @@ L000start:
|
|||
roll $16,%ecx
|
||||
movl 24(%esi),%ebp
|
||||
movl %edx,%edi
|
||||
# R2 43
|
||||
# R2 43
|
||||
leal 76029189(%ebx,%ebp,1),%ebx
|
||||
addl %edx,%ecx
|
||||
xorl %eax,%edi
|
||||
|
@ -463,7 +463,7 @@ L000start:
|
|||
movl %ecx,%edi
|
||||
roll $23,%ebx
|
||||
addl %ecx,%ebx
|
||||
# R2 44
|
||||
# R2 44
|
||||
xorl %edx,%edi
|
||||
xorl %ebx,%edi
|
||||
leal 3654602809(%eax,%ebp,1),%eax
|
||||
|
@ -471,7 +471,7 @@ L000start:
|
|||
roll $4,%eax
|
||||
movl 48(%esi),%ebp
|
||||
movl %ebx,%edi
|
||||
# R2 45
|
||||
# R2 45
|
||||
leal 3873151461(%edx,%ebp,1),%edx
|
||||
addl %ebx,%eax
|
||||
xorl %ecx,%edi
|
||||
|
@ -481,7 +481,7 @@ L000start:
|
|||
movl %eax,%edi
|
||||
roll $11,%edx
|
||||
addl %eax,%edx
|
||||
# R2 46
|
||||
# R2 46
|
||||
xorl %ebx,%edi
|
||||
xorl %edx,%edi
|
||||
leal 530742520(%ecx,%ebp,1),%ecx
|
||||
|
@ -489,7 +489,7 @@ L000start:
|
|||
roll $16,%ecx
|
||||
movl 8(%esi),%ebp
|
||||
movl %edx,%edi
|
||||
# R2 47
|
||||
# R2 47
|
||||
leal 3299628645(%ebx,%ebp,1),%ebx
|
||||
addl %edx,%ecx
|
||||
xorl %eax,%edi
|
||||
|
@ -500,8 +500,8 @@ L000start:
|
|||
roll $23,%ebx
|
||||
addl %ecx,%ebx
|
||||
|
||||
# R3 section
|
||||
# R3 48
|
||||
# R3 section
|
||||
# R3 48
|
||||
xorl %edx,%edi
|
||||
orl %ebx,%edi
|
||||
leal 4096336452(%eax,%ebp,1),%eax
|
||||
|
@ -512,7 +512,7 @@ L000start:
|
|||
roll $6,%eax
|
||||
xorl %ecx,%edi
|
||||
addl %ebx,%eax
|
||||
# R3 49
|
||||
# R3 49
|
||||
orl %eax,%edi
|
||||
leal 1126891415(%edx,%ebp,1),%edx
|
||||
xorl %ebx,%edi
|
||||
|
@ -522,7 +522,7 @@ L000start:
|
|||
roll $10,%edx
|
||||
xorl %ebx,%edi
|
||||
addl %eax,%edx
|
||||
# R3 50
|
||||
# R3 50
|
||||
orl %edx,%edi
|
||||
leal 2878612391(%ecx,%ebp,1),%ecx
|
||||
xorl %eax,%edi
|
||||
|
@ -532,7 +532,7 @@ L000start:
|
|||
roll $15,%ecx
|
||||
xorl %eax,%edi
|
||||
addl %edx,%ecx
|
||||
# R3 51
|
||||
# R3 51
|
||||
orl %ecx,%edi
|
||||
leal 4237533241(%ebx,%ebp,1),%ebx
|
||||
xorl %edx,%edi
|
||||
|
@ -542,7 +542,7 @@ L000start:
|
|||
roll $21,%ebx
|
||||
xorl %edx,%edi
|
||||
addl %ecx,%ebx
|
||||
# R3 52
|
||||
# R3 52
|
||||
orl %ebx,%edi
|
||||
leal 1700485571(%eax,%ebp,1),%eax
|
||||
xorl %ecx,%edi
|
||||
|
@ -552,7 +552,7 @@ L000start:
|
|||
roll $6,%eax
|
||||
xorl %ecx,%edi
|
||||
addl %ebx,%eax
|
||||
# R3 53
|
||||
# R3 53
|
||||
orl %eax,%edi
|
||||
leal 2399980690(%edx,%ebp,1),%edx
|
||||
xorl %ebx,%edi
|
||||
|
@ -562,7 +562,7 @@ L000start:
|
|||
roll $10,%edx
|
||||
xorl %ebx,%edi
|
||||
addl %eax,%edx
|
||||
# R3 54
|
||||
# R3 54
|
||||
orl %edx,%edi
|
||||
leal 4293915773(%ecx,%ebp,1),%ecx
|
||||
xorl %eax,%edi
|
||||
|
@ -572,7 +572,7 @@ L000start:
|
|||
roll $15,%ecx
|
||||
xorl %eax,%edi
|
||||
addl %edx,%ecx
|
||||
# R3 55
|
||||
# R3 55
|
||||
orl %ecx,%edi
|
||||
leal 2240044497(%ebx,%ebp,1),%ebx
|
||||
xorl %edx,%edi
|
||||
|
@ -582,7 +582,7 @@ L000start:
|
|||
roll $21,%ebx
|
||||
xorl %edx,%edi
|
||||
addl %ecx,%ebx
|
||||
# R3 56
|
||||
# R3 56
|
||||
orl %ebx,%edi
|
||||
leal 1873313359(%eax,%ebp,1),%eax
|
||||
xorl %ecx,%edi
|
||||
|
@ -592,7 +592,7 @@ L000start:
|
|||
roll $6,%eax
|
||||
xorl %ecx,%edi
|
||||
addl %ebx,%eax
|
||||
# R3 57
|
||||
# R3 57
|
||||
orl %eax,%edi
|
||||
leal 4264355552(%edx,%ebp,1),%edx
|
||||
xorl %ebx,%edi
|
||||
|
@ -602,7 +602,7 @@ L000start:
|
|||
roll $10,%edx
|
||||
xorl %ebx,%edi
|
||||
addl %eax,%edx
|
||||
# R3 58
|
||||
# R3 58
|
||||
orl %edx,%edi
|
||||
leal 2734768916(%ecx,%ebp,1),%ecx
|
||||
xorl %eax,%edi
|
||||
|
@ -612,7 +612,7 @@ L000start:
|
|||
roll $15,%ecx
|
||||
xorl %eax,%edi
|
||||
addl %edx,%ecx
|
||||
# R3 59
|
||||
# R3 59
|
||||
orl %ecx,%edi
|
||||
leal 1309151649(%ebx,%ebp,1),%ebx
|
||||
xorl %edx,%edi
|
||||
|
@ -622,7 +622,7 @@ L000start:
|
|||
roll $21,%ebx
|
||||
xorl %edx,%edi
|
||||
addl %ecx,%ebx
|
||||
# R3 60
|
||||
# R3 60
|
||||
orl %ebx,%edi
|
||||
leal 4149444226(%eax,%ebp,1),%eax
|
||||
xorl %ecx,%edi
|
||||
|
@ -632,7 +632,7 @@ L000start:
|
|||
roll $6,%eax
|
||||
xorl %ecx,%edi
|
||||
addl %ebx,%eax
|
||||
# R3 61
|
||||
# R3 61
|
||||
orl %eax,%edi
|
||||
leal 3174756917(%edx,%ebp,1),%edx
|
||||
xorl %ebx,%edi
|
||||
|
@ -642,7 +642,7 @@ L000start:
|
|||
roll $10,%edx
|
||||
xorl %ebx,%edi
|
||||
addl %eax,%edx
|
||||
# R3 62
|
||||
# R3 62
|
||||
orl %edx,%edi
|
||||
leal 718787259(%ecx,%ebp,1),%ecx
|
||||
xorl %eax,%edi
|
||||
|
@ -652,7 +652,7 @@ L000start:
|
|||
roll $15,%ecx
|
||||
xorl %eax,%edi
|
||||
addl %edx,%ecx
|
||||
# R3 63
|
||||
# R3 63
|
||||
orl %ecx,%edi
|
||||
leal 3951481745(%ebx,%ebp,1),%ebx
|
||||
xorl %edx,%edi
|
||||
|
|
|
@ -99,7 +99,7 @@ L002loop:
|
|||
movl 4(%ebp),%ebx
|
||||
movl 8(%ebp),%ecx
|
||||
movl 12(%ebp),%edx
|
||||
# 00_15 0
|
||||
# 00_15 0
|
||||
movl %ecx,%esi
|
||||
movl %eax,%ebp
|
||||
roll $5,%ebp
|
||||
|
@ -111,7 +111,7 @@ L002loop:
|
|||
xorl %edx,%esi
|
||||
leal 1518500249(%ebp,%edi,1),%ebp
|
||||
addl %esi,%ebp
|
||||
# 00_15 1
|
||||
# 00_15 1
|
||||
movl %ebx,%edi
|
||||
movl %ebp,%esi
|
||||
roll $5,%ebp
|
||||
|
@ -123,7 +123,7 @@ L002loop:
|
|||
xorl %ecx,%edi
|
||||
leal 1518500249(%ebp,%edx,1),%ebp
|
||||
addl %edi,%ebp
|
||||
# 00_15 2
|
||||
# 00_15 2
|
||||
movl %eax,%edx
|
||||
movl %ebp,%edi
|
||||
roll $5,%ebp
|
||||
|
@ -135,7 +135,7 @@ L002loop:
|
|||
xorl %ebx,%edx
|
||||
leal 1518500249(%ebp,%ecx,1),%ebp
|
||||
addl %edx,%ebp
|
||||
# 00_15 3
|
||||
# 00_15 3
|
||||
movl %esi,%ecx
|
||||
movl %ebp,%edx
|
||||
roll $5,%ebp
|
||||
|
@ -147,7 +147,7 @@ L002loop:
|
|||
xorl %eax,%ecx
|
||||
leal 1518500249(%ebp,%ebx,1),%ebp
|
||||
addl %ecx,%ebp
|
||||
# 00_15 4
|
||||
# 00_15 4
|
||||
movl %edi,%ebx
|
||||
movl %ebp,%ecx
|
||||
roll $5,%ebp
|
||||
|
@ -159,7 +159,7 @@ L002loop:
|
|||
xorl %esi,%ebx
|
||||
leal 1518500249(%ebp,%eax,1),%ebp
|
||||
addl %ebx,%ebp
|
||||
# 00_15 5
|
||||
# 00_15 5
|
||||
movl %edx,%eax
|
||||
movl %ebp,%ebx
|
||||
roll $5,%ebp
|
||||
|
@ -171,7 +171,7 @@ L002loop:
|
|||
xorl %edi,%eax
|
||||
leal 1518500249(%ebp,%esi,1),%ebp
|
||||
addl %eax,%ebp
|
||||
# 00_15 6
|
||||
# 00_15 6
|
||||
movl %ecx,%esi
|
||||
movl %ebp,%eax
|
||||
roll $5,%ebp
|
||||
|
@ -183,7 +183,7 @@ L002loop:
|
|||
xorl %edx,%esi
|
||||
leal 1518500249(%ebp,%edi,1),%ebp
|
||||
addl %esi,%ebp
|
||||
# 00_15 7
|
||||
# 00_15 7
|
||||
movl %ebx,%edi
|
||||
movl %ebp,%esi
|
||||
roll $5,%ebp
|
||||
|
@ -195,7 +195,7 @@ L002loop:
|
|||
xorl %ecx,%edi
|
||||
leal 1518500249(%ebp,%edx,1),%ebp
|
||||
addl %edi,%ebp
|
||||
# 00_15 8
|
||||
# 00_15 8
|
||||
movl %eax,%edx
|
||||
movl %ebp,%edi
|
||||
roll $5,%ebp
|
||||
|
@ -207,7 +207,7 @@ L002loop:
|
|||
xorl %ebx,%edx
|
||||
leal 1518500249(%ebp,%ecx,1),%ebp
|
||||
addl %edx,%ebp
|
||||
# 00_15 9
|
||||
# 00_15 9
|
||||
movl %esi,%ecx
|
||||
movl %ebp,%edx
|
||||
roll $5,%ebp
|
||||
|
@ -219,7 +219,7 @@ L002loop:
|
|||
xorl %eax,%ecx
|
||||
leal 1518500249(%ebp,%ebx,1),%ebp
|
||||
addl %ecx,%ebp
|
||||
# 00_15 10
|
||||
# 00_15 10
|
||||
movl %edi,%ebx
|
||||
movl %ebp,%ecx
|
||||
roll $5,%ebp
|
||||
|
@ -231,7 +231,7 @@ L002loop:
|
|||
xorl %esi,%ebx
|
||||
leal 1518500249(%ebp,%eax,1),%ebp
|
||||
addl %ebx,%ebp
|
||||
# 00_15 11
|
||||
# 00_15 11
|
||||
movl %edx,%eax
|
||||
movl %ebp,%ebx
|
||||
roll $5,%ebp
|
||||
|
@ -243,7 +243,7 @@ L002loop:
|
|||
xorl %edi,%eax
|
||||
leal 1518500249(%ebp,%esi,1),%ebp
|
||||
addl %eax,%ebp
|
||||
# 00_15 12
|
||||
# 00_15 12
|
||||
movl %ecx,%esi
|
||||
movl %ebp,%eax
|
||||
roll $5,%ebp
|
||||
|
@ -255,7 +255,7 @@ L002loop:
|
|||
xorl %edx,%esi
|
||||
leal 1518500249(%ebp,%edi,1),%ebp
|
||||
addl %esi,%ebp
|
||||
# 00_15 13
|
||||
# 00_15 13
|
||||
movl %ebx,%edi
|
||||
movl %ebp,%esi
|
||||
roll $5,%ebp
|
||||
|
@ -267,7 +267,7 @@ L002loop:
|
|||
xorl %ecx,%edi
|
||||
leal 1518500249(%ebp,%edx,1),%ebp
|
||||
addl %edi,%ebp
|
||||
# 00_15 14
|
||||
# 00_15 14
|
||||
movl %eax,%edx
|
||||
movl %ebp,%edi
|
||||
roll $5,%ebp
|
||||
|
@ -279,7 +279,7 @@ L002loop:
|
|||
xorl %ebx,%edx
|
||||
leal 1518500249(%ebp,%ecx,1),%ebp
|
||||
addl %edx,%ebp
|
||||
# 00_15 15
|
||||
# 00_15 15
|
||||
movl %esi,%ecx
|
||||
movl %ebp,%edx
|
||||
roll $5,%ebp
|
||||
|
@ -292,7 +292,7 @@ L002loop:
|
|||
leal 1518500249(%ebp,%ebx,1),%ebp
|
||||
movl (%esp),%ebx
|
||||
addl %ebp,%ecx
|
||||
# 16_19 16
|
||||
# 16_19 16
|
||||
movl %edi,%ebp
|
||||
xorl 8(%esp),%ebx
|
||||
xorl %esi,%ebp
|
||||
|
@ -309,7 +309,7 @@ L002loop:
|
|||
leal 1518500249(%ebx,%eax,1),%ebx
|
||||
movl 4(%esp),%eax
|
||||
addl %ebp,%ebx
|
||||
# 16_19 17
|
||||
# 16_19 17
|
||||
movl %edx,%ebp
|
||||
xorl 12(%esp),%eax
|
||||
xorl %edi,%ebp
|
||||
|
@ -326,7 +326,7 @@ L002loop:
|
|||
leal 1518500249(%eax,%esi,1),%eax
|
||||
movl 8(%esp),%esi
|
||||
addl %ebp,%eax
|
||||
# 16_19 18
|
||||
# 16_19 18
|
||||
movl %ecx,%ebp
|
||||
xorl 16(%esp),%esi
|
||||
xorl %edx,%ebp
|
||||
|
@ -343,7 +343,7 @@ L002loop:
|
|||
leal 1518500249(%esi,%edi,1),%esi
|
||||
movl 12(%esp),%edi
|
||||
addl %ebp,%esi
|
||||
# 16_19 19
|
||||
# 16_19 19
|
||||
movl %ebx,%ebp
|
||||
xorl 20(%esp),%edi
|
||||
xorl %ecx,%ebp
|
||||
|
@ -360,7 +360,7 @@ L002loop:
|
|||
leal 1518500249(%edi,%edx,1),%edi
|
||||
movl 16(%esp),%edx
|
||||
addl %ebp,%edi
|
||||
# 20_39 20
|
||||
# 20_39 20
|
||||
movl %esi,%ebp
|
||||
xorl 24(%esp),%edx
|
||||
xorl %eax,%ebp
|
||||
|
@ -376,7 +376,7 @@ L002loop:
|
|||
leal 1859775393(%edx,%ecx,1),%edx
|
||||
movl 20(%esp),%ecx
|
||||
addl %ebp,%edx
|
||||
# 20_39 21
|
||||
# 20_39 21
|
||||
movl %edi,%ebp
|
||||
xorl 28(%esp),%ecx
|
||||
xorl %esi,%ebp
|
||||
|
@ -392,7 +392,7 @@ L002loop:
|
|||
leal 1859775393(%ecx,%ebx,1),%ecx
|
||||
movl 24(%esp),%ebx
|
||||
addl %ebp,%ecx
|
||||
# 20_39 22
|
||||
# 20_39 22
|
||||
movl %edx,%ebp
|
||||
xorl 32(%esp),%ebx
|
||||
xorl %edi,%ebp
|
||||
|
@ -408,7 +408,7 @@ L002loop:
|
|||
leal 1859775393(%ebx,%eax,1),%ebx
|
||||
movl 28(%esp),%eax
|
||||
addl %ebp,%ebx
|
||||
# 20_39 23
|
||||
# 20_39 23
|
||||
movl %ecx,%ebp
|
||||
xorl 36(%esp),%eax
|
||||
xorl %edx,%ebp
|
||||
|
@ -424,7 +424,7 @@ L002loop:
|
|||
leal 1859775393(%eax,%esi,1),%eax
|
||||
movl 32(%esp),%esi
|
||||
addl %ebp,%eax
|
||||
# 20_39 24
|
||||
# 20_39 24
|
||||
movl %ebx,%ebp
|
||||
xorl 40(%esp),%esi
|
||||
xorl %ecx,%ebp
|
||||
|
@ -440,7 +440,7 @@ L002loop:
|
|||
leal 1859775393(%esi,%edi,1),%esi
|
||||
movl 36(%esp),%edi
|
||||
addl %ebp,%esi
|
||||
# 20_39 25
|
||||
# 20_39 25
|
||||
movl %eax,%ebp
|
||||
xorl 44(%esp),%edi
|
||||
xorl %ebx,%ebp
|
||||
|
@ -456,7 +456,7 @@ L002loop:
|
|||
leal 1859775393(%edi,%edx,1),%edi
|
||||
movl 40(%esp),%edx
|
||||
addl %ebp,%edi
|
||||
# 20_39 26
|
||||
# 20_39 26
|
||||
movl %esi,%ebp
|
||||
xorl 48(%esp),%edx
|
||||
xorl %eax,%ebp
|
||||
|
@ -472,7 +472,7 @@ L002loop:
|
|||
leal 1859775393(%edx,%ecx,1),%edx
|
||||
movl 44(%esp),%ecx
|
||||
addl %ebp,%edx
|
||||
# 20_39 27
|
||||
# 20_39 27
|
||||
movl %edi,%ebp
|
||||
xorl 52(%esp),%ecx
|
||||
xorl %esi,%ebp
|
||||
|
@ -488,7 +488,7 @@ L002loop:
|
|||
leal 1859775393(%ecx,%ebx,1),%ecx
|
||||
movl 48(%esp),%ebx
|
||||
addl %ebp,%ecx
|
||||
# 20_39 28
|
||||
# 20_39 28
|
||||
movl %edx,%ebp
|
||||
xorl 56(%esp),%ebx
|
||||
xorl %edi,%ebp
|
||||
|
@ -504,7 +504,7 @@ L002loop:
|
|||
leal 1859775393(%ebx,%eax,1),%ebx
|
||||
movl 52(%esp),%eax
|
||||
addl %ebp,%ebx
|
||||
# 20_39 29
|
||||
# 20_39 29
|
||||
movl %ecx,%ebp
|
||||
xorl 60(%esp),%eax
|
||||
xorl %edx,%ebp
|
||||
|
@ -520,7 +520,7 @@ L002loop:
|
|||
leal 1859775393(%eax,%esi,1),%eax
|
||||
movl 56(%esp),%esi
|
||||
addl %ebp,%eax
|
||||
# 20_39 30
|
||||
# 20_39 30
|
||||
movl %ebx,%ebp
|
||||
xorl (%esp),%esi
|
||||
xorl %ecx,%ebp
|
||||
|
@ -536,7 +536,7 @@ L002loop:
|
|||
leal 1859775393(%esi,%edi,1),%esi
|
||||
movl 60(%esp),%edi
|
||||
addl %ebp,%esi
|
||||
# 20_39 31
|
||||
# 20_39 31
|
||||
movl %eax,%ebp
|
||||
xorl 4(%esp),%edi
|
||||
xorl %ebx,%ebp
|
||||
|
@ -552,7 +552,7 @@ L002loop:
|
|||
leal 1859775393(%edi,%edx,1),%edi
|
||||
movl (%esp),%edx
|
||||
addl %ebp,%edi
|
||||
# 20_39 32
|
||||
# 20_39 32
|
||||
movl %esi,%ebp
|
||||
xorl 8(%esp),%edx
|
||||
xorl %eax,%ebp
|
||||
|
@ -568,7 +568,7 @@ L002loop:
|
|||
leal 1859775393(%edx,%ecx,1),%edx
|
||||
movl 4(%esp),%ecx
|
||||
addl %ebp,%edx
|
||||
# 20_39 33
|
||||
# 20_39 33
|
||||
movl %edi,%ebp
|
||||
xorl 12(%esp),%ecx
|
||||
xorl %esi,%ebp
|
||||
|
@ -584,7 +584,7 @@ L002loop:
|
|||
leal 1859775393(%ecx,%ebx,1),%ecx
|
||||
movl 8(%esp),%ebx
|
||||
addl %ebp,%ecx
|
||||
# 20_39 34
|
||||
# 20_39 34
|
||||
movl %edx,%ebp
|
||||
xorl 16(%esp),%ebx
|
||||
xorl %edi,%ebp
|
||||
|
@ -600,7 +600,7 @@ L002loop:
|
|||
leal 1859775393(%ebx,%eax,1),%ebx
|
||||
movl 12(%esp),%eax
|
||||
addl %ebp,%ebx
|
||||
# 20_39 35
|
||||
# 20_39 35
|
||||
movl %ecx,%ebp
|
||||
xorl 20(%esp),%eax
|
||||
xorl %edx,%ebp
|
||||
|
@ -616,7 +616,7 @@ L002loop:
|
|||
leal 1859775393(%eax,%esi,1),%eax
|
||||
movl 16(%esp),%esi
|
||||
addl %ebp,%eax
|
||||
# 20_39 36
|
||||
# 20_39 36
|
||||
movl %ebx,%ebp
|
||||
xorl 24(%esp),%esi
|
||||
xorl %ecx,%ebp
|
||||
|
@ -632,7 +632,7 @@ L002loop:
|
|||
leal 1859775393(%esi,%edi,1),%esi
|
||||
movl 20(%esp),%edi
|
||||
addl %ebp,%esi
|
||||
# 20_39 37
|
||||
# 20_39 37
|
||||
movl %eax,%ebp
|
||||
xorl 28(%esp),%edi
|
||||
xorl %ebx,%ebp
|
||||
|
@ -648,7 +648,7 @@ L002loop:
|
|||
leal 1859775393(%edi,%edx,1),%edi
|
||||
movl 24(%esp),%edx
|
||||
addl %ebp,%edi
|
||||
# 20_39 38
|
||||
# 20_39 38
|
||||
movl %esi,%ebp
|
||||
xorl 32(%esp),%edx
|
||||
xorl %eax,%ebp
|
||||
|
@ -664,7 +664,7 @@ L002loop:
|
|||
leal 1859775393(%edx,%ecx,1),%edx
|
||||
movl 28(%esp),%ecx
|
||||
addl %ebp,%edx
|
||||
# 20_39 39
|
||||
# 20_39 39
|
||||
movl %edi,%ebp
|
||||
xorl 36(%esp),%ecx
|
||||
xorl %esi,%ebp
|
||||
|
@ -680,7 +680,7 @@ L002loop:
|
|||
leal 1859775393(%ecx,%ebx,1),%ecx
|
||||
movl 32(%esp),%ebx
|
||||
addl %ebp,%ecx
|
||||
# 40_59 40
|
||||
# 40_59 40
|
||||
movl %edi,%ebp
|
||||
xorl 40(%esp),%ebx
|
||||
xorl %esi,%ebp
|
||||
|
@ -699,7 +699,7 @@ L002loop:
|
|||
andl %esi,%ebp
|
||||
movl 36(%esp),%eax
|
||||
addl %ebp,%ebx
|
||||
# 40_59 41
|
||||
# 40_59 41
|
||||
movl %edx,%ebp
|
||||
xorl 44(%esp),%eax
|
||||
xorl %edi,%ebp
|
||||
|
@ -718,7 +718,7 @@ L002loop:
|
|||
andl %edi,%ebp
|
||||
movl 40(%esp),%esi
|
||||
addl %ebp,%eax
|
||||
# 40_59 42
|
||||
# 40_59 42
|
||||
movl %ecx,%ebp
|
||||
xorl 48(%esp),%esi
|
||||
xorl %edx,%ebp
|
||||
|
@ -737,7 +737,7 @@ L002loop:
|
|||
andl %edx,%ebp
|
||||
movl 44(%esp),%edi
|
||||
addl %ebp,%esi
|
||||
# 40_59 43
|
||||
# 40_59 43
|
||||
movl %ebx,%ebp
|
||||
xorl 52(%esp),%edi
|
||||
xorl %ecx,%ebp
|
||||
|
@ -756,7 +756,7 @@ L002loop:
|
|||
andl %ecx,%ebp
|
||||
movl 48(%esp),%edx
|
||||
addl %ebp,%edi
|
||||
# 40_59 44
|
||||
# 40_59 44
|
||||
movl %eax,%ebp
|
||||
xorl 56(%esp),%edx
|
||||
xorl %ebx,%ebp
|
||||
|
@ -775,7 +775,7 @@ L002loop:
|
|||
andl %ebx,%ebp
|
||||
movl 52(%esp),%ecx
|
||||
addl %ebp,%edx
|
||||
# 40_59 45
|
||||
# 40_59 45
|
||||
movl %esi,%ebp
|
||||
xorl 60(%esp),%ecx
|
||||
xorl %eax,%ebp
|
||||
|
@ -794,7 +794,7 @@ L002loop:
|
|||
andl %eax,%ebp
|
||||
movl 56(%esp),%ebx
|
||||
addl %ebp,%ecx
|
||||
# 40_59 46
|
||||
# 40_59 46
|
||||
movl %edi,%ebp
|
||||
xorl (%esp),%ebx
|
||||
xorl %esi,%ebp
|
||||
|
@ -813,7 +813,7 @@ L002loop:
|
|||
andl %esi,%ebp
|
||||
movl 60(%esp),%eax
|
||||
addl %ebp,%ebx
|
||||
# 40_59 47
|
||||
# 40_59 47
|
||||
movl %edx,%ebp
|
||||
xorl 4(%esp),%eax
|
||||
xorl %edi,%ebp
|
||||
|
@ -832,7 +832,7 @@ L002loop:
|
|||
andl %edi,%ebp
|
||||
movl (%esp),%esi
|
||||
addl %ebp,%eax
|
||||
# 40_59 48
|
||||
# 40_59 48
|
||||
movl %ecx,%ebp
|
||||
xorl 8(%esp),%esi
|
||||
xorl %edx,%ebp
|
||||
|
@ -851,7 +851,7 @@ L002loop:
|
|||
andl %edx,%ebp
|
||||
movl 4(%esp),%edi
|
||||
addl %ebp,%esi
|
||||
# 40_59 49
|
||||
# 40_59 49
|
||||
movl %ebx,%ebp
|
||||
xorl 12(%esp),%edi
|
||||
xorl %ecx,%ebp
|
||||
|
@ -870,7 +870,7 @@ L002loop:
|
|||
andl %ecx,%ebp
|
||||
movl 8(%esp),%edx
|
||||
addl %ebp,%edi
|
||||
# 40_59 50
|
||||
# 40_59 50
|
||||
movl %eax,%ebp
|
||||
xorl 16(%esp),%edx
|
||||
xorl %ebx,%ebp
|
||||
|
@ -889,7 +889,7 @@ L002loop:
|
|||
andl %ebx,%ebp
|
||||
movl 12(%esp),%ecx
|
||||
addl %ebp,%edx
|
||||
# 40_59 51
|
||||
# 40_59 51
|
||||
movl %esi,%ebp
|
||||
xorl 20(%esp),%ecx
|
||||
xorl %eax,%ebp
|
||||
|
@ -908,7 +908,7 @@ L002loop:
|
|||
andl %eax,%ebp
|
||||
movl 16(%esp),%ebx
|
||||
addl %ebp,%ecx
|
||||
# 40_59 52
|
||||
# 40_59 52
|
||||
movl %edi,%ebp
|
||||
xorl 24(%esp),%ebx
|
||||
xorl %esi,%ebp
|
||||
|
@ -927,7 +927,7 @@ L002loop:
|
|||
andl %esi,%ebp
|
||||
movl 20(%esp),%eax
|
||||
addl %ebp,%ebx
|
||||
# 40_59 53
|
||||
# 40_59 53
|
||||
movl %edx,%ebp
|
||||
xorl 28(%esp),%eax
|
||||
xorl %edi,%ebp
|
||||
|
@ -946,7 +946,7 @@ L002loop:
|
|||
andl %edi,%ebp
|
||||
movl 24(%esp),%esi
|
||||
addl %ebp,%eax
|
||||
# 40_59 54
|
||||
# 40_59 54
|
||||
movl %ecx,%ebp
|
||||
xorl 32(%esp),%esi
|
||||
xorl %edx,%ebp
|
||||
|
@ -965,7 +965,7 @@ L002loop:
|
|||
andl %edx,%ebp
|
||||
movl 28(%esp),%edi
|
||||
addl %ebp,%esi
|
||||
# 40_59 55
|
||||
# 40_59 55
|
||||
movl %ebx,%ebp
|
||||
xorl 36(%esp),%edi
|
||||
xorl %ecx,%ebp
|
||||
|
@ -984,7 +984,7 @@ L002loop:
|
|||
andl %ecx,%ebp
|
||||
movl 32(%esp),%edx
|
||||
addl %ebp,%edi
|
||||
# 40_59 56
|
||||
# 40_59 56
|
||||
movl %eax,%ebp
|
||||
xorl 40(%esp),%edx
|
||||
xorl %ebx,%ebp
|
||||
|
@ -1003,7 +1003,7 @@ L002loop:
|
|||
andl %ebx,%ebp
|
||||
movl 36(%esp),%ecx
|
||||
addl %ebp,%edx
|
||||
# 40_59 57
|
||||
# 40_59 57
|
||||
movl %esi,%ebp
|
||||
xorl 44(%esp),%ecx
|
||||
xorl %eax,%ebp
|
||||
|
@ -1022,7 +1022,7 @@ L002loop:
|
|||
andl %eax,%ebp
|
||||
movl 40(%esp),%ebx
|
||||
addl %ebp,%ecx
|
||||
# 40_59 58
|
||||
# 40_59 58
|
||||
movl %edi,%ebp
|
||||
xorl 48(%esp),%ebx
|
||||
xorl %esi,%ebp
|
||||
|
@ -1041,7 +1041,7 @@ L002loop:
|
|||
andl %esi,%ebp
|
||||
movl 44(%esp),%eax
|
||||
addl %ebp,%ebx
|
||||
# 40_59 59
|
||||
# 40_59 59
|
||||
movl %edx,%ebp
|
||||
xorl 52(%esp),%eax
|
||||
xorl %edi,%ebp
|
||||
|
@ -1060,7 +1060,7 @@ L002loop:
|
|||
andl %edi,%ebp
|
||||
movl 48(%esp),%esi
|
||||
addl %ebp,%eax
|
||||
# 20_39 60
|
||||
# 20_39 60
|
||||
movl %ebx,%ebp
|
||||
xorl 56(%esp),%esi
|
||||
xorl %ecx,%ebp
|
||||
|
@ -1076,7 +1076,7 @@ L002loop:
|
|||
leal 3395469782(%esi,%edi,1),%esi
|
||||
movl 52(%esp),%edi
|
||||
addl %ebp,%esi
|
||||
# 20_39 61
|
||||
# 20_39 61
|
||||
movl %eax,%ebp
|
||||
xorl 60(%esp),%edi
|
||||
xorl %ebx,%ebp
|
||||
|
@ -1092,7 +1092,7 @@ L002loop:
|
|||
leal 3395469782(%edi,%edx,1),%edi
|
||||
movl 56(%esp),%edx
|
||||
addl %ebp,%edi
|
||||
# 20_39 62
|
||||
# 20_39 62
|
||||
movl %esi,%ebp
|
||||
xorl (%esp),%edx
|
||||
xorl %eax,%ebp
|
||||
|
@ -1108,7 +1108,7 @@ L002loop:
|
|||
leal 3395469782(%edx,%ecx,1),%edx
|
||||
movl 60(%esp),%ecx
|
||||
addl %ebp,%edx
|
||||
# 20_39 63
|
||||
# 20_39 63
|
||||
movl %edi,%ebp
|
||||
xorl 4(%esp),%ecx
|
||||
xorl %esi,%ebp
|
||||
|
@ -1124,7 +1124,7 @@ L002loop:
|
|||
leal 3395469782(%ecx,%ebx,1),%ecx
|
||||
movl (%esp),%ebx
|
||||
addl %ebp,%ecx
|
||||
# 20_39 64
|
||||
# 20_39 64
|
||||
movl %edx,%ebp
|
||||
xorl 8(%esp),%ebx
|
||||
xorl %edi,%ebp
|
||||
|
@ -1140,7 +1140,7 @@ L002loop:
|
|||
leal 3395469782(%ebx,%eax,1),%ebx
|
||||
movl 4(%esp),%eax
|
||||
addl %ebp,%ebx
|
||||
# 20_39 65
|
||||
# 20_39 65
|
||||
movl %ecx,%ebp
|
||||
xorl 12(%esp),%eax
|
||||
xorl %edx,%ebp
|
||||
|
@ -1156,7 +1156,7 @@ L002loop:
|
|||
leal 3395469782(%eax,%esi,1),%eax
|
||||
movl 8(%esp),%esi
|
||||
addl %ebp,%eax
|
||||
# 20_39 66
|
||||
# 20_39 66
|
||||
movl %ebx,%ebp
|
||||
xorl 16(%esp),%esi
|
||||
xorl %ecx,%ebp
|
||||
|
@ -1172,7 +1172,7 @@ L002loop:
|
|||
leal 3395469782(%esi,%edi,1),%esi
|
||||
movl 12(%esp),%edi
|
||||
addl %ebp,%esi
|
||||
# 20_39 67
|
||||
# 20_39 67
|
||||
movl %eax,%ebp
|
||||
xorl 20(%esp),%edi
|
||||
xorl %ebx,%ebp
|
||||
|
@ -1188,7 +1188,7 @@ L002loop:
|
|||
leal 3395469782(%edi,%edx,1),%edi
|
||||
movl 16(%esp),%edx
|
||||
addl %ebp,%edi
|
||||
# 20_39 68
|
||||
# 20_39 68
|
||||
movl %esi,%ebp
|
||||
xorl 24(%esp),%edx
|
||||
xorl %eax,%ebp
|
||||
|
@ -1204,7 +1204,7 @@ L002loop:
|
|||
leal 3395469782(%edx,%ecx,1),%edx
|
||||
movl 20(%esp),%ecx
|
||||
addl %ebp,%edx
|
||||
# 20_39 69
|
||||
# 20_39 69
|
||||
movl %edi,%ebp
|
||||
xorl 28(%esp),%ecx
|
||||
xorl %esi,%ebp
|
||||
|
@ -1220,7 +1220,7 @@ L002loop:
|
|||
leal 3395469782(%ecx,%ebx,1),%ecx
|
||||
movl 24(%esp),%ebx
|
||||
addl %ebp,%ecx
|
||||
# 20_39 70
|
||||
# 20_39 70
|
||||
movl %edx,%ebp
|
||||
xorl 32(%esp),%ebx
|
||||
xorl %edi,%ebp
|
||||
|
@ -1236,7 +1236,7 @@ L002loop:
|
|||
leal 3395469782(%ebx,%eax,1),%ebx
|
||||
movl 28(%esp),%eax
|
||||
addl %ebp,%ebx
|
||||
# 20_39 71
|
||||
# 20_39 71
|
||||
movl %ecx,%ebp
|
||||
xorl 36(%esp),%eax
|
||||
xorl %edx,%ebp
|
||||
|
@ -1252,7 +1252,7 @@ L002loop:
|
|||
leal 3395469782(%eax,%esi,1),%eax
|
||||
movl 32(%esp),%esi
|
||||
addl %ebp,%eax
|
||||
# 20_39 72
|
||||
# 20_39 72
|
||||
movl %ebx,%ebp
|
||||
xorl 40(%esp),%esi
|
||||
xorl %ecx,%ebp
|
||||
|
@ -1268,7 +1268,7 @@ L002loop:
|
|||
leal 3395469782(%esi,%edi,1),%esi
|
||||
movl 36(%esp),%edi
|
||||
addl %ebp,%esi
|
||||
# 20_39 73
|
||||
# 20_39 73
|
||||
movl %eax,%ebp
|
||||
xorl 44(%esp),%edi
|
||||
xorl %ebx,%ebp
|
||||
|
@ -1284,7 +1284,7 @@ L002loop:
|
|||
leal 3395469782(%edi,%edx,1),%edi
|
||||
movl 40(%esp),%edx
|
||||
addl %ebp,%edi
|
||||
# 20_39 74
|
||||
# 20_39 74
|
||||
movl %esi,%ebp
|
||||
xorl 48(%esp),%edx
|
||||
xorl %eax,%ebp
|
||||
|
@ -1300,7 +1300,7 @@ L002loop:
|
|||
leal 3395469782(%edx,%ecx,1),%edx
|
||||
movl 44(%esp),%ecx
|
||||
addl %ebp,%edx
|
||||
# 20_39 75
|
||||
# 20_39 75
|
||||
movl %edi,%ebp
|
||||
xorl 52(%esp),%ecx
|
||||
xorl %esi,%ebp
|
||||
|
@ -1316,7 +1316,7 @@ L002loop:
|
|||
leal 3395469782(%ecx,%ebx,1),%ecx
|
||||
movl 48(%esp),%ebx
|
||||
addl %ebp,%ecx
|
||||
# 20_39 76
|
||||
# 20_39 76
|
||||
movl %edx,%ebp
|
||||
xorl 56(%esp),%ebx
|
||||
xorl %edi,%ebp
|
||||
|
@ -1332,7 +1332,7 @@ L002loop:
|
|||
leal 3395469782(%ebx,%eax,1),%ebx
|
||||
movl 52(%esp),%eax
|
||||
addl %ebp,%ebx
|
||||
# 20_39 77
|
||||
# 20_39 77
|
||||
movl %ecx,%ebp
|
||||
xorl 60(%esp),%eax
|
||||
xorl %edx,%ebp
|
||||
|
@ -1347,7 +1347,7 @@ L002loop:
|
|||
leal 3395469782(%eax,%esi,1),%eax
|
||||
movl 56(%esp),%esi
|
||||
addl %ebp,%eax
|
||||
# 20_39 78
|
||||
# 20_39 78
|
||||
movl %ebx,%ebp
|
||||
xorl (%esp),%esi
|
||||
xorl %ecx,%ebp
|
||||
|
@ -1362,7 +1362,7 @@ L002loop:
|
|||
leal 3395469782(%esi,%edi,1),%esi
|
||||
movl 60(%esp),%edi
|
||||
addl %ebp,%esi
|
||||
# 20_39 79
|
||||
# 20_39 79
|
||||
movl %eax,%ebp
|
||||
xorl 4(%esp),%edi
|
||||
xorl %ebx,%ebp
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.data
|
||||
.data
|
||||
|
||||
.p2align 4
|
||||
one:
|
||||
|
@ -45,7 +45,7 @@ con3:
|
|||
.byte -1,-1,-1,-1,-1,-1,-1,-1,4,5,6,7,4,5,6,7
|
||||
and_mask:
|
||||
.long 0,0xffffffff, 0xffffffff, 0xffffffff
|
||||
.text
|
||||
.text
|
||||
|
||||
.p2align 4
|
||||
GFMUL:
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
chacha20_poly1305_constants:
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
.p2align 5
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
.globl _aes_hw_encrypt
|
||||
.private_extern _aes_hw_encrypt
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
.globl _gcm_init_clmul
|
||||
.private_extern _gcm_init_clmul
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
.p2align 4
|
||||
|
||||
.globl _md5_block_asm_data_order
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
.private_extern _beeu_mod_inverse_vartime
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
.globl _rsaz_1024_sqr_avx2
|
||||
.private_extern _rsaz_1024_sqr_avx2
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
.globl _sha1_block_data_order
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
.globl _sha256_block_data_order
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
.globl _sha512_block_data_order
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#if defined(BORINGSSL_PREFIX)
|
||||
#include <boringssl_prefix_symbols_asm.h>
|
||||
#endif
|
||||
.text
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ L$000maw_non_sse2:
|
|||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
;
|
||||
;
|
||||
xor esi,esi
|
||||
mov edi,DWORD [20+esp]
|
||||
mov ecx,DWORD [28+esp]
|
||||
|
@ -205,7 +205,7 @@ L$006maw_loop:
|
|||
adc edx,0
|
||||
mov DWORD [28+edi],eax
|
||||
mov esi,edx
|
||||
;
|
||||
;
|
||||
sub ecx,8
|
||||
lea ebx,[32+ebx]
|
||||
lea edi,[32+edi]
|
||||
|
@ -331,7 +331,7 @@ L$009mw_non_sse2:
|
|||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
;
|
||||
;
|
||||
xor esi,esi
|
||||
mov edi,DWORD [20+esp]
|
||||
mov ebx,DWORD [24+esp]
|
||||
|
@ -396,7 +396,7 @@ L$012mw_loop:
|
|||
adc edx,0
|
||||
mov DWORD [28+edi],eax
|
||||
mov esi,edx
|
||||
;
|
||||
;
|
||||
add ebx,32
|
||||
add edi,32
|
||||
sub ebp,8
|
||||
|
@ -503,7 +503,7 @@ L$015sqr_non_sse2:
|
|||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
;
|
||||
;
|
||||
mov esi,DWORD [20+esp]
|
||||
mov edi,DWORD [24+esp]
|
||||
mov ebx,DWORD [28+esp]
|
||||
|
@ -550,7 +550,7 @@ L$018sw_loop:
|
|||
mul eax
|
||||
mov DWORD [56+esi],eax
|
||||
mov DWORD [60+esi],edx
|
||||
;
|
||||
;
|
||||
add edi,32
|
||||
add esi,64
|
||||
sub ebx,8
|
||||
|
@ -629,7 +629,7 @@ L$_bn_add_words_begin:
|
|||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
;
|
||||
;
|
||||
mov ebx,DWORD [20+esp]
|
||||
mov esi,DWORD [24+esp]
|
||||
mov edi,DWORD [28+esp]
|
||||
|
@ -710,7 +710,7 @@ L$021aw_loop:
|
|||
add ecx,edx
|
||||
adc eax,0
|
||||
mov DWORD [28+ebx],ecx
|
||||
;
|
||||
;
|
||||
add esi,32
|
||||
add edi,32
|
||||
add ebx,32
|
||||
|
@ -809,7 +809,7 @@ L$_bn_sub_words_begin:
|
|||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
;
|
||||
;
|
||||
mov ebx,DWORD [20+esp]
|
||||
mov esi,DWORD [24+esp]
|
||||
mov edi,DWORD [28+esp]
|
||||
|
@ -890,7 +890,7 @@ L$024aw_loop:
|
|||
sub ecx,edx
|
||||
adc eax,0
|
||||
mov DWORD [28+ebx],ecx
|
||||
;
|
||||
;
|
||||
add esi,32
|
||||
add edi,32
|
||||
add ebx,32
|
||||
|
|
|
@ -40,7 +40,7 @@ L$_md5_block_asm_data_order_begin:
|
|||
mov ecx,DWORD [8+edi]
|
||||
mov edx,DWORD [12+edi]
|
||||
L$000start:
|
||||
;
|
||||
;
|
||||
; R0 section
|
||||
mov edi,ecx
|
||||
mov ebp,DWORD [esi]
|
||||
|
@ -204,7 +204,7 @@ L$000start:
|
|||
rol ebx,22
|
||||
mov ebp,DWORD [4+esi]
|
||||
add ebx,ecx
|
||||
;
|
||||
;
|
||||
; R1 section
|
||||
; R1 16
|
||||
lea eax,[4129170786+ebp*1+eax]
|
||||
|
@ -366,7 +366,7 @@ L$000start:
|
|||
mov edi,ecx
|
||||
rol ebx,20
|
||||
add ebx,ecx
|
||||
;
|
||||
;
|
||||
; R2 section
|
||||
; R2 32
|
||||
xor edi,edx
|
||||
|
@ -512,7 +512,7 @@ L$000start:
|
|||
mov edi,-1
|
||||
rol ebx,23
|
||||
add ebx,ecx
|
||||
;
|
||||
;
|
||||
; R3 section
|
||||
; R3 48
|
||||
xor edi,edx
|
||||
|
|
|
@ -19,7 +19,7 @@ For example, "TLS_key_bytes" may be translated to:
|
|||
- TLS_KEY_BYTE
|
||||
- TLSKeyBytes
|
||||
|
||||
If paramType is not present, the option takes no parameter. Otherwise it must be "String",
|
||||
If paramType is not present, the option takes no parameter. Otherwise it must be "String",
|
||||
"Int" or "Bytes". These will be parsed according to the C API spec.
|
||||
|
||||
If paramType is set, paramDescription must be present and describe the parameter.
|
||||
|
@ -30,8 +30,8 @@ description is not currently required but encouraged.
|
|||
|
||||
<Options>
|
||||
<Scope name="NetworkOption">
|
||||
<Option name="local_address" code="10"
|
||||
paramType="String" paramDescription="IP:PORT"
|
||||
<Option name="local_address" code="10"
|
||||
paramType="String" paramDescription="IP:PORT"
|
||||
description="Deprecated"/>
|
||||
<Option name="cluster_file" code="20"
|
||||
paramType="String" paramDescription="path to cluster file"
|
||||
|
@ -122,7 +122,7 @@ description is not currently required but encouraged.
|
|||
description="This option is set automatically to communicate the list of supported clients to the active client."
|
||||
hidden="true" />
|
||||
<Option name="external_client" code="1001"
|
||||
description="This option is set automatically on all clients loaded externally using the multi-version API."
|
||||
description="This option is set automatically on all clients loaded externally using the multi-version API."
|
||||
hidden="true" />
|
||||
<Option name="external_client_transport_id" code="1002"
|
||||
description="This option tells a child on a multiversion client what transport ID to use."
|
||||
|
@ -150,15 +150,15 @@ description is not currently required but encouraged.
|
|||
<Option name="snapshot_ryw_disable" code="27"
|
||||
description="Snapshot read operations will not see the results of writes done in the same transaction. This was the default behavior prior to API version 300." />
|
||||
<Option name="transaction_logging_max_field_length" code="405" paramType="Int" paramDescription="Maximum length of escaped key and value fields."
|
||||
description="Sets the maximum escaped length of key and value fields to be logged to the trace file via the LOG_TRANSACTION option. This sets the ``transaction_logging_max_field_length`` option of each transaction created by this database. See the transaction option description for more information."
|
||||
description="Sets the maximum escaped length of key and value fields to be logged to the trace file via the LOG_TRANSACTION option. This sets the ``transaction_logging_max_field_length`` option of each transaction created by this database. See the transaction option description for more information."
|
||||
defaultFor="405"/>
|
||||
<Option name="transaction_timeout" code="500"
|
||||
paramType="Int" paramDescription="value in milliseconds of timeout"
|
||||
description="Set a timeout in milliseconds which, when elapsed, will cause each transaction automatically to be cancelled. This sets the ``timeout`` option of each transaction created by this database. See the transaction option description for more information. Using this option requires that the API version is 610 or higher."
|
||||
description="Set a timeout in milliseconds which, when elapsed, will cause each transaction automatically to be cancelled. This sets the ``timeout`` option of each transaction created by this database. See the transaction option description for more information. Using this option requires that the API version is 610 or higher."
|
||||
defaultFor="500"/>
|
||||
<Option name="transaction_retry_limit" code="501"
|
||||
paramType="Int" paramDescription="number of times to retry"
|
||||
description="Set a maximum number of retries after which additional calls to ``onError`` will throw the most recently seen error code. This sets the ``retry_limit`` option of each transaction created by this database. See the transaction option description for more information."
|
||||
description="Set a maximum number of retries after which additional calls to ``onError`` will throw the most recently seen error code. This sets the ``retry_limit`` option of each transaction created by this database. See the transaction option description for more information."
|
||||
defaultFor="501"/>
|
||||
<Option name="transaction_max_retry_delay" code="502"
|
||||
paramType="Int" paramDescription="value in milliseconds of maximum delay"
|
||||
|
@ -166,7 +166,7 @@ description is not currently required but encouraged.
|
|||
defaultFor="502"/>
|
||||
<Option name="transaction_size_limit" code="503"
|
||||
paramType="Int" paramDescription="value in bytes"
|
||||
description="Set the maximum transaction size in bytes. This sets the ``size_limit`` option on each transaction created by this database. See the transaction option description for more information."
|
||||
description="Set the maximum transaction size in bytes. This sets the ``size_limit`` option on each transaction created by this database. See the transaction option description for more information."
|
||||
defaultFor="503"/>
|
||||
<Option name="transaction_causal_read_risky" code="504"
|
||||
description="The read version will be committed, and usually will be the latest committed, but might not be the latest committed in the event of a simultaneous fault and misbehaving clock."
|
||||
|
@ -175,7 +175,7 @@ description is not currently required but encouraged.
|
|||
description="Addresses returned by get_addresses_for_key include the port when enabled. This will be enabled by default in api version 630, and this option will be deprecated."
|
||||
defaultFor="23"/>
|
||||
</Scope>
|
||||
|
||||
|
||||
<Scope name="TransactionOption">
|
||||
<Option name="causal_write_risky" code="10"
|
||||
description="The transaction, if not self-conflicting, may be committed a second time after commit succeeds, in the event of a fault"/>
|
||||
|
@ -209,7 +209,7 @@ description is not currently required but encouraged.
|
|||
description="Allows this transaction to read and modify system keys (those that start with the byte 0xFF)"/>
|
||||
<Option name="read_system_keys" code="302"
|
||||
description="Allows this transaction to read system keys (those that start with the byte 0xFF)"/>
|
||||
<Option name="debug_dump" code="400"
|
||||
<Option name="debug_dump" code="400"
|
||||
hidden="true" />
|
||||
<Option name="debug_retry_logging" code="401" paramType="String" paramDescription="Optional transaction name" />
|
||||
<Option name="transaction_logging_enable" code="402" paramType="String" paramDescription="String identifier to be used in the logs when tracing this transaction. The identifier must not exceed 100 characters."
|
||||
|
@ -226,7 +226,7 @@ description is not currently required but encouraged.
|
|||
persistent="true" />
|
||||
<Option name="retry_limit" code="501"
|
||||
paramType="Int" paramDescription="number of times to retry"
|
||||
description="Set a maximum number of retries after which additional calls to ``onError`` will throw the most recently seen error code. Valid parameter values are ``[-1, INT_MAX]``. If set to -1, will disable the retry limit. Prior to API version 610, like all other transaction options, the retry limit must be reset after a call to ``onError``. If the API version is 610 or greater, the retry limit is not reset after an ``onError`` call. Note that at all API versions, it is safe and legal to set the retry limit each time the transaction begins, so most code written assuming the older behavior can be upgraded to the newer behavior without requiring any modification, and the caller is not required to implement special logic in retry loops to only conditionally set this option."
|
||||
description="Set a maximum number of retries after which additional calls to ``onError`` will throw the most recently seen error code. Valid parameter values are ``[-1, INT_MAX]``. If set to -1, will disable the retry limit. Prior to API version 610, like all other transaction options, the retry limit must be reset after a call to ``onError``. If the API version is 610 or greater, the retry limit is not reset after an ``onError`` call. Note that at all API versions, it is safe and legal to set the retry limit each time the transaction begins, so most code written assuming the older behavior can be upgraded to the newer behavior without requiring any modification, and the caller is not required to implement special logic in retry loops to only conditionally set this option."
|
||||
persistent="true"/>
|
||||
<Option name="max_retry_delay" code="502"
|
||||
paramType="Int" paramDescription="value in milliseconds of maximum delay"
|
||||
|
@ -272,7 +272,7 @@ description is not currently required but encouraged.
|
|||
</Scope>
|
||||
|
||||
<Scope name="MutationType">
|
||||
<Option name="add" code="2"
|
||||
<Option name="add" code="2"
|
||||
paramType="Bytes" paramDescription="addend"
|
||||
description="Performs an addition of little-endian integers. If the existing value in the database is not present or shorter than ``param``, it is first extended to the length of ``param`` with zero bytes. If ``param`` is shorter than the existing value in the database, the existing value is truncated to match the length of ``param``. The integers to be added must be stored in a little-endian representation. They can be signed in two's complement representation or unsigned. You can add to an integer at a known offset in the value by prepending the appropriate number of zero bytes to ``param`` and padding with zero bytes to match the length of the value. However, this offset technique requires that you know the addition will not cause the integer field within the value to overflow."/>
|
||||
<Option name="and" code="6"
|
||||
|
|
|
@ -37,12 +37,12 @@ if (OS_LINUX)
|
|||
# avoid spurious latencies and additional work associated with
|
||||
# MADV_DONTNEED. See
|
||||
# https://github.com/ClickHouse/ClickHouse/issues/11121 for motivation.
|
||||
#
|
||||
#
|
||||
# Set the recycle time to 100ms
|
||||
# Enable background thread to recycle memory
|
||||
#
|
||||
# Enable background thread to recycle memory
|
||||
#
|
||||
# Since the percpu_arena will increase malloc lock race condition,
|
||||
# keep the percpu_arena the default value to leverage 4*CPU cores arena
|
||||
# keep the percpu_arena the default value to leverage 4*CPU cores arena
|
||||
set (JEMALLOC_CONFIG_MALLOC_CONF "percpu_arena:disabled,oversize_threshold:0,muzzy_decay_ms:100,dirty_decay_ms:100,background_thread:true")
|
||||
else()
|
||||
set (JEMALLOC_CONFIG_MALLOC_CONF "oversize_threshold:0,muzzy_decay_ms:5000,dirty_decay_ms:5000")
|
||||
|
|
|
@ -19,7 +19,7 @@ FIND_LIBRARY(GSASL_LIBRARIES gsasl)
|
|||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set GSASL_FOUND to TRUE if
|
||||
# handle the QUIETLY and REQUIRED arguments and set GSASL_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GSASL DEFAULT_MSG GSASL_LIBRARIES GSASL_INCLUDE_DIR)
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ FIND_PATH(KERBEROS_INCLUDE_DIRS krb5.h)
|
|||
SET(KERBEROS_NAMES krb5 k5crypto com_err)
|
||||
FIND_LIBRARY(KERBEROS_LIBRARIES NAMES ${KERBEROS_NAMES})
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set KERBEROS_FOUND to TRUE if
|
||||
# handle the QUIETLY and REQUIRED arguments and set KERBEROS_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(KERBEROS DEFAULT_MSG KERBEROS_LIBRARIES KERBEROS_INCLUDE_DIRS)
|
||||
|
|
|
@ -8,7 +8,7 @@ ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|||
|
||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpfullversion OUTPUT_VARIABLE GCC_COMPILER_VERSION)
|
||||
|
||||
|
||||
IF (NOT GCC_COMPILER_VERSION)
|
||||
EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_COMPILER_VERSION)
|
||||
|
||||
|
@ -16,9 +16,9 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
|
|||
MESSAGE(FATAL_ERROR "Cannot get gcc version")
|
||||
ENDIF (NOT GCC_COMPILER_VERSION)
|
||||
ENDIF (NOT GCC_COMPILER_VERSION)
|
||||
|
||||
|
||||
STRING(REGEX MATCHALL "[0-9]+" GCC_COMPILER_VERSION ${GCC_COMPILER_VERSION})
|
||||
|
||||
|
||||
LIST(LENGTH GCC_COMPILER_VERSION GCC_COMPILER_VERSION_LENGTH)
|
||||
LIST(GET GCC_COMPILER_VERSION 0 GCC_COMPILER_VERSION_MAJOR)
|
||||
if (GCC_COMPILER_VERSION_LENGTH GREATER 1)
|
||||
|
@ -29,7 +29,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
|
|||
|
||||
SET(GCC_COMPILER_VERSION_MAJOR ${GCC_COMPILER_VERSION_MAJOR} CACHE INTERNAL "gcc major version")
|
||||
SET(GCC_COMPILER_VERSION_MINOR ${GCC_COMPILER_VERSION_MINOR} CACHE INTERNAL "gcc minor version")
|
||||
|
||||
|
||||
MESSAGE(STATUS "checking compiler: GCC (${GCC_COMPILER_VERSION_MAJOR}.${GCC_COMPILER_VERSION_MINOR}.${GCC_COMPILER_VERSION_PATCH})")
|
||||
ELSE(CMAKE_COMPILER_IS_GNUCXX)
|
||||
EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} --version OUTPUT_VARIABLE COMPILER_OUTPUT)
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
MetroHash is a set of state-of-the-art hash functions for *non-cryptographic* use cases. They are notable for being algorithmically generated in addition to their exceptional performance. The set of published hash functions may be expanded in the future, having been selected from a very large set of hash functions that have been constructed this way.
|
||||
|
||||
* Fastest general-purpose functions for bulk hashing.
|
||||
* Fastest general-purpose functions for small, variable length keys.
|
||||
* Fastest general-purpose functions for bulk hashing.
|
||||
* Fastest general-purpose functions for small, variable length keys.
|
||||
* Robust statistical bias profile, similar to the MD5 cryptographic hash.
|
||||
* Hashes can be constructed incrementally (**new**)
|
||||
* 64-bit, 128-bit, and 128-bit CRC variants currently available.
|
||||
* Optimized for modern x86-64 microarchitectures.
|
||||
* Elegant, compact, readable functions.
|
||||
|
||||
|
||||
You can read more about the design and history [here](http://www.jandrewrogers.com/2015/05/27/metrohash/).
|
||||
|
||||
## News
|
||||
|
@ -20,7 +20,7 @@ The project has been re-licensed under Apache License v2.0. The purpose of this
|
|||
|
||||
### 27 July 2015
|
||||
|
||||
Two new 64-bit and 128-bit algorithms add the ability to construct hashes incrementally. In addition to supporting incremental construction, the algorithms are slightly superior to the prior versions.
|
||||
Two new 64-bit and 128-bit algorithms add the ability to construct hashes incrementally. In addition to supporting incremental construction, the algorithms are slightly superior to the prior versions.
|
||||
|
||||
A big change is that these new algorithms are implemented as C++ classes that support both incremental and stateless hashing. These classes also have a static method for verifying the implementation against the test vectors built into the classes. Implementations are now fully contained by their respective headers e.g. "metrohash128.h".
|
||||
|
||||
|
@ -32,11 +32,11 @@ A big change is that these new algorithms are implemented as C++ classes that su
|
|||
|
||||
**Usage Example For Incremental Hashing**
|
||||
|
||||
`MetroHash128 hasher;`
|
||||
`hasher.Update(partial_key, partial_key_length);`
|
||||
`...`
|
||||
`hasher.Update(partial_key, partial_key_length);`
|
||||
`hasher.Finalize(hash_ptr);`
|
||||
`MetroHash128 hasher;`
|
||||
`hasher.Update(partial_key, partial_key_length);`
|
||||
`...`
|
||||
`hasher.Update(partial_key, partial_key_length);`
|
||||
`hasher.Finalize(hash_ptr);`
|
||||
|
||||
An `Initialize(seed)` method allows the hasher objects to be reused.
|
||||
|
||||
|
@ -48,7 +48,7 @@ Six hash functions have been included in the initial release:
|
|||
* 64-bit hash functions, "metrohash64_1" and "metrohash64_2"
|
||||
* 128-bit hash functions, "metrohash128_1" and "metrohash128_2"
|
||||
* 128-bit hash functions using CRC instructions, "metrohash128crc_1" and "metrohash128crc_2"
|
||||
|
||||
|
||||
Hash functions in the same family are effectively statistically unique. In other words, if you need two hash functions for a bloom filter, you can use "metrohash64_1" and "metrohash64_2" in the same implementation without issue. An unbounded set of statistically unique functions can be generated in each family. The functions in this repo were generated specifically for public release.
|
||||
|
||||
The hash function generation software made no effort toward portability. While these hash functions should be easily portable to big-endian microarchitectures, they have not been tested on them and the performance optimization algorithms were not targeted at them. ARM64 microarchitectures might be a worthwhile hash function generation targets if I had the hardware.
|
||||
|
|
|
@ -66,7 +66,7 @@ void MetroHash128::Update(const uint8_t * const buffer, const uint64_t length)
|
|||
memcpy(input.b + (bytes % 32), ptr, static_cast<size_t>(fill));
|
||||
ptr += fill;
|
||||
bytes += fill;
|
||||
|
||||
|
||||
// input buffer is still partially filled
|
||||
if ((bytes % 32) != 0) return;
|
||||
|
||||
|
@ -76,7 +76,7 @@ void MetroHash128::Update(const uint8_t * const buffer, const uint64_t length)
|
|||
state.v[2] += read_u64(&input.b[16]) * k2; state.v[2] = rotate_right(state.v[2],29) + state.v[0];
|
||||
state.v[3] += read_u64(&input.b[24]) * k3; state.v[3] = rotate_right(state.v[3],29) + state.v[1];
|
||||
}
|
||||
|
||||
|
||||
// bulk update
|
||||
bytes += (end - ptr);
|
||||
while (ptr <= (end - 32))
|
||||
|
@ -87,7 +87,7 @@ void MetroHash128::Update(const uint8_t * const buffer, const uint64_t length)
|
|||
state.v[2] += read_u64(ptr) * k2; ptr += 8; state.v[2] = rotate_right(state.v[2],29) + state.v[0];
|
||||
state.v[3] += read_u64(ptr) * k3; ptr += 8; state.v[3] = rotate_right(state.v[3],29) + state.v[1];
|
||||
}
|
||||
|
||||
|
||||
// store remaining bytes in input buffer
|
||||
if (ptr < end)
|
||||
memcpy(input.b, ptr, end - ptr);
|
||||
|
@ -104,11 +104,11 @@ void MetroHash128::Finalize(uint8_t * const hash)
|
|||
state.v[0] ^= rotate_right(((state.v[0] + state.v[2]) * k0) + state.v[3], 21) * k1;
|
||||
state.v[1] ^= rotate_right(((state.v[1] + state.v[3]) * k1) + state.v[2], 21) * k0;
|
||||
}
|
||||
|
||||
|
||||
// process any bytes remaining in the input buffer
|
||||
const uint8_t * ptr = reinterpret_cast<const uint8_t*>(input.b);
|
||||
const uint8_t * const end = ptr + (bytes % 32);
|
||||
|
||||
|
||||
if ((end - ptr) >= 16)
|
||||
{
|
||||
state.v[0] += read_u64(ptr) * k2; ptr += 8; state.v[0] = rotate_right(state.v[0],33) * k3;
|
||||
|
@ -140,7 +140,7 @@ void MetroHash128::Finalize(uint8_t * const hash)
|
|||
state.v[1] += read_u8 (ptr) * k2; state.v[1] = rotate_right(state.v[1],33) * k3;
|
||||
state.v[1] ^= rotate_right((state.v[1] * k3) + state.v[0], 58) * k0;
|
||||
}
|
||||
|
||||
|
||||
state.v[0] += rotate_right((state.v[0] * k0) + state.v[1], 13);
|
||||
state.v[1] += rotate_right((state.v[1] * k1) + state.v[0], 37);
|
||||
state.v[0] += rotate_right((state.v[0] * k2) + state.v[1], 13);
|
||||
|
@ -241,7 +241,7 @@ bool MetroHash128::ImplementationVerified()
|
|||
|
||||
// verify incremental implementation
|
||||
MetroHash128 metro;
|
||||
|
||||
|
||||
metro.Initialize(0);
|
||||
metro.Update(reinterpret_cast<const uint8_t *>(MetroHash128::test_string), strlen(MetroHash128::test_string));
|
||||
metro.Finalize(hash);
|
||||
|
@ -265,14 +265,14 @@ void metrohash128_1(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t *
|
|||
|
||||
const uint8_t * ptr = reinterpret_cast<const uint8_t*>(key);
|
||||
const uint8_t * const end = ptr + len;
|
||||
|
||||
|
||||
uint64_t v[4];
|
||||
|
||||
|
||||
v[0] = ((static_cast<uint64_t>(seed) - k0) * k3) + len;
|
||||
v[1] = ((static_cast<uint64_t>(seed) + k1) * k2) + len;
|
||||
|
||||
|
||||
if (len >= 32)
|
||||
{
|
||||
{
|
||||
v[2] = ((static_cast<uint64_t>(seed) + k0) * k2) + len;
|
||||
v[3] = ((static_cast<uint64_t>(seed) - k1) * k3) + len;
|
||||
|
||||
|
@ -290,7 +290,7 @@ void metrohash128_1(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t *
|
|||
v[0] ^= rotate_right(((v[0] + v[2]) * k0) + v[3], 26) * k1;
|
||||
v[1] ^= rotate_right(((v[1] + v[3]) * k1) + v[2], 30) * k0;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 16)
|
||||
{
|
||||
v[0] += read_u64(ptr) * k2; ptr += 8; v[0] = rotate_right(v[0],33) * k3;
|
||||
|
@ -298,31 +298,31 @@ void metrohash128_1(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t *
|
|||
v[0] ^= rotate_right((v[0] * k2) + v[1], 17) * k1;
|
||||
v[1] ^= rotate_right((v[1] * k3) + v[0], 17) * k0;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 8)
|
||||
{
|
||||
v[0] += read_u64(ptr) * k2; ptr += 8; v[0] = rotate_right(v[0],33) * k3;
|
||||
v[0] ^= rotate_right((v[0] * k2) + v[1], 20) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 4)
|
||||
{
|
||||
v[1] += read_u32(ptr) * k2; ptr += 4; v[1] = rotate_right(v[1],33) * k3;
|
||||
v[1] ^= rotate_right((v[1] * k3) + v[0], 18) * k0;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 2)
|
||||
{
|
||||
v[0] += read_u16(ptr) * k2; ptr += 2; v[0] = rotate_right(v[0],33) * k3;
|
||||
v[0] ^= rotate_right((v[0] * k2) + v[1], 24) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 1)
|
||||
{
|
||||
v[1] += read_u8 (ptr) * k2; v[1] = rotate_right(v[1],33) * k3;
|
||||
v[1] ^= rotate_right((v[1] * k3) + v[0], 24) * k0;
|
||||
}
|
||||
|
||||
|
||||
v[0] += rotate_right((v[0] * k0) + v[1], 13);
|
||||
v[1] += rotate_right((v[1] * k1) + v[0], 37);
|
||||
v[0] += rotate_right((v[0] * k2) + v[1], 13);
|
||||
|
@ -339,18 +339,18 @@ void metrohash128_2(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t *
|
|||
static const uint64_t k0 = 0xD6D018F5;
|
||||
static const uint64_t k1 = 0xA2AA033B;
|
||||
static const uint64_t k2 = 0x62992FC1;
|
||||
static const uint64_t k3 = 0x30BC5B29;
|
||||
static const uint64_t k3 = 0x30BC5B29;
|
||||
|
||||
const uint8_t * ptr = reinterpret_cast<const uint8_t*>(key);
|
||||
const uint8_t * const end = ptr + len;
|
||||
|
||||
|
||||
uint64_t v[4];
|
||||
|
||||
|
||||
v[0] = ((static_cast<uint64_t>(seed) - k0) * k3) + len;
|
||||
v[1] = ((static_cast<uint64_t>(seed) + k1) * k2) + len;
|
||||
|
||||
|
||||
if (len >= 32)
|
||||
{
|
||||
{
|
||||
v[2] = ((static_cast<uint64_t>(seed) + k0) * k2) + len;
|
||||
v[3] = ((static_cast<uint64_t>(seed) - k1) * k3) + len;
|
||||
|
||||
|
@ -368,7 +368,7 @@ void metrohash128_2(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t *
|
|||
v[0] ^= rotate_right(((v[0] + v[2]) * k0) + v[3], 33) * k1;
|
||||
v[1] ^= rotate_right(((v[1] + v[3]) * k1) + v[2], 33) * k0;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 16)
|
||||
{
|
||||
v[0] += read_u64(ptr) * k2; ptr += 8; v[0] = rotate_right(v[0],29) * k3;
|
||||
|
@ -376,31 +376,31 @@ void metrohash128_2(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t *
|
|||
v[0] ^= rotate_right((v[0] * k2) + v[1], 29) * k1;
|
||||
v[1] ^= rotate_right((v[1] * k3) + v[0], 29) * k0;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 8)
|
||||
{
|
||||
v[0] += read_u64(ptr) * k2; ptr += 8; v[0] = rotate_right(v[0],29) * k3;
|
||||
v[0] ^= rotate_right((v[0] * k2) + v[1], 29) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 4)
|
||||
{
|
||||
v[1] += read_u32(ptr) * k2; ptr += 4; v[1] = rotate_right(v[1],29) * k3;
|
||||
v[1] ^= rotate_right((v[1] * k3) + v[0], 25) * k0;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 2)
|
||||
{
|
||||
v[0] += read_u16(ptr) * k2; ptr += 2; v[0] = rotate_right(v[0],29) * k3;
|
||||
v[0] ^= rotate_right((v[0] * k2) + v[1], 30) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 1)
|
||||
{
|
||||
v[1] += read_u8 (ptr) * k2; v[1] = rotate_right(v[1],29) * k3;
|
||||
v[1] ^= rotate_right((v[1] * k3) + v[0], 18) * k0;
|
||||
}
|
||||
|
||||
|
||||
v[0] += rotate_right((v[0] * k0) + v[1], 33);
|
||||
v[1] += rotate_right((v[1] * k1) + v[0], 33);
|
||||
v[0] += rotate_right((v[0] * k2) + v[1], 33);
|
||||
|
|
|
@ -26,20 +26,20 @@ public:
|
|||
|
||||
// Constructor initializes the same as Initialize()
|
||||
MetroHash128(const uint64_t seed=0);
|
||||
|
||||
|
||||
// Initializes internal state for new hash with optional seed
|
||||
void Initialize(const uint64_t seed=0);
|
||||
|
||||
|
||||
// Update the hash state with a string of bytes. If the length
|
||||
// is sufficiently long, the implementation switches to a bulk
|
||||
// hashing algorithm directly on the argument buffer for speed.
|
||||
void Update(const uint8_t * buffer, const uint64_t length);
|
||||
|
||||
|
||||
// Constructs the final hash and writes it to the argument buffer.
|
||||
// After a hash is finalized, this instance must be Initialized()-ed
|
||||
// again or the behavior of Update() and Finalize() is undefined.
|
||||
void Finalize(uint8_t * const hash);
|
||||
|
||||
|
||||
// A non-incremental function implementation. This can be significantly
|
||||
// faster than the incremental implementation for some usage patterns.
|
||||
static void Hash(const uint8_t * buffer, const uint64_t length, uint8_t * const hash, const uint64_t seed=0);
|
||||
|
@ -57,7 +57,7 @@ private:
|
|||
static const uint64_t k1 = 0x8648DBDB;
|
||||
static const uint64_t k2 = 0x7BDEC03B;
|
||||
static const uint64_t k3 = 0x2F5870A5;
|
||||
|
||||
|
||||
struct { uint64_t v[4]; } state;
|
||||
struct { uint8_t b[32]; } input;
|
||||
uint64_t bytes;
|
||||
|
|
|
@ -30,14 +30,14 @@ void metrohash128crc_1(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t
|
|||
|
||||
const uint8_t * ptr = reinterpret_cast<const uint8_t*>(key);
|
||||
const uint8_t * const end = ptr + len;
|
||||
|
||||
|
||||
uint64_t v[4];
|
||||
|
||||
|
||||
v[0] = ((static_cast<uint64_t>(seed) - k0) * k3) + len;
|
||||
v[1] = ((static_cast<uint64_t>(seed) + k1) * k2) + len;
|
||||
|
||||
|
||||
if (len >= 32)
|
||||
{
|
||||
{
|
||||
v[2] = ((static_cast<uint64_t>(seed) + k0) * k2) + len;
|
||||
v[3] = ((static_cast<uint64_t>(seed) - k1) * k3) + len;
|
||||
|
||||
|
@ -55,7 +55,7 @@ void metrohash128crc_1(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t
|
|||
v[0] ^= rotate_right(((v[0] + v[2]) * k0) + v[3], 34) * k1;
|
||||
v[1] ^= rotate_right(((v[1] + v[3]) * k1) + v[2], 37) * k0;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 16)
|
||||
{
|
||||
v[0] += read_u64(ptr) * k2; ptr += 8; v[0] = rotate_right(v[0],34) * k3;
|
||||
|
@ -63,31 +63,31 @@ void metrohash128crc_1(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t
|
|||
v[0] ^= rotate_right((v[0] * k2) + v[1], 30) * k1;
|
||||
v[1] ^= rotate_right((v[1] * k3) + v[0], 30) * k0;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 8)
|
||||
{
|
||||
v[0] += read_u64(ptr) * k2; ptr += 8; v[0] = rotate_right(v[0],36) * k3;
|
||||
v[0] ^= rotate_right((v[0] * k2) + v[1], 23) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 4)
|
||||
{
|
||||
v[1] ^= _mm_crc32_u64(v[0], read_u32(ptr)); ptr += 4;
|
||||
v[1] ^= rotate_right((v[1] * k3) + v[0], 19) * k0;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 2)
|
||||
{
|
||||
v[0] ^= _mm_crc32_u64(v[1], read_u16(ptr)); ptr += 2;
|
||||
v[0] ^= rotate_right((v[0] * k2) + v[1], 13) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 1)
|
||||
{
|
||||
v[1] ^= _mm_crc32_u64(v[0], read_u8 (ptr));
|
||||
v[1] ^= rotate_right((v[1] * k3) + v[0], 17) * k0;
|
||||
}
|
||||
|
||||
|
||||
v[0] += rotate_right((v[0] * k0) + v[1], 11);
|
||||
v[1] += rotate_right((v[1] * k1) + v[0], 26);
|
||||
v[0] += rotate_right((v[0] * k0) + v[1], 11);
|
||||
|
@ -106,14 +106,14 @@ void metrohash128crc_2(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t
|
|||
|
||||
const uint8_t * ptr = reinterpret_cast<const uint8_t*>(key);
|
||||
const uint8_t * const end = ptr + len;
|
||||
|
||||
|
||||
uint64_t v[4];
|
||||
|
||||
|
||||
v[0] = ((static_cast<uint64_t>(seed) - k0) * k3) + len;
|
||||
v[1] = ((static_cast<uint64_t>(seed) + k1) * k2) + len;
|
||||
|
||||
|
||||
if (len >= 32)
|
||||
{
|
||||
{
|
||||
v[2] = ((static_cast<uint64_t>(seed) + k0) * k2) + len;
|
||||
v[3] = ((static_cast<uint64_t>(seed) - k1) * k3) + len;
|
||||
|
||||
|
@ -131,7 +131,7 @@ void metrohash128crc_2(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t
|
|||
v[0] ^= rotate_right(((v[0] + v[2]) * k0) + v[3], 12) * k1;
|
||||
v[1] ^= rotate_right(((v[1] + v[3]) * k1) + v[2], 19) * k0;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 16)
|
||||
{
|
||||
v[0] += read_u64(ptr) * k2; ptr += 8; v[0] = rotate_right(v[0],41) * k3;
|
||||
|
@ -139,31 +139,31 @@ void metrohash128crc_2(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t
|
|||
v[0] ^= rotate_right((v[0] * k2) + v[1], 10) * k1;
|
||||
v[1] ^= rotate_right((v[1] * k3) + v[0], 10) * k0;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 8)
|
||||
{
|
||||
v[0] += read_u64(ptr) * k2; ptr += 8; v[0] = rotate_right(v[0],34) * k3;
|
||||
v[0] ^= rotate_right((v[0] * k2) + v[1], 22) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 4)
|
||||
{
|
||||
v[1] ^= _mm_crc32_u64(v[0], read_u32(ptr)); ptr += 4;
|
||||
v[1] ^= rotate_right((v[1] * k3) + v[0], 14) * k0;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 2)
|
||||
{
|
||||
v[0] ^= _mm_crc32_u64(v[1], read_u16(ptr)); ptr += 2;
|
||||
v[0] ^= rotate_right((v[0] * k2) + v[1], 15) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 1)
|
||||
{
|
||||
v[1] ^= _mm_crc32_u64(v[0], read_u8 (ptr));
|
||||
v[1] ^= rotate_right((v[1] * k3) + v[0], 18) * k0;
|
||||
}
|
||||
|
||||
|
||||
v[0] += rotate_right((v[0] * k0) + v[1], 15);
|
||||
v[1] += rotate_right((v[1] * k1) + v[0], 27);
|
||||
v[0] += rotate_right((v[0] * k0) + v[1], 15);
|
||||
|
|
|
@ -62,7 +62,7 @@ void MetroHash64::Update(const uint8_t * const buffer, const uint64_t length)
|
|||
memcpy(input.b + (bytes % 32), ptr, static_cast<size_t>(fill));
|
||||
ptr += fill;
|
||||
bytes += fill;
|
||||
|
||||
|
||||
// input buffer is still partially filled
|
||||
if ((bytes % 32) != 0) return;
|
||||
|
||||
|
@ -72,7 +72,7 @@ void MetroHash64::Update(const uint8_t * const buffer, const uint64_t length)
|
|||
state.v[2] += read_u64(&input.b[16]) * k2; state.v[2] = rotate_right(state.v[2],29) + state.v[0];
|
||||
state.v[3] += read_u64(&input.b[24]) * k3; state.v[3] = rotate_right(state.v[3],29) + state.v[1];
|
||||
}
|
||||
|
||||
|
||||
// bulk update
|
||||
bytes += static_cast<uint64_t>(end - ptr);
|
||||
while (ptr <= (end - 32))
|
||||
|
@ -83,7 +83,7 @@ void MetroHash64::Update(const uint8_t * const buffer, const uint64_t length)
|
|||
state.v[2] += read_u64(ptr) * k2; ptr += 8; state.v[2] = rotate_right(state.v[2],29) + state.v[0];
|
||||
state.v[3] += read_u64(ptr) * k3; ptr += 8; state.v[3] = rotate_right(state.v[3],29) + state.v[1];
|
||||
}
|
||||
|
||||
|
||||
// store remaining bytes in input buffer
|
||||
if (ptr < end)
|
||||
memcpy(input.b, ptr, static_cast<size_t>(end - ptr));
|
||||
|
@ -102,11 +102,11 @@ void MetroHash64::Finalize(uint8_t * const hash)
|
|||
|
||||
state.v[0] = vseed + (state.v[0] ^ state.v[1]);
|
||||
}
|
||||
|
||||
|
||||
// process any bytes remaining in the input buffer
|
||||
const uint8_t * ptr = reinterpret_cast<const uint8_t*>(input.b);
|
||||
const uint8_t * const end = ptr + (bytes % 32);
|
||||
|
||||
|
||||
if ((end - ptr) >= 16)
|
||||
{
|
||||
state.v[1] = state.v[0] + (read_u64(ptr) * k2); ptr += 8; state.v[1] = rotate_right(state.v[1],29) * k3;
|
||||
|
@ -139,7 +139,7 @@ void MetroHash64::Finalize(uint8_t * const hash)
|
|||
state.v[0] += read_u8 (ptr) * k3;
|
||||
state.v[0] ^= rotate_right(state.v[0], 37) * k1;
|
||||
}
|
||||
|
||||
|
||||
state.v[0] ^= rotate_right(state.v[0], 28);
|
||||
state.v[0] *= k0;
|
||||
state.v[0] ^= rotate_right(state.v[0], 29);
|
||||
|
@ -238,7 +238,7 @@ bool MetroHash64::ImplementationVerified()
|
|||
|
||||
// verify incremental implementation
|
||||
MetroHash64 metro;
|
||||
|
||||
|
||||
metro.Initialize(0);
|
||||
metro.Update(reinterpret_cast<const uint8_t *>(MetroHash64::test_string), strlen(MetroHash64::test_string));
|
||||
metro.Finalize(hash);
|
||||
|
@ -262,9 +262,9 @@ void metrohash64_1(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t * o
|
|||
|
||||
const uint8_t * ptr = reinterpret_cast<const uint8_t*>(key);
|
||||
const uint8_t * const end = ptr + len;
|
||||
|
||||
|
||||
uint64_t hash = ((static_cast<uint64_t>(seed) + k2) * k0) + len;
|
||||
|
||||
|
||||
if (len >= 32)
|
||||
{
|
||||
uint64_t v[4];
|
||||
|
@ -272,7 +272,7 @@ void metrohash64_1(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t * o
|
|||
v[1] = hash;
|
||||
v[2] = hash;
|
||||
v[3] = hash;
|
||||
|
||||
|
||||
do
|
||||
{
|
||||
v[0] += read_u64(ptr) * k0; ptr += 8; v[0] = rotate_right(v[0],29) + v[2];
|
||||
|
@ -288,7 +288,7 @@ void metrohash64_1(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t * o
|
|||
v[1] ^= rotate_right(((v[1] + v[3]) * k1) + v[2], 33) * k0;
|
||||
hash += v[0] ^ v[1];
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 16)
|
||||
{
|
||||
uint64_t v0 = hash + (read_u64(ptr) * k0); ptr += 8; v0 = rotate_right(v0,33) * k1;
|
||||
|
@ -297,32 +297,32 @@ void metrohash64_1(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t * o
|
|||
v1 ^= rotate_right(v1 * k3, 35) + v0;
|
||||
hash += v1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 8)
|
||||
{
|
||||
hash += read_u64(ptr) * k3; ptr += 8;
|
||||
hash ^= rotate_right(hash, 33) * k1;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 4)
|
||||
{
|
||||
hash += read_u32(ptr) * k3; ptr += 4;
|
||||
hash ^= rotate_right(hash, 15) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 2)
|
||||
{
|
||||
hash += read_u16(ptr) * k3; ptr += 2;
|
||||
hash ^= rotate_right(hash, 13) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 1)
|
||||
{
|
||||
hash += read_u8 (ptr) * k3;
|
||||
hash ^= rotate_right(hash, 25) * k1;
|
||||
}
|
||||
|
||||
|
||||
hash ^= rotate_right(hash, 33);
|
||||
hash *= k0;
|
||||
hash ^= rotate_right(hash, 33);
|
||||
|
@ -336,13 +336,13 @@ void metrohash64_2(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t * o
|
|||
static const uint64_t k0 = 0xD6D018F5;
|
||||
static const uint64_t k1 = 0xA2AA033B;
|
||||
static const uint64_t k2 = 0x62992FC1;
|
||||
static const uint64_t k3 = 0x30BC5B29;
|
||||
static const uint64_t k3 = 0x30BC5B29;
|
||||
|
||||
const uint8_t * ptr = reinterpret_cast<const uint8_t*>(key);
|
||||
const uint8_t * const end = ptr + len;
|
||||
|
||||
|
||||
uint64_t hash = ((static_cast<uint64_t>(seed) + k2) * k0) + len;
|
||||
|
||||
|
||||
if (len >= 32)
|
||||
{
|
||||
uint64_t v[4];
|
||||
|
@ -350,7 +350,7 @@ void metrohash64_2(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t * o
|
|||
v[1] = hash;
|
||||
v[2] = hash;
|
||||
v[3] = hash;
|
||||
|
||||
|
||||
do
|
||||
{
|
||||
v[0] += read_u64(ptr) * k0; ptr += 8; v[0] = rotate_right(v[0],29) + v[2];
|
||||
|
@ -366,7 +366,7 @@ void metrohash64_2(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t * o
|
|||
v[1] ^= rotate_right(((v[1] + v[3]) * k1) + v[2], 30) * k0;
|
||||
hash += v[0] ^ v[1];
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 16)
|
||||
{
|
||||
uint64_t v0 = hash + (read_u64(ptr) * k2); ptr += 8; v0 = rotate_right(v0,29) * k3;
|
||||
|
@ -375,31 +375,31 @@ void metrohash64_2(const uint8_t * key, uint64_t len, uint32_t seed, uint8_t * o
|
|||
v1 ^= rotate_right(v1 * k3, 34) + v0;
|
||||
hash += v1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 8)
|
||||
{
|
||||
hash += read_u64(ptr) * k3; ptr += 8;
|
||||
hash ^= rotate_right(hash, 36) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 4)
|
||||
{
|
||||
hash += read_u32(ptr) * k3; ptr += 4;
|
||||
hash ^= rotate_right(hash, 15) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 2)
|
||||
{
|
||||
hash += read_u16(ptr) * k3; ptr += 2;
|
||||
hash ^= rotate_right(hash, 15) * k1;
|
||||
}
|
||||
|
||||
|
||||
if ((end - ptr) >= 1)
|
||||
{
|
||||
hash += read_u8 (ptr) * k3;
|
||||
hash ^= rotate_right(hash, 23) * k1;
|
||||
}
|
||||
|
||||
|
||||
hash ^= rotate_right(hash, 28);
|
||||
hash *= k0;
|
||||
hash ^= rotate_right(hash, 29);
|
||||
|
|
|
@ -26,20 +26,20 @@ public:
|
|||
|
||||
// Constructor initializes the same as Initialize()
|
||||
MetroHash64(const uint64_t seed=0);
|
||||
|
||||
|
||||
// Initializes internal state for new hash with optional seed
|
||||
void Initialize(const uint64_t seed=0);
|
||||
|
||||
|
||||
// Update the hash state with a string of bytes. If the length
|
||||
// is sufficiently long, the implementation switches to a bulk
|
||||
// hashing algorithm directly on the argument buffer for speed.
|
||||
void Update(const uint8_t * buffer, const uint64_t length);
|
||||
|
||||
|
||||
// Constructs the final hash and writes it to the argument buffer.
|
||||
// After a hash is finalized, this instance must be Initialized()-ed
|
||||
// again or the behavior of Update() and Finalize() is undefined.
|
||||
void Finalize(uint8_t * const hash);
|
||||
|
||||
|
||||
// A non-incremental function implementation. This can be significantly
|
||||
// faster than the incremental implementation for some usage patterns.
|
||||
static void Hash(const uint8_t * buffer, const uint64_t length, uint8_t * const hash, const uint64_t seed=0);
|
||||
|
@ -57,7 +57,7 @@ private:
|
|||
static const uint64_t k1 = 0xA2AA033B;
|
||||
static const uint64_t k2 = 0x62992FC1;
|
||||
static const uint64_t k3 = 0x30BC5B29;
|
||||
|
||||
|
||||
struct { uint64_t v[4]; } state;
|
||||
struct { uint8_t b[32]; } input;
|
||||
uint64_t bytes;
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
typedef void (*HashFunction) (const uint8_t * key, uint64_t len, uint32_t seed, uint8_t * hash);
|
||||
|
||||
struct TestVectorData
|
||||
struct TestVectorData
|
||||
{
|
||||
HashFunction function;
|
||||
uint32_t bits;
|
||||
|
@ -39,7 +39,7 @@ static const char * test_key_63 = "012345678901234567890123456789012345678901234
|
|||
|
||||
// The hash assumes a little-endian architecture. Treating the hash results
|
||||
// as an array of uint64_t should enable conversion for big-endian implementations.
|
||||
const TestVectorData TestVector [] =
|
||||
const TestVectorData TestVector [] =
|
||||
{
|
||||
// seed = 0
|
||||
{ metrohash64_1, 64, test_key_63, 0, "658F044F5C730E40" },
|
||||
|
|
|
@ -228,7 +228,7 @@
|
|||
/* #undef HAVE___VA_COPY */
|
||||
|
||||
/* Define as const if the declaration of iconv() needs const. */
|
||||
#define ICONV_CONST
|
||||
#define ICONV_CONST
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#define LT_OBJDIR ".libs/"
|
||||
|
|
|
@ -383,7 +383,7 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
|
|||
*
|
||||
* the string suffix used by dynamic modules (usually shared libraries)
|
||||
*/
|
||||
#define LIBXML_MODULE_EXTENSION ".so"
|
||||
#define LIBXML_MODULE_EXTENSION ".so"
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Original URL: https://github.com/aappleby/smhasher
|
||||
|
||||
version:
|
||||
commit 61a0530f28277f2e850bfc39600ce61d02b518de
|
||||
commit 61a0530f28277f2e850bfc39600ce61d02b518de
|
||||
author aappleby@gmail.com
|
||||
date 2016-01-09T06:07:17Z
|
||||
|
|
|
@ -83,12 +83,12 @@ uint32_t MurmurHash2 ( const void * key, size_t len, uint32_t seed )
|
|||
h ^= h >> 15;
|
||||
|
||||
return h;
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// MurmurHash2, 64-bit versions, by Austin Appleby
|
||||
|
||||
// The same caveats as 32-bit MurmurHash2 apply here - beware of alignment
|
||||
// The same caveats as 32-bit MurmurHash2 apply here - beware of alignment
|
||||
// and endian-ness issues if used across multiple platforms.
|
||||
|
||||
// 64-bit hash for 64-bit platforms
|
||||
|
@ -107,12 +107,12 @@ uint64_t MurmurHash64A ( const void * key, size_t len, uint64_t seed )
|
|||
{
|
||||
uint64_t k = *data++;
|
||||
|
||||
k *= m;
|
||||
k ^= k >> r;
|
||||
k *= m;
|
||||
|
||||
k *= m;
|
||||
k ^= k >> r;
|
||||
k *= m;
|
||||
|
||||
h ^= k;
|
||||
h *= m;
|
||||
h *= m;
|
||||
}
|
||||
|
||||
const unsigned char * data2 = (const unsigned char*)data;
|
||||
|
@ -128,13 +128,13 @@ uint64_t MurmurHash64A ( const void * key, size_t len, uint64_t seed )
|
|||
case 1: h ^= uint64_t(data2[0]);
|
||||
h *= m;
|
||||
};
|
||||
|
||||
|
||||
h ^= h >> r;
|
||||
h *= m;
|
||||
h ^= h >> r;
|
||||
|
||||
return h;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 64-bit hash for 32-bit platforms
|
||||
|
@ -188,13 +188,13 @@ uint64_t MurmurHash64B ( const void * key, size_t len, uint64_t seed )
|
|||
h = (h << 32) | h2;
|
||||
|
||||
return h;
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// MurmurHash2A, by Austin Appleby
|
||||
|
||||
// This is a variant of MurmurHash2 modified to use the Merkle-Damgard
|
||||
// construction. Bulk speed should be identical to Murmur2, small-key speed
|
||||
// This is a variant of MurmurHash2 modified to use the Merkle-Damgard
|
||||
// construction. Bulk speed should be identical to Murmur2, small-key speed
|
||||
// will be 10%-20% slower due to the added overhead at the end of the hash.
|
||||
|
||||
// This variant fixes a minor issue where null keys were more likely to
|
||||
|
@ -245,10 +245,10 @@ uint32_t MurmurHash2A ( const void * key, size_t len, uint32_t seed )
|
|||
//-----------------------------------------------------------------------------
|
||||
// CMurmurHash2A, by Austin Appleby
|
||||
|
||||
// This is a sample implementation of MurmurHash2A designed to work
|
||||
// This is a sample implementation of MurmurHash2A designed to work
|
||||
// incrementally.
|
||||
|
||||
// Usage -
|
||||
// Usage -
|
||||
|
||||
// CMurmurHash2A hasher
|
||||
// hasher.Begin(seed);
|
||||
|
@ -354,8 +354,8 @@ uint32_t MurmurHashNeutral2 ( const void * key, size_t len, uint32_t seed )
|
|||
k |= data[2] << 16;
|
||||
k |= data[3] << 24;
|
||||
|
||||
k *= m;
|
||||
k ^= k >> r;
|
||||
k *= m;
|
||||
k ^= k >> r;
|
||||
k *= m;
|
||||
|
||||
h *= m;
|
||||
|
@ -364,7 +364,7 @@ uint32_t MurmurHashNeutral2 ( const void * key, size_t len, uint32_t seed )
|
|||
data += 4;
|
||||
len -= 4;
|
||||
}
|
||||
|
||||
|
||||
switch(len)
|
||||
{
|
||||
case 3: h ^= data[2] << 16;
|
||||
|
@ -378,13 +378,13 @@ uint32_t MurmurHashNeutral2 ( const void * key, size_t len, uint32_t seed )
|
|||
h ^= h >> 15;
|
||||
|
||||
return h;
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// MurmurHashAligned2, by Austin Appleby
|
||||
|
||||
// Same algorithm as MurmurHash2, but only does aligned reads - should be safer
|
||||
// on certain platforms.
|
||||
// on certain platforms.
|
||||
|
||||
// Performance will be lower than MurmurHash2
|
||||
|
||||
|
|
|
@ -117,9 +117,9 @@ void MurmurHash3_x86_32 ( const void * key, size_t len,
|
|||
k1 *= c1;
|
||||
k1 = ROTL32(k1,15);
|
||||
k1 *= c2;
|
||||
|
||||
|
||||
h1 ^= k1;
|
||||
h1 = ROTL32(h1,13);
|
||||
h1 = ROTL32(h1,13);
|
||||
h1 = h1*5+0xe6546b64;
|
||||
}
|
||||
|
||||
|
@ -146,7 +146,7 @@ void MurmurHash3_x86_32 ( const void * key, size_t len,
|
|||
h1 = fmix32(h1);
|
||||
|
||||
*(uint32_t*)out = h1;
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
@ -161,9 +161,9 @@ void MurmurHash3_x86_128 ( const void * key, const size_t len,
|
|||
uint32_t h3 = seed;
|
||||
uint32_t h4 = seed;
|
||||
|
||||
const uint32_t c1 = 0x239b961b;
|
||||
const uint32_t c1 = 0x239b961b;
|
||||
const uint32_t c2 = 0xab0e9789;
|
||||
const uint32_t c3 = 0x38b34ae5;
|
||||
const uint32_t c3 = 0x38b34ae5;
|
||||
const uint32_t c4 = 0xa1e38b93;
|
||||
|
||||
//----------
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
if (USE_INTERNAL_POCO_LIBRARY)
|
||||
# Poco::ZIP
|
||||
# Poco::ZIP
|
||||
file(GLOB SRCS "${LIBRARY_DIR}/Zip/src/*.cpp")
|
||||
|
||||
add_library (_poco_zip ${SRCS})
|
||||
|
|
|
@ -13,5 +13,5 @@ endif ()
|
|||
add_subdirectory("${protobuf_SOURCE_DIR}/cmake" "${protobuf_BINARY_DIR}")
|
||||
|
||||
# We don't want to stop compilation on warnings in protobuf's headers.
|
||||
# The following line overrides the value assigned by the command target_include_directories() in libprotobuf.cmake
|
||||
# The following line overrides the value assigned by the command target_include_directories() in libprotobuf.cmake
|
||||
set_property(TARGET libprotobuf PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${protobuf_SOURCE_DIR}/src")
|
||||
|
|
|
@ -9,7 +9,7 @@ set (SRCS
|
|||
${LIBRARY_DIR}/src/exceptions.cpp
|
||||
${LIBRARY_DIR}/src/ostream_wrapper.cpp
|
||||
${LIBRARY_DIR}/src/simplekey.cpp
|
||||
${LIBRARY_DIR}/src/depthguard.cpp
|
||||
${LIBRARY_DIR}/src/depthguard.cpp
|
||||
${LIBRARY_DIR}/src/exp.cpp
|
||||
${LIBRARY_DIR}/src/parse.cpp
|
||||
${LIBRARY_DIR}/src/singledocparser.cpp
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
first_or_random - if first replica one has higher number of errors, pick a random one from replicas with minimum number of errors.
|
||||
-->
|
||||
<load_balancing>random</load_balancing>
|
||||
<default_database_engine>Cnch</default_database_engine>
|
||||
<default_database_engine>Cnch</default_database_engine>
|
||||
</default>
|
||||
|
||||
<!-- Profile that allows only read queries. -->
|
||||
|
@ -53,7 +53,7 @@
|
|||
place 'kerberos' element instead of 'password' (and similar) elements.
|
||||
The name part of the canonical principal name of the initiator must match the user name for authentication to succeed.
|
||||
You can also place 'realm' element inside 'kerberos' element to further restrict authentication to only those requests
|
||||
whose initiator's realm matches it.
|
||||
whose initiator's realm matches it.
|
||||
Example: <kerberos />
|
||||
Example: <kerberos><realm>EXAMPLE.COM</realm></kerberos>
|
||||
|
||||
|
|
|
@ -302,7 +302,7 @@
|
|||
<enable_metastore_mock>0</enable_metastore_mock>
|
||||
|
||||
<perQuery>0</perQuery>
|
||||
|
||||
|
||||
<storage_configuration>
|
||||
<disks>
|
||||
<default></default>
|
||||
|
|
|
@ -71,7 +71,7 @@ You can find flame graphs for queries with performance changes in the test outpu
|
|||
#### Unstable Queries
|
||||
Action required for the cells marked in red.
|
||||
|
||||
These are the queries for which we did not observe a statistically significant change in performance, but for which the variance in query performance is very high. This means that we are likely to observe big changes in performance even in the absence of real changes, e.g. when comparing the server to itself. Such queries are going to have bad sensitivity as performance tests -- if a query has, say, 50% expected variability, this means we are going to see changes in performance up to 50%, even when there were no real changes in the code. And because of this, we won't be able to detect changes less than 50% with such a query, which is pretty bad. The reasons for the high variability must be investigated and fixed; ideally, the variability should be brought under 5-10%.
|
||||
These are the queries for which we did not observe a statistically significant change in performance, but for which the variance in query performance is very high. This means that we are likely to observe big changes in performance even in the absence of real changes, e.g. when comparing the server to itself. Such queries are going to have bad sensitivity as performance tests -- if a query has, say, 50% expected variability, this means we are going to see changes in performance up to 50%, even when there were no real changes in the code. And because of this, we won't be able to detect changes less than 50% with such a query, which is pretty bad. The reasons for the high variability must be investigated and fixed; ideally, the variability should be brought under 5-10%.
|
||||
|
||||
The most frequent reason for instability is that the query is just too short -- e.g. below 0.1 seconds. Bringing query time to 0.2 seconds or above usually helps.
|
||||
Other reasons may include:
|
||||
|
|
|
@ -44,7 +44,7 @@ from
|
|||
-- for each virtual run, randomly reorder measurements
|
||||
order by virtual_run, rand()
|
||||
) virtual_runs
|
||||
) relabeled
|
||||
) relabeled
|
||||
group by virtual_run, random_label
|
||||
) virtual_medians
|
||||
group by virtual_run -- aggregate by random_label
|
||||
|
|
|
@ -130,7 +130,7 @@ def process_result(result_path):
|
|||
state = "test failed"
|
||||
if test_results is []:
|
||||
test_results.append(("Asan filed", "FAIL", "0"))
|
||||
|
||||
|
||||
if server_health_check:
|
||||
description += "Server does not respond to health check, Please check the log"
|
||||
state = "test failed"
|
||||
|
|
|
@ -436,7 +436,7 @@ else ()
|
|||
add_custom_target (clickhouse-worker ALL COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse clickhouse-worker DEPENDS clickhouse)
|
||||
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/clickhouse-worker" DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT clickhouse)
|
||||
list(APPEND CLICKHOUSE_BUNDLE clickhouse-worker)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (ENABLE_CLICKHOUSE_CLIENT)
|
||||
add_custom_target (clickhouse-client ALL COMMAND ${CMAKE_COMMAND} -E create_symlink clickhouse clickhouse-client DEPENDS clickhouse)
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<production>{display_name} \x01\e[1;31m\x02:)\x01\e[0m\x02 </production> <!-- if it matched to the substring "production" in the server display name -->
|
||||
</prompt_by_server_display_name>
|
||||
|
||||
<!--
|
||||
<!--
|
||||
Settings adjustable via command-line parameters
|
||||
can take their defaults from that config file, see examples:
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
set(CLICKHOUSE_META_INSPECTOR_SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/MetastoreInspector.cpp
|
||||
set(CLICKHOUSE_META_INSPECTOR_SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/MetastoreInspector.cpp
|
||||
)
|
||||
set(CLICKHOUSE_META_INSPECTOR_LINK
|
||||
set(CLICKHOUSE_META_INSPECTOR_LINK
|
||||
PRIVATE
|
||||
catalog_lib
|
||||
)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
set(CLICKHOUSE_PART_TOOLKIT_SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/PartToolkit.cpp
|
||||
set(CLICKHOUSE_PART_TOOLKIT_SOURCES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/PartToolkit.cpp
|
||||
)
|
||||
set(CLICKHOUSE_PART_TOOLKIT_LINK
|
||||
set(CLICKHOUSE_PART_TOOLKIT_LINK
|
||||
PRIVATE
|
||||
Poco::Foundation
|
||||
clickhouse_parsers
|
||||
|
|
|
@ -66,7 +66,7 @@ void run(const std::string & query, Poco::Logger * log)
|
|||
mutable_context_ptr->makeGlobalContext();
|
||||
mutable_context_ptr->setConfig(configuration);
|
||||
mutable_context_ptr->setMarkCache(1000000);
|
||||
|
||||
|
||||
const char * begin = query.data();
|
||||
const char * end = query.data() + query.size();
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
first_or_random - if first replica one has higher number of errors, pick a random one from replicas with minimum number of errors.
|
||||
-->
|
||||
<load_balancing>random</load_balancing>
|
||||
<default_database_engine>Atomic</default_database_engine>
|
||||
<default_database_engine>Atomic</default_database_engine>
|
||||
</default>
|
||||
|
||||
<!-- Profile that allows only read queries. -->
|
||||
|
@ -50,7 +50,7 @@
|
|||
place 'kerberos' element instead of 'password' (and similar) elements.
|
||||
The name part of the canonical principal name of the initiator must match the user name for authentication to succeed.
|
||||
You can also place 'realm' element inside 'kerberos' element to further restrict authentication to only those requests
|
||||
whose initiator's realm matches it.
|
||||
whose initiator's realm matches it.
|
||||
Example: <kerberos />
|
||||
Example: <kerberos><realm>EXAMPLE.COM</realm></kerberos>
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace DB
|
|||
if (pos == 0 || ((pos^0xFF) && pos > union_num+1))
|
||||
{
|
||||
throw Exception("AggregateFunction " + name + ": wrong value of keys postion identifier, which starts from 1", ErrorCodes::LOGICAL_ERROR);
|
||||
}
|
||||
}
|
||||
if (idx < 3 || idx > argument_num)
|
||||
throw Exception("AggregateFunction " + name + ": wrong value of key index, which starts from 3", ErrorCodes::LOGICAL_ERROR);
|
||||
to.emplace_back(pos, idx);
|
||||
|
@ -114,7 +114,7 @@ namespace
|
|||
throw Exception("AggregateFunction " + name + ": duplicated join key index, only one is ok", ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
getParameterOfPositionAndIndex(group_by_arr, name, union_num, argument_types.size(), group_by_keys_idx);
|
||||
|
||||
|
||||
// judge duplicated group by keys
|
||||
for (size_t i = 0; i < group_by_keys_idx.size() - 1; ++i)
|
||||
{
|
||||
|
@ -123,8 +123,8 @@ namespace
|
|||
// Two case:
|
||||
// 1. equal pair, like ['1.3', '1.3']
|
||||
// 2. same idx, but one of the postion is not specified(0xFF), like ['3', '1.3']
|
||||
if (group_by_keys_idx[i] == group_by_keys_idx[j] ||
|
||||
(group_by_keys_idx[i].second == group_by_keys_idx[j].second
|
||||
if (group_by_keys_idx[i] == group_by_keys_idx[j] ||
|
||||
(group_by_keys_idx[i].second == group_by_keys_idx[j].second
|
||||
&& (group_by_keys_idx[i].first == 0xFF || group_by_keys_idx[j].first == 0xFF)))
|
||||
throw Exception("AggregateFunction " + name + ": duplicated group by index", ErrorCodes::LOGICAL_ERROR);
|
||||
}
|
||||
|
@ -142,13 +142,13 @@ namespace
|
|||
throw Exception(
|
||||
"AggregateFunction " + name + " only support logic operation: AND, OR, XOR, besides empty string is also ok",
|
||||
DB::ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
|
||||
JoinOperation join_op(join_str);
|
||||
if (!join_op.isValid())
|
||||
throw Exception(
|
||||
"AggregateFunction " + name + " only support join type: INNER, LEFT. And empty string means INNER JOIN",
|
||||
DB::ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
|
||||
UInt64 thread_num = 32;
|
||||
if (parameters.size() == 6)
|
||||
{
|
||||
|
@ -162,7 +162,7 @@ namespace
|
|||
}
|
||||
if (result_type != 0 && result_type != 1)
|
||||
throw Exception("AggregateFunction " + name + " only support result_type: 0, 1", ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
|
||||
if (!WhichDataType(argument_types[0]).isUInt8())
|
||||
throw Exception("AggregateFunction " + name + " needs Int type for its first argument", ErrorCodes::NOT_IMPLEMENTED);
|
||||
|
||||
|
|
|
@ -140,7 +140,7 @@ void readStrings(Strings & data, ReadBuffer & buf)
|
|||
{
|
||||
size_t size = 0;
|
||||
readVarUInt(size, buf);
|
||||
|
||||
|
||||
for (size_t i = 0; i < size; ++i)
|
||||
{
|
||||
String key;
|
||||
|
@ -356,11 +356,11 @@ struct PositionTuples
|
|||
writeVarUInt(position, buf);
|
||||
size_t map_size = tuples.size();
|
||||
writeVarUInt(map_size, buf);
|
||||
|
||||
|
||||
for (auto it = tuples.begin(); it != tuples.end(); ++it)
|
||||
{
|
||||
writeStrings(it->first.keys, buf);
|
||||
|
||||
|
||||
size_t tuples_num = it->second.size();
|
||||
writeVarUInt(tuples_num, buf);
|
||||
for (auto jt = it->second.begin(); jt != it->second.end(); ++jt)
|
||||
|
@ -416,8 +416,8 @@ struct PositionTuples
|
|||
buf.readStrict(buffer.data(), bytes_size);
|
||||
BitMap64 bitmap = BitMap64::readSafe(buffer.data(), bytes_size);
|
||||
|
||||
tmp_tuple = std::make_tuple(std::move(join_key),
|
||||
std::move(group_by),
|
||||
tmp_tuple = std::make_tuple(std::move(join_key),
|
||||
std::move(group_by),
|
||||
std::make_shared<BitMap64>(bitmap));
|
||||
|
||||
tuples_ptrs.emplace_back(std::make_shared<JoinTuple>(tmp_tuple));
|
||||
|
@ -442,7 +442,7 @@ struct AggregateFunctionBitMapJoinData
|
|||
|
||||
StringsMapKey key(std::move(join_keys));
|
||||
JoinTuplePtr tuple_ptr{std::make_shared<JoinTuple>(std::make_tuple(std::move(join_keys), std::move(group_bys), std::move(bitmap_ptr)))};
|
||||
|
||||
|
||||
for (auto & pos_tuples : join_tuples_by_position) // Position value is in a small range, just compare one by one
|
||||
{
|
||||
if (pos-1 == pos_tuples.position) // position starts from 0, but pos from user starts from 1
|
||||
|
@ -459,7 +459,7 @@ struct AggregateFunctionBitMapJoinData
|
|||
{
|
||||
auto & lhs_tuples_by_position = this->join_tuples_by_position;
|
||||
auto & rhs_tuples_by_position = const_cast<std::vector<PositionTuples> &>(rhs.join_tuples_by_position);
|
||||
|
||||
|
||||
if (rhs_tuples_by_position.empty())
|
||||
return;
|
||||
else if (lhs_tuples_by_position.empty())
|
||||
|
@ -491,7 +491,7 @@ struct AggregateFunctionBitMapJoinData
|
|||
{
|
||||
size_t position_num = join_tuples_by_position.size();
|
||||
writeVarUInt(position_num, buf);
|
||||
for (auto it = join_tuples_by_position.begin();
|
||||
for (auto it = join_tuples_by_position.begin();
|
||||
it != join_tuples_by_position.end(); ++it)
|
||||
{
|
||||
it->serialize(buf);
|
||||
|
@ -558,14 +558,14 @@ public:
|
|||
for (auto pi : join_keys_idx)
|
||||
{
|
||||
// join key starts from 3 in user's input, and it appears in each position
|
||||
join_keys.emplace_back(columns_str.at(pi.second - 3));
|
||||
join_keys.emplace_back(columns_str.at(pi.second - 3));
|
||||
}
|
||||
|
||||
for (auto pi : group_by_keys_idx)
|
||||
{
|
||||
if (pi.first == static_cast<UInt64>(pos) && columns_str.at(pi.second - 3) == "#-1#")
|
||||
throw Exception("The column you identified for group by is invalid, where data is '#-1#'", ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
|
||||
group_by_keys.emplace_back(columns_str.at(pi.second - 3));
|
||||
}
|
||||
|
||||
|
@ -594,7 +594,7 @@ public:
|
|||
return;
|
||||
// throw Exception("AggregateFunction " + getName() + ": at least one position has no data actually", ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
sort(this_join_tuples.begin(), this_join_tuples.end(),
|
||||
sort(this_join_tuples.begin(), this_join_tuples.end(),
|
||||
[](const PositionTuples & left, const PositionTuples & right) -> bool {
|
||||
return left.position < right.position;
|
||||
});
|
||||
|
@ -608,14 +608,14 @@ public:
|
|||
|
||||
// insert result to res_column
|
||||
result_group_by_tuples.writeResultOfKeyAndValue(tuple_in_array, result_type);
|
||||
|
||||
|
||||
column_offsets.getData().push_back(column_res.getData().size());
|
||||
}
|
||||
|
||||
private:
|
||||
void joinMultiThreads(KVSharded & result,
|
||||
void joinMultiThreads(KVSharded & result,
|
||||
std::vector<Pairs> & split_lhs_data,
|
||||
HashedStringsKeyTuples & rhs_data,
|
||||
HashedStringsKeyTuples & rhs_data,
|
||||
size_t thread_num_) const
|
||||
{
|
||||
ThreadGroupStatusPtr thread_group = CurrentThread::getGroup();
|
||||
|
@ -624,14 +624,14 @@ private:
|
|||
{
|
||||
setThreadName("bitmapJoin");
|
||||
CurrentThread::attachToIfDetached(thread_group);
|
||||
|
||||
|
||||
JoinTuplePtrs tuples_tmp;
|
||||
Pairs & group = split_lhs_data.at(index);
|
||||
for (auto gt = group.begin(); gt != group.end(); ++gt)
|
||||
{
|
||||
auto & key = gt->first;
|
||||
auto & left = gt->second; // left JoinTuplePtrs
|
||||
|
||||
|
||||
auto rjt = rhs_data.find(key);
|
||||
if (rjt == rhs_data.end()) // key is not matched
|
||||
{
|
||||
|
@ -652,7 +652,7 @@ private:
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
auto & right = rjt->second; // right JoinTuplePtrs
|
||||
for (auto lt = left.begin(); lt != left.end(); ++lt)
|
||||
{
|
||||
|
@ -683,7 +683,7 @@ private:
|
|||
group_bys.emplace_back(std::move(rt_group_bys.at(i)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
BitMap64 bitmap(*lt_bitmap_ptr);
|
||||
|
||||
switch (logic_operation.logicOp)
|
||||
|
@ -716,7 +716,7 @@ private:
|
|||
JoinTuple tmp_tuple{std::make_tuple(join_keys, group_bys,
|
||||
std::make_shared<BitMap64>(std::move(bitmap)))};
|
||||
|
||||
result.put(std::move(StringsMapKey(std::move(group_bys))),
|
||||
result.put(std::move(StringsMapKey(std::move(group_bys))),
|
||||
std::move(JoinTuplePtrs{std::make_shared<JoinTuple>(tmp_tuple)}));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ AggregateFunctionPtr createAggregateFunctionBitMapJoinAndCard(const std::string
|
|||
{
|
||||
union_num = static_cast<Int32>(parameters[0].safeGet<UInt64>());
|
||||
thread_num = parameters[1].safeGet<UInt64>();
|
||||
|
||||
|
||||
if (parameters.size() == 3)
|
||||
limit_bitmap_number = parameters[2].safeGet<UInt64>();
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ AggregateFunctionPtr createAggregateFunctionBitMapJoinAndCard2(const std::string
|
|||
{
|
||||
union_num = static_cast<Int32>(parameters[0].safeGet<UInt64>());
|
||||
thread_num = parameters[1].safeGet<UInt64>();
|
||||
|
||||
|
||||
if (parameters.size() == 3)
|
||||
limit_bitmap_number = parameters[2].safeGet<UInt64>();
|
||||
}
|
||||
|
|
|
@ -446,13 +446,13 @@ private:
|
|||
for (auto it = position_tuples.cbegin(); it != position_tuples.cend(); ++it)
|
||||
{
|
||||
if (it->tuples.size() > limit_bitmap_number)
|
||||
throw Exception("AggregateFunction " + getName() +
|
||||
throw Exception("AggregateFunction " + getName() +
|
||||
": receives too many bitmaps in the " + std::to_string(it->position) + "-th subquery", ErrorCodes::TOO_MANY_ROWS);
|
||||
|
||||
total_rows *= it->tuples.size();
|
||||
|
||||
if (it != position_tuples.end()-1 && total_rows > limit_bitmap_number)
|
||||
throw Exception("AggregateFunction " + getName() + ": The memory is out of limit to contain any bitmap after several JOINs," +
|
||||
throw Exception("AggregateFunction " + getName() + ": The memory is out of limit to contain any bitmap after several JOINs," +
|
||||
" and the remaining JOINs can't go on", ErrorCodes::TOO_MANY_ROWS);
|
||||
|
||||
if (it->tuples.size() > max_size)
|
||||
|
|
|
@ -374,13 +374,13 @@ private:
|
|||
for (auto it = position_tuples.cbegin(); it != position_tuples.cend(); ++it)
|
||||
{
|
||||
if (it->tuples.size() > limit_bitmap_number)
|
||||
throw Exception("AggregateFunction " + getName() +
|
||||
throw Exception("AggregateFunction " + getName() +
|
||||
": receives too many bitmaps in the " + std::to_string(it->position) + "-th subquery", ErrorCodes::TOO_MANY_ROWS);
|
||||
|
||||
total_rows *= it->tuples.size();
|
||||
|
||||
if (it != position_tuples.end()-1 && total_rows > limit_bitmap_number)
|
||||
throw Exception("AggregateFunction " + getName() + ": The memory is out of limit to contain any bitmap after several JOINs," +
|
||||
throw Exception("AggregateFunction " + getName() + ": The memory is out of limit to contain any bitmap after several JOINs," +
|
||||
" and the remaining JOINs can't go on", ErrorCodes::TOO_MANY_ROWS);
|
||||
|
||||
if (it->tuples.size() > max_size)
|
||||
|
|
|
@ -33,7 +33,7 @@ AggregateFunctionPtr createAggregateFunctionBitmapColumnDiff(const std::string &
|
|||
String diff_direction_str{"forward"};
|
||||
if (!parameters.empty() && parameters.size() != 3)
|
||||
throw Exception("AggregateFunction " + name + " need three parameters", ErrorCodes::NUMBER_OF_ARGUMENTS_DOESNT_MATCH);
|
||||
|
||||
|
||||
if (!parameters.empty())
|
||||
{
|
||||
parameters[0].tryGet<UInt64>(return_type_);
|
||||
|
|
|
@ -111,7 +111,7 @@ struct AggregateFunctionBitMapColumnDiffData
|
|||
readVarUInt(key_data, buf);
|
||||
key = static_cast<T>(key_data);
|
||||
}
|
||||
|
||||
|
||||
size_t bytes_size;
|
||||
readVarUInt(bytes_size, buf);
|
||||
PODArray<char> buffer(bytes_size);
|
||||
|
@ -173,7 +173,7 @@ public:
|
|||
types.emplace_back(std::make_shared<DataTypeString>());
|
||||
else
|
||||
types.emplace_back(std::make_shared<DataTypeNumber<T>>());
|
||||
|
||||
|
||||
/// When input type is Data, the template T is set to UInt16 (for column of Date),
|
||||
/// so we have to distinguish this in runtime
|
||||
if (is_date)
|
||||
|
@ -182,7 +182,7 @@ public:
|
|||
types.emplace_back(std::make_shared<DataTypeDate>());
|
||||
}
|
||||
|
||||
if (result_type == 0ull) // sum count
|
||||
if (result_type == 0ull) // sum count
|
||||
types.emplace_back(std::make_shared<DataTypeArray>(std::make_shared<DataTypeUInt64>()));
|
||||
else if (result_type == 1ull) // detail in bitmap
|
||||
types.emplace_back(std::make_shared<DataTypeArray>(std::make_shared<DataTypeBitMap64>()));
|
||||
|
@ -226,17 +226,17 @@ public:
|
|||
auto & input_data = const_cast<typename AggregateFunctionBitMapColumnDiffData<T>::data_type &>(this->data(place).data);
|
||||
if (input_data.empty())
|
||||
return;
|
||||
|
||||
|
||||
if (diff_step >= input_data.size())
|
||||
throw Exception(getName() + ": the step " + std::to_string(diff_step) + " is larger than data size", ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
|
||||
std::vector<DiffPair> all_data;
|
||||
std::unordered_map<T, std::vector<BitMapPtr>> intermediate_res;
|
||||
|
||||
|
||||
/// prepare data
|
||||
for (auto it = input_data.begin(); it != input_data.end(); ++it)
|
||||
all_data.emplace_back(std::move(it->first), std::move(it->second));
|
||||
|
||||
|
||||
if (diff_direction.diff_direc == DiffDirection::BACKWARD)
|
||||
std::sort(all_data.begin(), all_data.end(), std::greater<DiffPair>());
|
||||
else
|
||||
|
@ -296,7 +296,7 @@ public:
|
|||
{
|
||||
for (const auto & ptr : it->second)
|
||||
column_in_tuple.insertValue(ptr->cardinality());
|
||||
|
||||
|
||||
prev_offset += it->second.size();
|
||||
offsets.push_back(prev_offset);
|
||||
}
|
||||
|
@ -333,7 +333,7 @@ private:
|
|||
* **/
|
||||
DiffDirectionOp diff_direction;
|
||||
/***
|
||||
* the step to decide the next key of operator Andnot.
|
||||
* the step to decide the next key of operator Andnot.
|
||||
* eg. step = 2 means 2021-07-01 - 2021-07-03 for day '2021-07-01'
|
||||
* the value by user is an absolute UInt64 number
|
||||
***/
|
||||
|
|
|
@ -122,7 +122,7 @@ template<typename T, typename = std::enable_if_t< std::is_integral_v<T> > >
|
|||
struct AggregateFunctionBitMapExtractData
|
||||
{
|
||||
AggregateFunctionBitMapData<T> bitmap_data;
|
||||
|
||||
|
||||
void merge(AggregateFunctionBitMapExtractData<T> & rhs)
|
||||
{
|
||||
if (bitmap_data.empty())
|
||||
|
@ -181,8 +181,8 @@ public:
|
|||
T key = column_key.getElement(row_num);
|
||||
|
||||
// use's key in this range may get the intermediate cached results
|
||||
if (key >= final_key && key < 0)
|
||||
throw Exception("The tag (or bitmap key): " + std::to_string(key) + " affects the computation, " +
|
||||
if (key >= final_key && key < 0)
|
||||
throw Exception("The tag (or bitmap key): " + std::to_string(key) + " affects the computation, " +
|
||||
"please change another number, maybe positive number is better", ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
const auto & column_bitmap = static_cast<const ColumnBitMap64 &>(*columns[1]);
|
||||
|
@ -337,9 +337,9 @@ public:
|
|||
T key = column_key.getElement(row_num);
|
||||
|
||||
// use's key in this range may get the intermediate cached results
|
||||
if (std::any_of(final_keys.begin(), final_keys.end(), [&](T final_key) {
|
||||
if (std::any_of(final_keys.begin(), final_keys.end(), [&](T final_key) {
|
||||
return key >= final_key && key < 0; }))
|
||||
throw Exception("The tag (or bitmap key): " + std::to_string(key) + " affects the computation, " +
|
||||
throw Exception("The tag (or bitmap key): " + std::to_string(key) + " affects the computation, " +
|
||||
"please change another number, maybe positive number is better", ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
const auto & column_bitmap = static_cast<const ColumnBitMap64 &>(*columns[1]);
|
||||
|
@ -1025,7 +1025,7 @@ public:
|
|||
|
||||
// use's key in this range may get the intermediate cached results
|
||||
if (key >= final_key && key < 0)
|
||||
throw Exception("The tag (or bitmap key): " + std::to_string(key) + " affects the computation, " +
|
||||
throw Exception("The tag (or bitmap key): " + std::to_string(key) + " affects the computation, " +
|
||||
"please change another number, maybe positive number is better", ErrorCodes::LOGICAL_ERROR);
|
||||
|
||||
const auto & column_bitmap = static_cast<const ColumnBitMap64 &>(*columns[1]);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue