X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=bmw%2Ff1_autogen.c;fp=bmw%2Ff1_autogen.c;h=31217b77bee6f80394cf2fa31c28021af78a614a;hb=702e23d6807714e4da96104bc1223b1149a4da27;hp=0000000000000000000000000000000000000000;hpb=f59c19cdaa2b415ea72a30083ee7df085c2a6ae9;p=arm-crypto-lib.git diff --git a/bmw/f1_autogen.c b/bmw/f1_autogen.c new file mode 100644 index 0000000..31217b7 --- /dev/null +++ b/bmw/f1_autogen.c @@ -0,0 +1,200 @@ +/* BEGIN of automatic generated code */ + +static inline +void bmw_small_f1(uint32_t* q, const void* m, const void* h){ +/* expand_1( 0) */ + q[16] = + (( ROTL32(((uint32_t*)m)[ 0], 1) + + ROTL32(((uint32_t*)m)[ 3], 4) + - ROTL32(((uint32_t*)m)[10], 11) + + 0x55555550UL + )^ ((uint32_t*)h)[ 7] + ) + + S32_1(q[ 0]) + S32_2(q[ 1]) + S32_3(q[ 2]) + S32_0(q[ 3]) + + S32_1(q[ 4]) + S32_2(q[ 5]) + S32_3(q[ 6]) + S32_0(q[ 7]) + + S32_1(q[ 8]) + S32_2(q[ 9]) + S32_3(q[10]) + S32_0(q[11]) + + S32_1(q[12]) + S32_2(q[13]) + S32_3(q[14]) + S32_0(q[15]); +/* expand_1( 1) */ + q[17] = + (( ROTL32(((uint32_t*)m)[ 1], 2) + + ROTL32(((uint32_t*)m)[ 4], 5) + - ROTL32(((uint32_t*)m)[11], 12) + + 0x5aaaaaa5UL + )^ ((uint32_t*)h)[ 8] + ) + + S32_1(q[ 1]) + S32_2(q[ 2]) + S32_3(q[ 3]) + S32_0(q[ 4]) + + S32_1(q[ 5]) + S32_2(q[ 6]) + S32_3(q[ 7]) + S32_0(q[ 8]) + + S32_1(q[ 9]) + S32_2(q[10]) + S32_3(q[11]) + S32_0(q[12]) + + S32_1(q[13]) + S32_2(q[14]) + S32_3(q[15]) + S32_0(q[16]); +/* expand_2( 2) */ + q[18] = + (( ROTL32(((uint32_t*)m)[ 2], 3) + + ROTL32(((uint32_t*)m)[ 5], 6) + - ROTL32(((uint32_t*)m)[12], 13) + + 0x5ffffffaUL + )^ ((uint32_t*)h)[ 9] + ) + + q[ 2] + R32_1(q[ 3]) + q[ 4] + R32_2(q[ 5]) + + q[ 6] + R32_3(q[ 7]) + q[ 8] + R32_4(q[ 9]) + + q[10] + R32_5(q[11]) + q[12] + R32_6(q[13]) + + q[14] + R32_7(q[15]) + S32_4(q[16]) + S32_5(q[17]); +/* expand_2( 3) */ + q[19] = + (( ROTL32(((uint32_t*)m)[ 3], 4) + + ROTL32(((uint32_t*)m)[ 6], 7) + - ROTL32(((uint32_t*)m)[13], 14) + + 0x6555554fUL + )^ ((uint32_t*)h)[10] + ) + + q[ 3] + R32_1(q[ 4]) + q[ 5] + R32_2(q[ 6]) + + q[ 7] + R32_3(q[ 8]) + q[ 9] + R32_4(q[10]) + + q[11] + R32_5(q[12]) + q[13] + R32_6(q[14]) + + q[15] + R32_7(q[16]) + S32_4(q[17]) + S32_5(q[18]); +/* expand_2( 4) */ + q[20] = + (( ROTL32(((uint32_t*)m)[ 4], 5) + + ROTL32(((uint32_t*)m)[ 7], 8) + - ROTL32(((uint32_t*)m)[14], 15) + + 0x6aaaaaa4UL + )^ ((uint32_t*)h)[11] + ) + + q[ 4] + R32_1(q[ 5]) + q[ 6] + R32_2(q[ 7]) + + q[ 8] + R32_3(q[ 9]) + q[10] + R32_4(q[11]) + + q[12] + R32_5(q[13]) + q[14] + R32_6(q[15]) + + q[16] + R32_7(q[17]) + S32_4(q[18]) + S32_5(q[19]); +/* expand_2( 5) */ + q[21] = + (( ROTL32(((uint32_t*)m)[ 5], 6) + + ROTL32(((uint32_t*)m)[ 8], 9) + - ROTL32(((uint32_t*)m)[15], 16) + + 0x6ffffff9UL + )^ ((uint32_t*)h)[12] + ) + + q[ 5] + R32_1(q[ 6]) + q[ 7] + R32_2(q[ 8]) + + q[ 9] + R32_3(q[10]) + q[11] + R32_4(q[12]) + + q[13] + R32_5(q[14]) + q[15] + R32_6(q[16]) + + q[17] + R32_7(q[18]) + S32_4(q[19]) + S32_5(q[20]); +/* expand_2( 6) */ + q[22] = + (( ROTL32(((uint32_t*)m)[ 6], 7) + + ROTL32(((uint32_t*)m)[ 9], 10) + - ROTL32(((uint32_t*)m)[ 0], 1) + + 0x7555554eUL + )^ ((uint32_t*)h)[13] + ) + + q[ 6] + R32_1(q[ 7]) + q[ 8] + R32_2(q[ 9]) + + q[10] + R32_3(q[11]) + q[12] + R32_4(q[13]) + + q[14] + R32_5(q[15]) + q[16] + R32_6(q[17]) + + q[18] + R32_7(q[19]) + S32_4(q[20]) + S32_5(q[21]); +/* expand_2( 7) */ + q[23] = + (( ROTL32(((uint32_t*)m)[ 7], 8) + + ROTL32(((uint32_t*)m)[10], 11) + - ROTL32(((uint32_t*)m)[ 1], 2) + + 0x7aaaaaa3UL + )^ ((uint32_t*)h)[14] + ) + + q[ 7] + R32_1(q[ 8]) + q[ 9] + R32_2(q[10]) + + q[11] + R32_3(q[12]) + q[13] + R32_4(q[14]) + + q[15] + R32_5(q[16]) + q[17] + R32_6(q[18]) + + q[19] + R32_7(q[20]) + S32_4(q[21]) + S32_5(q[22]); +/* expand_2( 8) */ + q[24] = + (( ROTL32(((uint32_t*)m)[ 8], 9) + + ROTL32(((uint32_t*)m)[11], 12) + - ROTL32(((uint32_t*)m)[ 2], 3) + + 0x7ffffff8UL + )^ ((uint32_t*)h)[15] + ) + + q[ 8] + R32_1(q[ 9]) + q[10] + R32_2(q[11]) + + q[12] + R32_3(q[13]) + q[14] + R32_4(q[15]) + + q[16] + R32_5(q[17]) + q[18] + R32_6(q[19]) + + q[20] + R32_7(q[21]) + S32_4(q[22]) + S32_5(q[23]); +/* expand_2( 9) */ + q[25] = + (( ROTL32(((uint32_t*)m)[ 9], 10) + + ROTL32(((uint32_t*)m)[12], 13) + - ROTL32(((uint32_t*)m)[ 3], 4) + + 0x8555554dUL + )^ ((uint32_t*)h)[ 0] + ) + + q[ 9] + R32_1(q[10]) + q[11] + R32_2(q[12]) + + q[13] + R32_3(q[14]) + q[15] + R32_4(q[16]) + + q[17] + R32_5(q[18]) + q[19] + R32_6(q[20]) + + q[21] + R32_7(q[22]) + S32_4(q[23]) + S32_5(q[24]); +/* expand_2(10) */ + q[26] = + (( ROTL32(((uint32_t*)m)[10], 11) + + ROTL32(((uint32_t*)m)[13], 14) + - ROTL32(((uint32_t*)m)[ 4], 5) + + 0x8aaaaaa2UL + )^ ((uint32_t*)h)[ 1] + ) + + q[10] + R32_1(q[11]) + q[12] + R32_2(q[13]) + + q[14] + R32_3(q[15]) + q[16] + R32_4(q[17]) + + q[18] + R32_5(q[19]) + q[20] + R32_6(q[21]) + + q[22] + R32_7(q[23]) + S32_4(q[24]) + S32_5(q[25]); +/* expand_2(11) */ + q[27] = + (( ROTL32(((uint32_t*)m)[11], 12) + + ROTL32(((uint32_t*)m)[14], 15) + - ROTL32(((uint32_t*)m)[ 5], 6) + + 0x8ffffff7UL + )^ ((uint32_t*)h)[ 2] + ) + + q[11] + R32_1(q[12]) + q[13] + R32_2(q[14]) + + q[15] + R32_3(q[16]) + q[17] + R32_4(q[18]) + + q[19] + R32_5(q[20]) + q[21] + R32_6(q[22]) + + q[23] + R32_7(q[24]) + S32_4(q[25]) + S32_5(q[26]); +/* expand_2(12) */ + q[28] = + (( ROTL32(((uint32_t*)m)[12], 13) + + ROTL32(((uint32_t*)m)[15], 16) + - ROTL32(((uint32_t*)m)[ 6], 7) + + 0x9555554cUL + )^ ((uint32_t*)h)[ 3] + ) + + q[12] + R32_1(q[13]) + q[14] + R32_2(q[15]) + + q[16] + R32_3(q[17]) + q[18] + R32_4(q[19]) + + q[20] + R32_5(q[21]) + q[22] + R32_6(q[23]) + + q[24] + R32_7(q[25]) + S32_4(q[26]) + S32_5(q[27]); +/* expand_2(13) */ + q[29] = + (( ROTL32(((uint32_t*)m)[13], 14) + + ROTL32(((uint32_t*)m)[ 0], 1) + - ROTL32(((uint32_t*)m)[ 7], 8) + + 0x9aaaaaa1UL + )^ ((uint32_t*)h)[ 4] + ) + + q[13] + R32_1(q[14]) + q[15] + R32_2(q[16]) + + q[17] + R32_3(q[18]) + q[19] + R32_4(q[20]) + + q[21] + R32_5(q[22]) + q[23] + R32_6(q[24]) + + q[25] + R32_7(q[26]) + S32_4(q[27]) + S32_5(q[28]); +/* expand_2(14) */ + q[30] = + (( ROTL32(((uint32_t*)m)[14], 15) + + ROTL32(((uint32_t*)m)[ 1], 2) + - ROTL32(((uint32_t*)m)[ 8], 9) + + 0x9ffffff6UL + )^ ((uint32_t*)h)[ 5] + ) + + q[14] + R32_1(q[15]) + q[16] + R32_2(q[17]) + + q[18] + R32_3(q[19]) + q[20] + R32_4(q[21]) + + q[22] + R32_5(q[23]) + q[24] + R32_6(q[25]) + + q[26] + R32_7(q[27]) + S32_4(q[28]) + S32_5(q[29]); +/* expand_2(15) */ + q[31] = + (( ROTL32(((uint32_t*)m)[15], 16) + + ROTL32(((uint32_t*)m)[ 2], 3) + - ROTL32(((uint32_t*)m)[ 9], 10) + + 0xa555554bUL + )^ ((uint32_t*)h)[ 6] + ) + + q[15] + R32_1(q[16]) + q[17] + R32_2(q[18]) + + q[19] + R32_3(q[20]) + q[21] + R32_4(q[22]) + + q[23] + R32_5(q[24]) + q[25] + R32_6(q[26]) + + q[27] + R32_7(q[28]) + S32_4(q[29]) + S32_5(q[30]); +} + +/* END of automatic generated code */ +