diff --git a/examples/opt/armv7m/dilithium5_ntt_opt_m7.s b/examples/opt/armv7m/dilithium5_ntt_opt_m7.s deleted file mode 100644 index 279a1ff2..00000000 --- a/examples/opt/armv7m/dilithium5_ntt_opt_m7.s +++ /dev/null @@ -1,1992 +0,0 @@ -// based on code by: Markus Krausz (18.03.18) -// date 23.07.21: Now licensed under CC0 with permission of the authors. - -.syntax unified -// 3 -.macro montgomery_mul_32 a, b, Qprime, Q, tmp, tmp2 - smull \tmp, \a, \a, \b - mul \tmp2, \tmp, \Qprime - smlal \tmp, \a, \tmp2, \Q -.endm - -// 2 -.macro addSub1 c0, c1 - add.w \c0, \c0, \c1 - sub.w \c1, \c0, \c1, lsl #1 -.endm - -// 3 -.macro addSub2 c0, c1, c2, c3 - add \c0, \c0, \c1 - add \c2, \c2, \c3 - sub.w \c1, \c0, \c1, lsl #1 - sub.w \c3, \c2, \c3, lsl #1 -.endm - -// 6 -.macro addSub4 c0, c1, c2, c3, c4, c5, c6, c7 - add \c0, \c0, \c1 - add \c2, \c2, \c3 - add \c4, \c4, \c5 - add \c6, \c6, \c7 - sub.w \c1, \c0, \c1, lsl #1 - sub.w \c3, \c2, \c3, lsl #1 - sub.w \c5, \c4, \c5, lsl #1 - sub.w \c7, \c6, \c7, lsl #1 -.endm - -.macro _2_layer_CT_32 c0, c1, c2, c3, zeta0, zeta1, zeta2, Qprime, Q, tmp, tmp2 - montgomery_mul_32 \c2, \zeta0, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c3, \zeta0, \Qprime, \Q, \tmp, \tmp2 - addSub2 \c0, \c2, \c1, \c3 - - montgomery_mul_32 \c1, \zeta1, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c3, \zeta2, \Qprime, \Q, \tmp, \tmp2 - addSub2 \c0, \c1, \c2, \c3 -.endm - -.macro _2_layer_inv_CT_32 c0, c1, c2, c3, zeta0, zeta1, zeta2, Qprime, Q, tmp, tmp2 - montgomery_mul_32 \c1, \zeta0, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c3, \zeta0, \Qprime, \Q, \tmp, \tmp2 - addSub2 \c0, \c1, \c2, \c3 - - montgomery_mul_32 \c2, \zeta1, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c3, \zeta2, \Qprime, \Q, \tmp, \tmp2 - addSub2 \c0, \c2, \c1, \c3 -.endm - -.macro _3_layer_CT_32 c0, c1, c2, c3, c4, c5, c6, c7, xi0, xi1, xi2, xi3, xi4, xi5, xi6, twiddle, Qprime, Q, tmp, tmp2 - vmov \twiddle, \xi0 - montgomery_mul_32 \c4, \twiddle, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c5, \twiddle, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c6, \twiddle, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c7, \twiddle, \Qprime, \Q, \tmp, \tmp2 - addSub4 \c0, \c4, \c1, \c5, \c2, \c6, \c3, \c7 - - vmov \twiddle, \xi1 - montgomery_mul_32 \c2, \twiddle, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c3, \twiddle, \Qprime, \Q, \tmp, \tmp2 - vmov \twiddle, \xi2 - montgomery_mul_32 \c6, \twiddle, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c7, \twiddle, \Qprime, \Q, \tmp, \tmp2 - addSub4 \c0, \c2, \c1, \c3, \c4, \c6, \c5, \c7 - - vmov \twiddle, \xi3 - montgomery_mul_32 \c1, \twiddle, \Qprime, \Q, \tmp, \tmp2 - vmov \twiddle, \xi4 - montgomery_mul_32 \c3, \twiddle, \Qprime, \Q, \tmp, \tmp2 - vmov \twiddle, \xi5 - montgomery_mul_32 \c5, \twiddle, \Qprime, \Q, \tmp, \tmp2 - vmov \twiddle, \xi6 - montgomery_mul_32 \c7, \twiddle, \Qprime, \Q, \tmp, \tmp2 - addSub4 \c0, \c1, \c2, \c3, \c4, \c5, \c6, \c7 -.endm - -.macro _3_layer_inv_CT_32 c0, c1, c2, c3, c4, c5, c6, c7, xi0, xi1, xi2, xi3, xi4, xi5, xi6, twiddle, Qprime, Q, tmp, tmp2 - vmov \twiddle, \xi0 - montgomery_mul_32 \c1, \twiddle, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c3, \twiddle, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c5, \twiddle, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c7, \twiddle, \Qprime, \Q, \tmp, \tmp2 - addSub4 \c0, \c1, \c2, \c3, \c4, \c5, \c6, \c7 - - vmov \twiddle, \xi1 - montgomery_mul_32 \c2, \twiddle, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c6, \twiddle, \Qprime, \Q, \tmp, \tmp2 - vmov \twiddle, \xi2 - montgomery_mul_32 \c3, \twiddle, \Qprime, \Q, \tmp, \tmp2 - montgomery_mul_32 \c7, \twiddle, \Qprime, \Q, \tmp, \tmp2 - addSub4 \c0, \c2, \c1, \c3, \c4, \c6, \c5, \c7 - - vmov \twiddle, \xi3 - montgomery_mul_32 \c4, \twiddle, \Qprime, \Q, \tmp, \tmp2 - vmov \twiddle, \xi4 - montgomery_mul_32 \c5, \twiddle, \Qprime, \Q, \tmp, \tmp2 - vmov \twiddle, \xi5 - montgomery_mul_32 \c6, \twiddle, \Qprime, \Q, \tmp, \tmp2 - vmov \twiddle, \xi6 - montgomery_mul_32 \c7, \twiddle, \Qprime, \Q, \tmp, \tmp2 - addSub4 \c0, \c4, \c1, \c5, \c2, \c6, \c3, \c7 -.endm - -/************************************************************ -* Name: _3_layer_inv_butterfly_light_fast_first -* -* Description: upper half of 3-layer inverse butterfly -* defined over X^8 - 1 -* -* Input: (c4, c1, c6, c3) = coefficients on the upper half; -* (xi0, xi1, xi2, xi3, xi4, xi5, xi6) = -* ( 1, 1, w_4, 1, w_8, w_4, w_8^3) in -* Montgomery domain -* -* Symbols: R = 2^32 -* -* Constants: Qprime = -MOD^{-1} mod^{+-} R, Q = MOD -* -* Output: -* c4 = c4 + c1 + (c6 + c3) -* c5 = (c4 - c1) w_4 + (c6 + c3) w_8^3 -* c6 = c4 + c1 - (c6 + c3) -* c7 = (c4 - c1) w_8^3 + (c6 + c3) w_4 -************************************************************/ -// 15 -.macro _3_layer_inv_butterfly_light_fast_first c0, c1, c2, c3, c4, c5, c6, c7, xi0, xi1, xi2, xi3, xi4, xi5, xi6, twiddle, Qprime, Q, tmp, tmp2 - addSub2 \c4, \c1, \c6, \c3 - addSub1 \c4, \c6 - - vmov \tmp, \xi4 - vmov \tmp2, \xi6 - - smull \c0, \c5, \c1, \tmp - smlal \c0, \c5, \c3, \tmp2 - mul \twiddle, \c0, \Qprime - smlal \c0, \c5, \twiddle, \Q - - smull \c2, \c7, \c1, \tmp2 - smlal \c2, \c7, \c3, \tmp - mul \twiddle, \c2, \Qprime - smlal \c2, \c7, \twiddle, \Q -.endm - -/************************************************************ -* Name: _3_layer_inv_butterfly_light_fast_second -* -* Description: lower half of 3-layer inverse butterfly -* defined over X^8 - 1, and the 2nd -* layer of butterflies -* -* Input: -* (c4, c5, c6, c7) = results of the upper half; -* (c0, c1, c2, c3) = coefficients on the lower half; -* (xi0, xi1, xi2, xi3, xi4, xi5, xi6) = -* ( 1, 1, w_4, 1, w_8, w_4, w_8^3) in -* Montgomery domain -* -* Symbols: R = 2^32 -* -* Constants: Qprime = -MOD^{-1} mod^{+-} R, Q = MOD -* -* Output: (normal order) -* c0 = c0 + c1 + (c2 + c3) + ( c4 + c5 + (c6 + c7) ) -* c1 = (c0 - c1) w3 + (c2 - c3) w4 + ( (c4 - c5) w5 + (c6 - c7) w6 ) -* c2 = ( c0 + c1 - (c2 + c3)) w1 + (( c4 + c5 - (c6 + c7) ) w2) -* c3 = ((c0 - c1) w3 - (c2 - c3) w4) w1 + (((c4 - c5) w5 - (c6 - c7) w6) w2) -* c4 = c0 + c1 - (c2 + c3) - ( c4 + c5 + (c6 + c7) ) w0 -* c5 = (c0 - c1) w3 + (c2 - c3) w4 - ( (c4 - c5) w5 + (c6 - c7) w6 ) w0 -* c6 = ( c0 + c1 - (c2 + c3)) w1 - (( c4 + c5 - (c6 + c7) ) w2) w0 -* c7 = ((c0 - c1) w3 - (c2 - c3) w4) w1 - (((c4 - c5) w5 - (c6 - c7) w6) w2) w0 -************************************************************/ -// 19 -.macro _3_layer_inv_butterfly_light_fast_second c0, c1, c2, c3, c4, c5, c6, c7, xi0, xi1, xi2, xi3, xi4, xi5, xi6, twiddle, Qprime, Q, tmp, tmp2 - addSub2 \c0, \c1, \c2, \c3 - - vmov \twiddle, \xi2 - montgomery_mul_32 \c3, \twiddle, \Qprime, \Q, \tmp, \tmp2 - addSub2 \c0, \c2, \c1, \c3 - - montgomery_mul_32 \c6, \twiddle, \Qprime, \Q, \tmp, \tmp2 - - addSub4 \c0, \c4, \c1, \c5, \c2, \c6, \c3, \c7 -.endm - -// This code uses UMULL - which is constant time on the M4, but not on the M3 -// Make sure that this code is never used on an M3 -smlad r0,r0,r0,r0 - -// ############################## -// ########## NTT ########## -// ############################## - -// void pqcrystals_dilithium_ntt(int32_t p[N]); -.global pqcrystals_dilithium_ntt_opt_m7 -#ifndef __CLANG__ -.type pqcrystals_dilithium_ntt_opt_m7,%function -#endif -.align 2 -pqcrystals_dilithium_ntt_opt_m7: - // bind aliases - ptr_p .req R0 - ptr_zeta .req R1 - zeta .req R1 - qinv .req R2 - q .req R3 - cntr .req R4 - pol4 .req R4 - pol0 .req R5 - pol1 .req R6 - pol2 .req R7 - pol3 .req R8 - temp_h .req R9 - temp_l .req R10 - zeta0 .req R11 - zeta1 .req R12 - zeta2 .req R14 - pol5 .req R11 - pol6 .req R12 - pol7 .req R14 - - // preserve registers - push {R4-R11, R14} - - // load constants, ptr - ldr.w qinv, inv_ntt_asm_smull_qinv // -qinv_signed - ldr.w q, inv_ntt_asm_smull_q - - // stage 1 - 3 - .equ distance, 512 - .equ strincr, 4 - - ldr ptr_zeta, =zetas_new332 - vldm ptr_zeta!, {s2-s8} - vmov s0, ptr_zeta - - add.w temp_l, ptr_p, #32*strincr // 32 iterations - vmov s9, temp_l - 1: - layer123_start: - // Instructions: 84 - // Expected cycles: 45 - // Expected IPC: 1.87 - // - // Wall time: 2923.84s - // User time: 2923.84s - // - // -------------------------------- original position --------------------------------> - // 0 25 50 75 - // |------------------------|------------------------|------------------------|-------- - // gap // .................................................................................... - ldr.w r7, [r0, #7*distance/4] // .......*............................................................................ - vmov r4, s2 // ........*........................................................................... - ldr.w r6, [r0, #5*distance/4] // .....*.............................................................................. - ldr.w r9, [r0, #1*distance/4] // .*.................................................................................. - smull r11, r8, r7, r4 // ..................*................................................................. - smull r1, r10, r6, r4 // ............*....................................................................... - ldr.w r5, [r0, #6*distance/4] // ......*............................................................................. - mul r6, r11, r2 // ...................*................................................................ - ldr.w r7, [r0, #3*distance/4] // ...*................................................................................ - mul r14, r1, r2 // .............*...................................................................... - // gap // .................................................................................... - vmov r12, s4 // ....................................*............................................... - smlal r11, r8, r6, r3 // ....................*............................................................... - // gap // .................................................................................... - smull r5, r11, r5, r4 // ...............*.................................................................... - add r7, r7, r8 // ........................*........................................................... - smlal r1, r10, r14, r3 // ..............*..................................................................... - mul r6, r5, r2 // ................*................................................................... - sub.w r14, r7, r8, lsl #1 // ............................*....................................................... - add r9, r9, r10 // ......................*............................................................. - smull r1, r14, r14, r12 // ........................................*........................................... - smlal r5, r11, r6, r3 // .................*.................................................................. - ldr.w r6, [r0, #4*distance/4] // ....*............................................................................... - ldr.w r8, [r0, #2*distance/4] // ..*................................................................................. - mul r5, r1, r2 // .........................................*.......................................... - sub.w r10, r9, r10, lsl #1 // ..........................*......................................................... - smull r6, r4, r6, r4 // .........*.......................................................................... - smlal r1, r14, r5, r3 // ..........................................*......................................... - add r8, r8, r11 // .......................*............................................................ - sub.w r1, r8, r11, lsl #1 // ...........................*........................................................ - mul r5, r6, r2 // ..........*......................................................................... - smull r11, r1, r1, r12 // .....................................*.............................................. - add r12, r10, r14 // ..............................................*..................................... - sub.w r14, r12, r14, lsl #1 // ..................................................*................................. - smlal r6, r4, r5, r3 // ...........*........................................................................ - mul r10, r11, r2 // ......................................*............................................. - vmov r5, s8 // ...............................................................*.................... - smull r6, r5, r14, r5 // ................................................................*................... - ldr.w r14, [r0] // *................................................................................... - smlal r11, r1, r10, r3 // .......................................*............................................ - vmov r11, s7 // ...........................................................*........................ - mul r10, r6, r2 // .................................................................*.................. - add r14, r14, r4 // .....................*.............................................................. - sub.w r4, r14, r4, lsl #1 // .........................*.......................................................... - smull r11, r12, r12, r11 // ............................................................*....................... - smlal r6, r5, r10, r3 // ..................................................................*................. - add r10, r4, r1 // .............................................*...................................... - sub.w r1, r10, r1, lsl #1 // .................................................*.................................. - vmov r6, s3 // .............................*...................................................... - add r1, r1, r5 // ......................................................................*............. - smull r4, r7, r7, r6 // .................................*.................................................. - str.w r1, [r0, #6*distance/4] // ................................................................................*... - smull r6, r8, r8, r6 // ..............................*..................................................... - sub.w r1, r1, r5, lsl #1 // ..........................................................................*......... - mul r5, r4, r2 // ..................................*................................................. - str.w r1, [r0, #7*distance/4] // .................................................................................*.. - mul r1, r6, r2 // ...............................*.................................................... - smlal r4, r7, r5, r3 // ...................................*................................................ - // gap // .................................................................................... - smlal r6, r8, r1, r3 // ................................*................................................... - vmov r6, s5 // ...................................................*................................ - mul r1, r11, r2 // .............................................................*...................... - add r5, r9, r7 // ............................................*....................................... - sub.w r7, r5, r7, lsl #1 // ................................................*................................... - smull r6, r4, r5, r6 // ....................................................*............................... - add r5, r14, r8 // ...........................................*........................................ - smlal r11, r12, r1, r3 // ..............................................................*..................... - vmov r9, s6 // .......................................................*............................ - mul r1, r6, r2 // .....................................................*.............................. - add r11, r10, r12 // .....................................................................*.............. - smull r9, r7, r7, r9 // ........................................................*........................... - sub.w r12, r11, r12, lsl #1 // .........................................................................*.......... - smlal r6, r4, r1, r3 // ......................................................*............................. - mul r10, r9, r2 // .........................................................*.......................... - str.w r11, [r0, #4*distance/4] // ..............................................................................*..... - add r1, r5, r4 // ...................................................................*................ - sub.w r11, r5, r8, lsl #1 // ...............................................*.................................... - sub.w r8, r1, r4, lsl #1 // .......................................................................*............ - smlal r9, r7, r10, r3 // ..........................................................*......................... - // gap // .................................................................................... - str.w r12, [r0, #5*distance/4] // ...............................................................................*.... - add r4, r11, r7 // ....................................................................*............... - str.w r8, [r0, #1*distance/4] // ...........................................................................*........ - str.w r4, [r0, #2*distance/4] // ............................................................................*....... - sub.w r4, r4, r7, lsl #1 // ........................................................................*........... - str.w r4, [r0, #3*distance/4] // .............................................................................*...... - // gap // .................................................................................... - vmov r10, s9 // ...................................................................................* - str r1, [r0], #strincr // ..................................................................................*. - - // ---------------------------------- new position -----------------------------------> - // 0 25 50 75 - // |------------------------|------------------------|------------------------|-------- - // ldr.w R5, [R0] // ....................................*............................................... - // ldr.w R6, [R0, #1*distance/4] // ...*................................................................................ - // ldr.w R7, [R0, #2*distance/4] // .....................*.............................................................. - // ldr.w R8, [R0, #3*distance/4] // ........*........................................................................... - // ldr.w R4, [R0, #4*distance/4] // ....................*............................................................... - // ldr.w R11, [R0, #5*distance/4] // ..*................................................................................. - // ldr.w R12, [R0, #6*distance/4] // ......*............................................................................. - // ldr.w R14, [R0, #7*distance/4] // *................................................................................... - // vmov R1, s2 // .*.................................................................................. - // smull R9, R4, R4, R1 // ........................*........................................................... - // mul R10, R9, R2 // ............................*....................................................... - // smlal R9, R4, R10, R3 // ................................*................................................... - // smull R9, R11, R11, R1 // .....*.............................................................................. - // mul R10, R9, R2 // .........*.......................................................................... - // smlal R9, R11, R10, R3 // ..............*..................................................................... - // smull R9, R12, R12, R1 // ............*....................................................................... - // mul R10, R9, R2 // ...............*.................................................................... - // smlal R9, R12, R10, R3 // ...................*................................................................ - // smull R9, R14, R14, R1 // ....*............................................................................... - // mul R10, R9, R2 // .......*............................................................................ - // smlal R9, R14, R10, R3 // ...........*........................................................................ - // add R5, R5, R4 // ........................................*........................................... - // add R6, R6, R11 // .................*.................................................................. - // add R7, R7, R12 // ..........................*......................................................... - // add R8, R8, R14 // .............*...................................................................... - // sub.w R4, R5, R4, lsl #1 // .........................................*.......................................... - // sub.w R11, R6, R11, lsl #1 // .......................*............................................................ - // sub.w R12, R7, R12, lsl #1 // ...........................*........................................................ - // sub.w R14, R8, R14, lsl #1 // ................*................................................................... - // vmov R1, s3 // ..............................................*..................................... - // smull R9, R7, R7, R1 // ..................................................*................................. - // mul R10, R9, R2 // ......................................................*............................. - // smlal R9, R7, R10, R3 // ........................................................*........................... - // smull R9, R8, R8, R1 // ................................................*................................... - // mul R10, R9, R2 // ....................................................*............................... - // smlal R9, R8, R10, R3 // .......................................................*............................ - // vmov R1, s4 // ..........*......................................................................... - // smull R9, R12, R12, R1 // .............................*...................................................... - // mul R10, R9, R2 // .................................*.................................................. - // smlal R9, R12, R10, R3 // .....................................*.............................................. - // smull R9, R14, R14, R1 // ..................*................................................................. - // mul R10, R9, R2 // ......................*............................................................. - // smlal R9, R14, R10, R3 // .........................*.......................................................... - // add R5, R5, R7 // ..............................................................*..................... - // add R6, R6, R8 // ...........................................................*........................ - // add R4, R4, R12 // ............................................*....................................... - // add R11, R11, R14 // ..............................*..................................................... - // sub.w R7, R5, R7, lsl #1 // .........................................................................*.......... - // sub.w R8, R6, R8, lsl #1 // ............................................................*....................... - // sub.w R12, R4, R12, lsl #1 // .............................................*...................................... - // sub.w R14, R11, R14, lsl #1 // ...............................*.................................................... - // vmov R1, s5 // .........................................................*.......................... - // smull R9, R6, R6, R1 // .............................................................*...................... - // mul R10, R9, R2 // .................................................................*.................. - // smlal R9, R6, R10, R3 // .....................................................................*.............. - // vmov R1, s6 // ................................................................*................... - // smull R9, R8, R8, R1 // ...................................................................*................ - // mul R10, R9, R2 // ......................................................................*............. - // smlal R9, R8, R10, R3 // ...........................................................................*........ - // vmov R1, s7 // ......................................*............................................. - // smull R9, R11, R11, R1 // ..........................................*......................................... - // mul R10, R9, R2 // ..........................................................*......................... - // smlal R9, R11, R10, R3 // ...............................................................*.................... - // vmov R1, s8 // ..................................*................................................. - // smull R9, R14, R14, R1 // ...................................*................................................ - // mul R10, R9, R2 // .......................................*............................................ - // smlal R9, R14, R10, R3 // ...........................................*........................................ - // add R5, R5, R6 // ........................................................................*........... - // add R7, R7, R8 // .............................................................................*...... - // add R4, R4, R11 // ..................................................................*................. - // add R12, R12, R14 // ...............................................*.................................... - // sub.w R6, R5, R6, lsl #1 // ..........................................................................*......... - // sub.w R8, R7, R8, lsl #1 // ................................................................................*... - // sub.w R11, R4, R11, lsl #1 // ....................................................................*............... - // sub.w R14, R12, R14, lsl #1 // ...................................................*................................ - // str.w R6, [R0, #1*distance/4] // ..............................................................................*..... - // str.w R7, [R0, #2*distance/4] // ...............................................................................*.... - // str.w R8, [R0, #3*distance/4] // .................................................................................*.. - // str.w R4, [R0, #4*distance/4] // .......................................................................*............ - // str.w R11, [R0, #5*distance/4] // ............................................................................*....... - // str.w R12, [R0, #6*distance/4] // .................................................*.................................. - // str.w R14, [R0, #7*distance/4] // .....................................................*.............................. - // str R5, [R0], #strincr // ...................................................................................* - // vmov R10, s9 // ..................................................................................*. - - // - // LLVM MCA STATISTICS (ORIGINAL) BEGIN - // - // - // [0] Code Region - // - // Iterations: 100 - // Instructions: 8400 - // Total Cycles: 10701 - // Total uOps: 8400 - // - // Dispatch Width: 2 - // uOps Per Cycle: 0.78 - // IPC: 0.78 - // Block RThroughput: 42.0 - // - // - // Cycles with backend pressure increase [ 78.49% ] - // Throughput Bottlenecks: - // Resource Pressure [ 18.69% ] - // Data Dependencies: [ 59.80% ] - // - Register Dependencies [ 59.80% ] - // - Memory Dependencies [ 0.00% ] - // - // - // Instruction Info: - // [1]: #uOps - // [2]: Latency - // [3]: RThroughput - // [4]: MayLoad - // [5]: MayStore - // [6]: HasSideEffects (U) - // - // [1] [2] [3] [4] [5] [6] Instructions: - // 1 2 0.50 * ldr.w r5, [r0] - // 1 2 0.50 * ldr.w r6, [r0, #128] - // 1 2 0.50 * ldr.w r7, [r0, #256] - // 1 2 0.50 * ldr.w r8, [r0, #384] - // 1 2 0.50 * ldr.w r4, [r0, #512] - // 1 2 0.50 * ldr.w r11, [r0, #640] - // 1 2 0.50 * ldr.w r12, [r0, #768] - // 1 2 0.50 * ldr.w lr, [r0, #896] - // 1 3 0.50 vmov r1, s2 - // 1 2 1.00 smull r9, r4, r4, r1 - // 1 2 1.00 mul r10, r9, r2 - // 1 2 1.00 smlal r9, r4, r10, r3 - // 1 2 1.00 smull r9, r11, r11, r1 - // 1 2 1.00 mul r10, r9, r2 - // 1 2 1.00 smlal r9, r11, r10, r3 - // 1 2 1.00 smull r9, r12, r12, r1 - // 1 2 1.00 mul r10, r9, r2 - // 1 2 1.00 smlal r9, r12, r10, r3 - // 1 2 1.00 smull r9, lr, lr, r1 - // 1 2 1.00 mul r10, r9, r2 - // 1 2 1.00 smlal r9, lr, r10, r3 - // 1 1 0.50 add r5, r4 - // 1 1 0.50 add r6, r11 - // 1 1 0.50 add r7, r12 - // 1 1 0.50 add r8, lr - // 1 2 1.00 sub.w r4, r5, r4, lsl #1 - // 1 2 1.00 sub.w r11, r6, r11, lsl #1 - // 1 2 1.00 sub.w r12, r7, r12, lsl #1 - // 1 2 1.00 sub.w lr, r8, lr, lsl #1 - // 1 3 0.50 vmov r1, s3 - // 1 2 1.00 smull r9, r7, r7, r1 - // 1 2 1.00 mul r10, r9, r2 - // 1 2 1.00 smlal r9, r7, r10, r3 - // 1 2 1.00 smull r9, r8, r8, r1 - // 1 2 1.00 mul r10, r9, r2 - // 1 2 1.00 smlal r9, r8, r10, r3 - // 1 3 0.50 vmov r1, s4 - // 1 2 1.00 smull r9, r12, r12, r1 - // 1 2 1.00 mul r10, r9, r2 - // 1 2 1.00 smlal r9, r12, r10, r3 - // 1 2 1.00 smull r9, lr, lr, r1 - // 1 2 1.00 mul r10, r9, r2 - // 1 2 1.00 smlal r9, lr, r10, r3 - // 1 1 0.50 add r5, r7 - // 1 1 0.50 add r6, r8 - // 1 1 0.50 add r4, r12 - // 1 1 0.50 add r11, lr - // 1 2 1.00 sub.w r7, r5, r7, lsl #1 - // 1 2 1.00 sub.w r8, r6, r8, lsl #1 - // 1 2 1.00 sub.w r12, r4, r12, lsl #1 - // 1 2 1.00 sub.w lr, r11, lr, lsl #1 - // 1 3 0.50 vmov r1, s5 - // 1 2 1.00 smull r9, r6, r6, r1 - // 1 2 1.00 mul r10, r9, r2 - // 1 2 1.00 smlal r9, r6, r10, r3 - // 1 3 0.50 vmov r1, s6 - // 1 2 1.00 smull r9, r8, r8, r1 - // 1 2 1.00 mul r10, r9, r2 - // 1 2 1.00 smlal r9, r8, r10, r3 - // 1 3 0.50 vmov r1, s7 - // 1 2 1.00 smull r9, r11, r11, r1 - // 1 2 1.00 mul r10, r9, r2 - // 1 2 1.00 smlal r9, r11, r10, r3 - // 1 3 0.50 vmov r1, s8 - // 1 2 1.00 smull r9, lr, lr, r1 - // 1 2 1.00 mul r10, r9, r2 - // 1 2 1.00 smlal r9, lr, r10, r3 - // 1 1 0.50 add r5, r6 - // 1 1 0.50 add r7, r8 - // 1 1 0.50 add r4, r11 - // 1 1 0.50 add r12, lr - // 1 2 1.00 sub.w r6, r5, r6, lsl #1 - // 1 2 1.00 sub.w r8, r7, r8, lsl #1 - // 1 2 1.00 sub.w r11, r4, r11, lsl #1 - // 1 2 1.00 sub.w lr, r12, lr, lsl #1 - // 1 3 1.00 * str.w r6, [r0, #128] - // 1 3 1.00 * str.w r7, [r0, #256] - // 1 3 1.00 * str.w r8, [r0, #384] - // 1 3 1.00 * str.w r4, [r0, #512] - // 1 3 1.00 * str.w r11, [r0, #640] - // 1 3 1.00 * str.w r12, [r0, #768] - // 1 3 1.00 * str.w lr, [r0, #896] - // 1 3 1.00 * str r5, [r0], #4 - // 1 3 0.50 vmov r10, s9 - // - // - // Dynamic Dispatch Stall Cycles: - // RAT - Register unavailable: 6399 (59.8%) - // RCU - Retire tokens unavailable: 0 - // SCHEDQ - Scheduler full: 0 - // LQ - Load queue full: 0 - // SQ - Store queue full: 0 - // GROUP - Static restrictions on the dispatch group: 2000 (18.7%) - // USH - Uncategorised Structural Hazard: 0 - // - // - // Dispatch Logic - number of cycles where we saw N micro opcodes dispatched: - // [# dispatched], [# cycles] - // 0, 4101 (38.3%) - // 1, 4800 (44.9%) - // 2, 1800 (16.8%) - // - // - // Schedulers - number of cycles where we saw N micro opcodes issued: - // [# issued], [# cycles] - // 0, 4101 (38.3%) - // 1, 4800 (44.9%) - // 2, 1800 (16.8%) - // - // Scheduler's queue usage: - // No scheduler resources used. - // - // - // Register File statistics: - // Total number of mappings created: 10100 - // Max number of mappings used: 4 - // - // - // Resources: - // [0.0] - M7UnitALU - // [0.1] - M7UnitALU - // [1] - M7UnitBranch - // [2] - M7UnitLoadH - // [3] - M7UnitLoadL - // [4] - M7UnitMAC - // [5] - M7UnitSIMD - // [6] - M7UnitShift1 - // [7] - M7UnitShift2 - // [8] - M7UnitStore - // [9] - M7UnitVFP - // [10] - M7UnitVPortH - // [11] - M7UnitVPortL - // - // - // Resource pressure per iteration: - // [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] - // 12.00 12.00 - 4.00 4.00 36.00 - 12.00 - 8.00 - 4.00 4.00 - // - // Resource pressure by instruction: - // [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: - // - - - - 1.00 - - - - - - - - ldr.w r5, [r0] - // - - - 1.00 - - - - - - - - - ldr.w r6, [r0, #128] - // - - - - 1.00 - - - - - - - - ldr.w r7, [r0, #256] - // - - - 1.00 - - - - - - - - - ldr.w r8, [r0, #384] - // - - - - 1.00 - - - - - - - - ldr.w r4, [r0, #512] - // - - - 1.00 - - - - - - - - - ldr.w r11, [r0, #640] - // - - - - 1.00 - - - - - - - - ldr.w r12, [r0, #768] - // - - - 1.00 - - - - - - - - - ldr.w lr, [r0, #896] - // - - - - - - - - - - - - 1.00 vmov r1, s2 - // - - - - - 1.00 - - - - - - - smull r9, r4, r4, r1 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - 1.00 - - - - - - - smlal r9, r4, r10, r3 - // - - - - - 1.00 - - - - - - - smull r9, r11, r11, r1 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - 1.00 - - - - - - - smlal r9, r11, r10, r3 - // - - - - - 1.00 - - - - - - - smull r9, r12, r12, r1 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - 1.00 - - - - - - - smlal r9, r12, r10, r3 - // - - - - - 1.00 - - - - - - - smull r9, lr, lr, r1 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - 1.00 - - - - - - - smlal r9, lr, r10, r3 - // - 1.00 - - - - - - - - - - - add r5, r4 - // 1.00 - - - - - - - - - - - - add r6, r11 - // - 1.00 - - - - - - - - - - - add r7, r12 - // 1.00 - - - - - - - - - - - - add r8, lr - // - 1.00 - - - - - 1.00 - - - - - sub.w r4, r5, r4, lsl #1 - // 1.00 - - - - - - 1.00 - - - - - sub.w r11, r6, r11, lsl #1 - // - 1.00 - - - - - 1.00 - - - - - sub.w r12, r7, r12, lsl #1 - // 1.00 - - - - - - 1.00 - - - - - sub.w lr, r8, lr, lsl #1 - // - - - - - - - - - - - 1.00 - vmov r1, s3 - // - - - - - 1.00 - - - - - - - smull r9, r7, r7, r1 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - 1.00 - - - - - - - smlal r9, r7, r10, r3 - // - - - - - 1.00 - - - - - - - smull r9, r8, r8, r1 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - 1.00 - - - - - - - smlal r9, r8, r10, r3 - // - - - - - - - - - - - - 1.00 vmov r1, s4 - // - - - - - 1.00 - - - - - - - smull r9, r12, r12, r1 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - 1.00 - - - - - - - smlal r9, r12, r10, r3 - // - - - - - 1.00 - - - - - - - smull r9, lr, lr, r1 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - 1.00 - - - - - - - smlal r9, lr, r10, r3 - // - 1.00 - - - - - - - - - - - add r5, r7 - // 1.00 - - - - - - - - - - - - add r6, r8 - // - 1.00 - - - - - - - - - - - add r4, r12 - // 1.00 - - - - - - - - - - - - add r11, lr - // - 1.00 - - - - - 1.00 - - - - - sub.w r7, r5, r7, lsl #1 - // 1.00 - - - - - - 1.00 - - - - - sub.w r8, r6, r8, lsl #1 - // - 1.00 - - - - - 1.00 - - - - - sub.w r12, r4, r12, lsl #1 - // 1.00 - - - - - - 1.00 - - - - - sub.w lr, r11, lr, lsl #1 - // - - - - - - - - - - - 1.00 - vmov r1, s5 - // - - - - - 1.00 - - - - - - - smull r9, r6, r6, r1 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - 1.00 - - - - - - - smlal r9, r6, r10, r3 - // - - - - - - - - - - - - 1.00 vmov r1, s6 - // - - - - - 1.00 - - - - - - - smull r9, r8, r8, r1 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - 1.00 - - - - - - - smlal r9, r8, r10, r3 - // - - - - - - - - - - - 1.00 - vmov r1, s7 - // - - - - - 1.00 - - - - - - - smull r9, r11, r11, r1 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - 1.00 - - - - - - - smlal r9, r11, r10, r3 - // - - - - - - - - - - - - 1.00 vmov r1, s8 - // - - - - - 1.00 - - - - - - - smull r9, lr, lr, r1 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - 1.00 - - - - - - - smlal r9, lr, r10, r3 - // - 1.00 - - - - - - - - - - - add r5, r6 - // 1.00 - - - - - - - - - - - - add r7, r8 - // - 1.00 - - - - - - - - - - - add r4, r11 - // 1.00 - - - - - - - - - - - - add r12, lr - // - 1.00 - - - - - 1.00 - - - - - sub.w r6, r5, r6, lsl #1 - // 1.00 - - - - - - 1.00 - - - - - sub.w r8, r7, r8, lsl #1 - // - 1.00 - - - - - 1.00 - - - - - sub.w r11, r4, r11, lsl #1 - // 1.00 - - - - - - 1.00 - - - - - sub.w lr, r12, lr, lsl #1 - // - - - - - - - - - 1.00 - - - str.w r6, [r0, #128] - // - - - - - - - - - 1.00 - - - str.w r7, [r0, #256] - // - - - - - - - - - 1.00 - - - str.w r8, [r0, #384] - // - - - - - - - - - 1.00 - - - str.w r4, [r0, #512] - // - - - - - - - - - 1.00 - - - str.w r11, [r0, #640] - // - - - - - - - - - 1.00 - - - str.w r12, [r0, #768] - // - - - - - - - - - 1.00 - - - str.w lr, [r0, #896] - // - - - - - - - - - 1.00 - - - str r5, [r0], #4 - // - - - - - - - - - - - 1.00 - vmov r10, s9 - // - // - // Timeline view: - // 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 - // Index 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 01 - // - // [0,0] DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r5, [r0] - // [0,1] DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r6, [r0, #128] - // [0,2] .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r7, [r0, #256] - // [0,3] .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r8, [r0, #384] - // [0,4] . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r4, [r0, #512] - // [0,5] . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r11, [r0, #640] - // [0,6] . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r12, [r0, #768] - // [0,7] . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w lr, [r0, #896] - // [0,8] . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s2 - // [0,9] . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r4, r4, r1 - // [0,10] . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [0,11] . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r4, r10, r3 - // [0,12] . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r11, r11, r1 - // [0,13] . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [0,14] . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r11, r10, r3 - // [0,15] . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r12, r12, r1 - // [0,16] . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [0,17] . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r12, r10, r3 - // [0,18] . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, lr, lr, r1 - // [0,19] . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [0,20] . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, lr, r10, r3 - // [0,21] . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r5, r4 - // [0,22] . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r6, r11 - // [0,23] . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r7, r12 - // [0,24] . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r8, lr - // [0,25] . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r4, r5, r4, lsl #1 - // [0,26] . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r11, r6, r11, lsl #1 - // [0,27] . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r12, r7, r12, lsl #1 - // [0,28] . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w lr, r8, lr, lsl #1 - // [0,29] . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s3 - // [0,30] . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r7, r7, r1 - // [0,31] . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [0,32] . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r7, r10, r3 - // [0,33] . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r8, r8, r1 - // [0,34] . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [0,35] . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r8, r10, r3 - // [0,36] . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s4 - // [0,37] . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r12, r12, r1 - // [0,38] . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [0,39] . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r12, r10, r3 - // [0,40] . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, lr, lr, r1 - // [0,41] . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [0,42] . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, lr, r10, r3 - // [0,43] . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r5, r7 - // [0,44] . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r6, r8 - // [0,45] . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r4, r12 - // [0,46] . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r11, lr - // [0,47] . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r7, r5, r7, lsl #1 - // [0,48] . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r8, r6, r8, lsl #1 - // [0,49] . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r12, r4, r12, lsl #1 - // [0,50] . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w lr, r11, lr, lsl #1 - // [0,51] . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s5 - // [0,52] . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r6, r6, r1 - // [0,53] . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [0,54] . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r6, r10, r3 - // [0,55] . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s6 - // [0,56] . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r8, r8, r1 - // [0,57] . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [0,58] . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r8, r10, r3 - // [0,59] . . . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s7 - // [0,60] . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r11, r11, r1 - // [0,61] . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [0,62] . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r11, r10, r3 - // [0,63] . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s8 - // [0,64] . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, lr, lr, r1 - // [0,65] . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [0,66] . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, lr, r10, r3 - // [0,67] . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r5, r6 - // [0,68] . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r7, r8 - // [0,69] . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r4, r11 - // [0,70] . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r12, lr - // [0,71] . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r6, r5, r6, lsl #1 - // [0,72] . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r8, r7, r8, lsl #1 - // [0,73] . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r11, r4, r11, lsl #1 - // [0,74] . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w lr, r12, lr, lsl #1 - // [0,75] . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. str.w r6, [r0, #128] - // [0,76] . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. str.w r7, [r0, #256] - // [0,77] . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. str.w r8, [r0, #384] - // [0,78] . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. str.w r4, [r0, #512] - // [0,79] . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. str.w r11, [r0, #640] - // [0,80] . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. str.w r12, [r0, #768] - // [0,81] . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. str.w lr, [r0, #896] - // [0,82] . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. str r5, [r0], #4 - // [0,83] . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r10, s9 - // [1,0] . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r5, [r0] - // [1,1] . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r6, [r0, #128] - // [1,2] . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r7, [r0, #256] - // [1,3] . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r8, [r0, #384] - // [1,4] . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r4, [r0, #512] - // [1,5] . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r11, [r0, #640] - // [1,6] . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w r12, [r0, #768] - // [1,7] . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ldr.w lr, [r0, #896] - // [1,8] . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s2 - // [1,9] . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r4, r4, r1 - // [1,10] . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [1,11] . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r4, r10, r3 - // [1,12] . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r11, r11, r1 - // [1,13] . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [1,14] . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r11, r10, r3 - // [1,15] . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r12, r12, r1 - // [1,16] . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [1,17] . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r12, r10, r3 - // [1,18] . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, lr, lr, r1 - // [1,19] . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [1,20] . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, lr, r10, r3 - // [1,21] . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r5, r4 - // [1,22] . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r6, r11 - // [1,23] . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r7, r12 - // [1,24] . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r8, lr - // [1,25] . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r4, r5, r4, lsl #1 - // [1,26] . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r11, r6, r11, lsl #1 - // [1,27] . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r12, r7, r12, lsl #1 - // [1,28] . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w lr, r8, lr, lsl #1 - // [1,29] . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s3 - // [1,30] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r7, r7, r1 - // [1,31] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [1,32] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r7, r10, r3 - // [1,33] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r8, r8, r1 - // [1,34] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [1,35] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r8, r10, r3 - // [1,36] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s4 - // [1,37] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r12, r12, r1 - // [1,38] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [1,39] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r12, r10, r3 - // [1,40] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, lr, lr, r1 - // [1,41] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [1,42] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, lr, r10, r3 - // [1,43] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r5, r7 - // [1,44] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r6, r8 - // [1,45] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r4, r12 - // [1,46] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. add r11, lr - // [1,47] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r7, r5, r7, lsl #1 - // [1,48] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r8, r6, r8, lsl #1 - // [1,49] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r12, r4, r12, lsl #1 - // [1,50] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. sub.w lr, r11, lr, lsl #1 - // [1,51] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s5 - // [1,52] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r6, r6, r1 - // [1,53] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [1,54] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r6, r10, r3 - // [1,55] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s6 - // [1,56] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r8, r8, r1 - // [1,57] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [1,58] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r8, r10, r3 - // [1,59] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s7 - // [1,60] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, r11, r11, r1 - // [1,61] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [1,62] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, r11, r10, r3 - // [1,63] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . .. vmov r1, s8 - // [1,64] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . .. smull r9, lr, lr, r1 - // [1,65] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [1,66] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . .. smlal r9, lr, r10, r3 - // [1,67] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . .. add r5, r6 - // [1,68] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . .. add r7, r8 - // [1,69] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . .. add r4, r11 - // [1,70] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . .. add r12, lr - // [1,71] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r6, r5, r6, lsl #1 - // [1,72] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r8, r7, r8, lsl #1 - // [1,73] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . .. sub.w r11, r4, r11, lsl #1 - // [1,74] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . .. sub.w lr, r12, lr, lsl #1 - // [1,75] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . .. str.w r6, [r0, #128] - // [1,76] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . .. str.w r7, [r0, #256] - // [1,77] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . .. str.w r8, [r0, #384] - // [1,78] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . .. str.w r4, [r0, #512] - // [1,79] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . .. str.w r11, [r0, #640] - // [1,80] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . .. str.w r12, [r0, #768] - // [1,81] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . .. str.w lr, [r0, #896] - // [1,82] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . .. str r5, [r0], #4 - // [1,83] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . . . . . . . . . .. vmov r10, s9 - // [2,0] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . .. ldr.w r5, [r0] - // [2,1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . .. ldr.w r6, [r0, #128] - // [2,2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . .. ldr.w r7, [r0, #256] - // [2,3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . .. ldr.w r8, [r0, #384] - // [2,4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . .. ldr.w r4, [r0, #512] - // [2,5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . .. ldr.w r11, [r0, #640] - // [2,6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . .. ldr.w r12, [r0, #768] - // [2,7] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . .. ldr.w lr, [r0, #896] - // [2,8] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . .. vmov r1, s2 - // [2,9] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . .. smull r9, r4, r4, r1 - // [2,10] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [2,11] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . .. smlal r9, r4, r10, r3 - // [2,12] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . .. smull r9, r11, r11, r1 - // [2,13] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [2,14] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . .. smlal r9, r11, r10, r3 - // [2,15] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . .. smull r9, r12, r12, r1 - // [2,16] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [2,17] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . .. smlal r9, r12, r10, r3 - // [2,18] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . .. smull r9, lr, lr, r1 - // [2,19] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . .. mul r10, r9, r2 - // [2,20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . .. smlal r9, lr, r10, r3 - // [2,21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . .. add r5, r4 - // [2,22] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . .. add r6, r11 - // [2,23] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . .. add r7, r12 - // [2,24] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . .. add r8, lr - // [2,25] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . .. sub.w r4, r5, r4, lsl #1 - // [2,26] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . .. sub.w r11, r6, r11, lsl #1 - // [2,27] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . .. sub.w r12, r7, r12, lsl #1 - // [2,28] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . .. sub.w lr, r8, lr, lsl #1 - // [2,29] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . . .. vmov r1, s3 - // [2,30] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . .. smull r9, r7, r7, r1 - // [2,31] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . .. mul r10, r9, r2 - // [2,32] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . .. smlal r9, r7, r10, r3 - // [2,33] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . .. smull r9, r8, r8, r1 - // [2,34] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . .. mul r10, r9, r2 - // [2,35] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . .. smlal r9, r8, r10, r3 - // [2,36] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . .. vmov r1, s4 - // [2,37] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . .. smull r9, r12, r12, r1 - // [2,38] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . .. mul r10, r9, r2 - // [2,39] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . .. smlal r9, r12, r10, r3 - // [2,40] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . .. smull r9, lr, lr, r1 - // [2,41] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . .. mul r10, r9, r2 - // [2,42] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . .. smlal r9, lr, r10, r3 - // [2,43] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . .. add r5, r7 - // [2,44] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . .. add r6, r8 - // [2,45] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . .. add r4, r12 - // [2,46] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . .. add r11, lr - // [2,47] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . .. sub.w r7, r5, r7, lsl #1 - // [2,48] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . .. sub.w r8, r6, r8, lsl #1 - // [2,49] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . .. sub.w r12, r4, r12, lsl #1 - // [2,50] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . .. sub.w lr, r11, lr, lsl #1 - // [2,51] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . . . . .. vmov r1, s5 - // [2,52] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . .. smull r9, r6, r6, r1 - // [2,53] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . .. mul r10, r9, r2 - // [2,54] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . .. smlal r9, r6, r10, r3 - // [2,55] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . .. vmov r1, s6 - // [2,56] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . .. smull r9, r8, r8, r1 - // [2,57] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . .. mul r10, r9, r2 - // [2,58] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . .. smlal r9, r8, r10, r3 - // [2,59] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . .. vmov r1, s7 - // [2,60] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . .. smull r9, r11, r11, r1 - // [2,61] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . .. mul r10, r9, r2 - // [2,62] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . .. smlal r9, r11, r10, r3 - // [2,63] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . .. vmov r1, s8 - // [2,64] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . .. smull r9, lr, lr, r1 - // [2,65] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . .. mul r10, r9, r2 - // [2,66] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . .. smlal r9, lr, r10, r3 - // [2,67] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . .. add r5, r6 - // [2,68] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . .. add r7, r8 - // [2,69] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . .. add r4, r11 - // [2,70] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . .. add r12, lr - // [2,71] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . .. sub.w r6, r5, r6, lsl #1 - // [2,72] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . .. sub.w r8, r7, r8, lsl #1 - // [2,73] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . .. sub.w r11, r4, r11, lsl #1 - // [2,74] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . .. sub.w lr, r12, lr, lsl #1 - // [2,75] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . .. str.w r6, [r0, #128] - // [2,76] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . .. str.w r7, [r0, #256] - // [2,77] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. .. str.w r8, [r0, #384] - // [2,78] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE .. str.w r4, [r0, #512] - // [2,79] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE .. str.w r11, [r0, #640] - // [2,80] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE .. str.w r12, [r0, #768] - // [2,81] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE .. str.w lr, [r0, #896] - // [2,82] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. str r5, [r0], #4 - // [2,83] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE vmov r10, s9 - // - // - // Average Wait times (based on the timeline view): - // [0]: Executions - // [1]: Average time spent waiting in a scheduler's queue - // [2]: Average time spent waiting in a scheduler's queue while ready - // [3]: Average time elapsed from WB until retire stage - // - // [0] [1] [2] [3] - // 0. 3 0.0 0.0 0.0 ldr.w r5, [r0] - // 1. 3 0.0 0.0 0.0 ldr.w r6, [r0, #128] - // 2. 3 0.0 0.0 0.0 ldr.w r7, [r0, #256] - // 3. 3 0.0 0.0 0.0 ldr.w r8, [r0, #384] - // 4. 3 0.0 0.0 0.0 ldr.w r4, [r0, #512] - // 5. 3 0.0 0.0 0.0 ldr.w r11, [r0, #640] - // 6. 3 0.0 0.0 0.0 ldr.w r12, [r0, #768] - // 7. 3 0.0 0.0 0.0 ldr.w lr, [r0, #896] - // 8. 3 0.0 0.0 0.0 vmov r1, s2 - // 9. 3 0.0 0.0 0.0 smull r9, r4, r4, r1 - // 10. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 11. 3 0.0 0.0 0.0 smlal r9, r4, r10, r3 - // 12. 3 0.0 0.0 0.0 smull r9, r11, r11, r1 - // 13. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 14. 3 0.0 0.0 0.0 smlal r9, r11, r10, r3 - // 15. 3 0.0 0.0 0.0 smull r9, r12, r12, r1 - // 16. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 17. 3 0.0 0.0 0.0 smlal r9, r12, r10, r3 - // 18. 3 0.0 0.0 0.0 smull r9, lr, lr, r1 - // 19. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 20. 3 0.0 0.0 0.0 smlal r9, lr, r10, r3 - // 21. 3 0.0 0.0 0.0 add r5, r4 - // 22. 3 0.0 0.0 0.0 add r6, r11 - // 23. 3 0.0 0.0 0.0 add r7, r12 - // 24. 3 0.0 0.0 0.0 add r8, lr - // 25. 3 0.0 0.0 0.0 sub.w r4, r5, r4, lsl #1 - // 26. 3 0.0 0.0 0.0 sub.w r11, r6, r11, lsl #1 - // 27. 3 0.0 0.0 0.0 sub.w r12, r7, r12, lsl #1 - // 28. 3 0.0 0.0 0.0 sub.w lr, r8, lr, lsl #1 - // 29. 3 0.0 0.0 0.0 vmov r1, s3 - // 30. 3 0.0 0.0 0.0 smull r9, r7, r7, r1 - // 31. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 32. 3 0.0 0.0 0.0 smlal r9, r7, r10, r3 - // 33. 3 0.0 0.0 0.0 smull r9, r8, r8, r1 - // 34. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 35. 3 0.0 0.0 0.0 smlal r9, r8, r10, r3 - // 36. 3 0.0 0.0 0.0 vmov r1, s4 - // 37. 3 0.0 0.0 0.0 smull r9, r12, r12, r1 - // 38. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 39. 3 0.0 0.0 0.0 smlal r9, r12, r10, r3 - // 40. 3 0.0 0.0 0.0 smull r9, lr, lr, r1 - // 41. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 42. 3 0.0 0.0 0.0 smlal r9, lr, r10, r3 - // 43. 3 0.0 0.0 0.0 add r5, r7 - // 44. 3 0.0 0.0 0.0 add r6, r8 - // 45. 3 0.0 0.0 0.0 add r4, r12 - // 46. 3 0.0 0.0 0.0 add r11, lr - // 47. 3 0.0 0.0 0.0 sub.w r7, r5, r7, lsl #1 - // 48. 3 0.0 0.0 0.0 sub.w r8, r6, r8, lsl #1 - // 49. 3 0.0 0.0 0.0 sub.w r12, r4, r12, lsl #1 - // 50. 3 0.0 0.0 0.0 sub.w lr, r11, lr, lsl #1 - // 51. 3 0.0 0.0 0.0 vmov r1, s5 - // 52. 3 0.0 0.0 0.0 smull r9, r6, r6, r1 - // 53. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 54. 3 0.0 0.0 0.0 smlal r9, r6, r10, r3 - // 55. 3 0.0 0.0 0.0 vmov r1, s6 - // 56. 3 0.0 0.0 0.0 smull r9, r8, r8, r1 - // 57. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 58. 3 0.0 0.0 0.0 smlal r9, r8, r10, r3 - // 59. 3 0.0 0.0 0.0 vmov r1, s7 - // 60. 3 0.0 0.0 0.0 smull r9, r11, r11, r1 - // 61. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 62. 3 0.0 0.0 0.0 smlal r9, r11, r10, r3 - // 63. 3 0.0 0.0 0.0 vmov r1, s8 - // 64. 3 0.0 0.0 0.0 smull r9, lr, lr, r1 - // 65. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 66. 3 0.0 0.0 0.0 smlal r9, lr, r10, r3 - // 67. 3 0.0 0.0 0.0 add r5, r6 - // 68. 3 0.0 0.0 0.0 add r7, r8 - // 69. 3 0.0 0.0 0.0 add r4, r11 - // 70. 3 0.0 0.0 0.0 add r12, lr - // 71. 3 0.0 0.0 0.0 sub.w r6, r5, r6, lsl #1 - // 72. 3 0.0 0.0 0.0 sub.w r8, r7, r8, lsl #1 - // 73. 3 0.0 0.0 0.0 sub.w r11, r4, r11, lsl #1 - // 74. 3 0.0 0.0 0.0 sub.w lr, r12, lr, lsl #1 - // 75. 3 0.0 0.0 0.0 str.w r6, [r0, #128] - // 76. 3 0.0 0.0 0.0 str.w r7, [r0, #256] - // 77. 3 0.0 0.0 0.0 str.w r8, [r0, #384] - // 78. 3 0.0 0.0 0.0 str.w r4, [r0, #512] - // 79. 3 0.0 0.0 0.0 str.w r11, [r0, #640] - // 80. 3 0.0 0.0 0.0 str.w r12, [r0, #768] - // 81. 3 0.0 0.0 0.0 str.w lr, [r0, #896] - // 82. 3 0.0 0.0 0.0 str r5, [r0], #4 - // 83. 3 0.0 0.0 0.0 vmov r10, s9 - // 3 0.0 0.0 0.0 - // - // - // ORIGINAL LLVM MCA STATISTICS (ORIGINAL) END - // - // - // LLVM MCA STATISTICS (OPTIMIZED) BEGIN - // - // - // [0] Code Region - // - // Iterations: 100 - // Instructions: 8400 - // Total Cycles: 6402 - // Total uOps: 8400 - // - // Dispatch Width: 2 - // uOps Per Cycle: 1.31 - // IPC: 1.31 - // Block RThroughput: 42.0 - // - // - // Cycles with backend pressure increase [ 26.52% ] - // Throughput Bottlenecks: - // Resource Pressure [ 4.69% ] - // Data Dependencies: [ 21.84% ] - // - Register Dependencies [ 21.84% ] - // - Memory Dependencies [ 0.00% ] - // - // - // Instruction Info: - // [1]: #uOps - // [2]: Latency - // [3]: RThroughput - // [4]: MayLoad - // [5]: MayStore - // [6]: HasSideEffects (U) - // - // [1] [2] [3] [4] [5] [6] Instructions: - // 1 2 0.50 * ldr.w r7, [r0, #896] - // 1 3 0.50 vmov r4, s2 - // 1 2 0.50 * ldr.w r6, [r0, #640] - // 1 2 0.50 * ldr.w r9, [r0, #128] - // 1 2 1.00 smull r11, r8, r7, r4 - // 1 2 1.00 smull r1, r10, r6, r4 - // 1 2 0.50 * ldr.w r5, [r0, #768] - // 1 2 1.00 mul r6, r11, r2 - // 1 2 0.50 * ldr.w r7, [r0, #384] - // 1 2 1.00 mul lr, r1, r2 - // 1 3 0.50 vmov r12, s4 - // 1 2 1.00 smlal r11, r8, r6, r3 - // 1 2 1.00 smull r5, r11, r5, r4 - // 1 1 0.50 add r7, r8 - // 1 2 1.00 smlal r1, r10, lr, r3 - // 1 2 1.00 mul r6, r5, r2 - // 1 2 1.00 sub.w lr, r7, r8, lsl #1 - // 1 1 0.50 add r9, r10 - // 1 2 1.00 smull r1, lr, lr, r12 - // 1 2 1.00 smlal r5, r11, r6, r3 - // 1 2 0.50 * ldr.w r6, [r0, #512] - // 1 2 0.50 * ldr.w r8, [r0, #256] - // 1 2 1.00 mul r5, r1, r2 - // 1 2 1.00 sub.w r10, r9, r10, lsl #1 - // 1 2 1.00 smull r6, r4, r6, r4 - // 1 2 1.00 smlal r1, lr, r5, r3 - // 1 1 0.50 add r8, r11 - // 1 2 1.00 sub.w r1, r8, r11, lsl #1 - // 1 2 1.00 mul r5, r6, r2 - // 1 2 1.00 smull r11, r1, r1, r12 - // 1 1 0.50 add.w r12, r10, lr - // 1 2 1.00 sub.w lr, r12, lr, lsl #1 - // 1 2 1.00 smlal r6, r4, r5, r3 - // 1 2 1.00 mul r10, r11, r2 - // 1 3 0.50 vmov r5, s8 - // 1 2 1.00 smull r6, r5, lr, r5 - // 1 2 0.50 * ldr.w lr, [r0] - // 1 2 1.00 smlal r11, r1, r10, r3 - // 1 3 0.50 vmov r11, s7 - // 1 2 1.00 mul r10, r6, r2 - // 1 1 0.50 add lr, r4 - // 1 2 1.00 sub.w r4, lr, r4, lsl #1 - // 1 2 1.00 smull r11, r12, r12, r11 - // 1 2 1.00 smlal r6, r5, r10, r3 - // 1 1 0.50 add.w r10, r4, r1 - // 1 2 1.00 sub.w r1, r10, r1, lsl #1 - // 1 3 0.50 vmov r6, s3 - // 1 1 0.50 add r1, r5 - // 1 2 1.00 smull r4, r7, r7, r6 - // 1 3 1.00 * str.w r1, [r0, #768] - // 1 2 1.00 smull r6, r8, r8, r6 - // 1 2 1.00 sub.w r1, r1, r5, lsl #1 - // 1 2 1.00 mul r5, r4, r2 - // 1 3 1.00 * str.w r1, [r0, #896] - // 1 2 1.00 mul r1, r6, r2 - // 1 2 1.00 smlal r4, r7, r5, r3 - // 1 2 1.00 smlal r6, r8, r1, r3 - // 1 3 0.50 vmov r6, s5 - // 1 2 1.00 mul r1, r11, r2 - // 1 1 0.50 add.w r5, r9, r7 - // 1 2 1.00 sub.w r7, r5, r7, lsl #1 - // 1 2 1.00 smull r6, r4, r5, r6 - // 1 1 0.50 add.w r5, lr, r8 - // 1 2 1.00 smlal r11, r12, r1, r3 - // 1 3 0.50 vmov r9, s6 - // 1 2 1.00 mul r1, r6, r2 - // 1 1 0.50 add.w r11, r10, r12 - // 1 2 1.00 smull r9, r7, r7, r9 - // 1 2 1.00 sub.w r12, r11, r12, lsl #1 - // 1 2 1.00 smlal r6, r4, r1, r3 - // 1 2 1.00 mul r10, r9, r2 - // 1 3 1.00 * str.w r11, [r0, #512] - // 1 1 0.50 add.w r1, r5, r4 - // 1 2 1.00 sub.w r11, r5, r8, lsl #1 - // 1 2 1.00 sub.w r8, r1, r4, lsl #1 - // 1 2 1.00 smlal r9, r7, r10, r3 - // 1 3 1.00 * str.w r12, [r0, #640] - // 1 1 0.50 add.w r4, r11, r7 - // 1 3 1.00 * str.w r8, [r0, #128] - // 1 3 1.00 * str.w r4, [r0, #256] - // 1 2 1.00 sub.w r4, r4, r7, lsl #1 - // 1 3 1.00 * str.w r4, [r0, #384] - // 1 3 0.50 vmov r10, s9 - // 1 3 1.00 * str r1, [r0], #4 - // - // - // Dynamic Dispatch Stall Cycles: - // RAT - Register unavailable: 1398 (21.8%) - // RCU - Retire tokens unavailable: 0 - // SCHEDQ - Scheduler full: 0 - // LQ - Load queue full: 0 - // SQ - Store queue full: 0 - // GROUP - Static restrictions on the dispatch group: 300 (4.7%) - // USH - Uncategorised Structural Hazard: 0 - // - // - // Dispatch Logic - number of cycles where we saw N micro opcodes dispatched: - // [# dispatched], [# cycles] - // 0, 602 (9.4%) - // 1, 3200 (50.0%) - // 2, 2600 (40.6%) - // - // - // Schedulers - number of cycles where we saw N micro opcodes issued: - // [# issued], [# cycles] - // 0, 602 (9.4%) - // 1, 3200 (50.0%) - // 2, 2600 (40.6%) - // - // Scheduler's queue usage: - // No scheduler resources used. - // - // - // Register File statistics: - // Total number of mappings created: 10100 - // Max number of mappings used: 5 - // - // - // Resources: - // [0.0] - M7UnitALU - // [0.1] - M7UnitALU - // [1] - M7UnitBranch - // [2] - M7UnitLoadH - // [3] - M7UnitLoadL - // [4] - M7UnitMAC - // [5] - M7UnitSIMD - // [6] - M7UnitShift1 - // [7] - M7UnitShift2 - // [8] - M7UnitStore - // [9] - M7UnitVFP - // [10] - M7UnitVPortH - // [11] - M7UnitVPortL - // - // - // Resource pressure per iteration: - // [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] - // 12.00 12.00 - 4.00 4.00 36.00 - 12.00 - 8.00 - 4.00 4.00 - // - // Resource pressure by instruction: - // [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: - // - - - - 1.00 - - - - - - - - ldr.w r7, [r0, #896] - // - - - - - - - - - - - - 1.00 vmov r4, s2 - // - - - 1.00 - - - - - - - - - ldr.w r6, [r0, #640] - // - - - - 1.00 - - - - - - - - ldr.w r9, [r0, #128] - // - - - - - 1.00 - - - - - - - smull r11, r8, r7, r4 - // - - - - - 1.00 - - - - - - - smull r1, r10, r6, r4 - // - - - 1.00 - - - - - - - - - ldr.w r5, [r0, #768] - // - - - - - 1.00 - - - - - - - mul r6, r11, r2 - // - - - - 1.00 - - - - - - - - ldr.w r7, [r0, #384] - // - - - - - 1.00 - - - - - - - mul lr, r1, r2 - // - - - - - - - - - - - 1.00 - vmov r12, s4 - // - - - - - 1.00 - - - - - - - smlal r11, r8, r6, r3 - // - - - - - 1.00 - - - - - - - smull r5, r11, r5, r4 - // - 1.00 - - - - - - - - - - - add r7, r8 - // - - - - - 1.00 - - - - - - - smlal r1, r10, lr, r3 - // - - - - - 1.00 - - - - - - - mul r6, r5, r2 - // 1.00 - - - - - - 1.00 - - - - - sub.w lr, r7, r8, lsl #1 - // - 1.00 - - - - - - - - - - - add r9, r10 - // - - - - - 1.00 - - - - - - - smull r1, lr, lr, r12 - // - - - - - 1.00 - - - - - - - smlal r5, r11, r6, r3 - // - - - 1.00 - - - - - - - - - ldr.w r6, [r0, #512] - // - - - - 1.00 - - - - - - - - ldr.w r8, [r0, #256] - // - - - - - 1.00 - - - - - - - mul r5, r1, r2 - // 1.00 - - - - - - 1.00 - - - - - sub.w r10, r9, r10, lsl #1 - // - - - - - 1.00 - - - - - - - smull r6, r4, r6, r4 - // - - - - - 1.00 - - - - - - - smlal r1, lr, r5, r3 - // - 1.00 - - - - - - - - - - - add r8, r11 - // 1.00 - - - - - - 1.00 - - - - - sub.w r1, r8, r11, lsl #1 - // - - - - - 1.00 - - - - - - - mul r5, r6, r2 - // - - - - - 1.00 - - - - - - - smull r11, r1, r1, r12 - // - 1.00 - - - - - - - - - - - add.w r12, r10, lr - // 1.00 - - - - - - 1.00 - - - - - sub.w lr, r12, lr, lsl #1 - // - - - - - 1.00 - - - - - - - smlal r6, r4, r5, r3 - // - - - - - 1.00 - - - - - - - mul r10, r11, r2 - // - - - - - - - - - - - - 1.00 vmov r5, s8 - // - - - - - 1.00 - - - - - - - smull r6, r5, lr, r5 - // - - - 1.00 - - - - - - - - - ldr.w lr, [r0] - // - - - - - 1.00 - - - - - - - smlal r11, r1, r10, r3 - // - - - - - - - - - - - 1.00 - vmov r11, s7 - // - - - - - 1.00 - - - - - - - mul r10, r6, r2 - // - 1.00 - - - - - - - - - - - add lr, r4 - // 1.00 - - - - - - 1.00 - - - - - sub.w r4, lr, r4, lsl #1 - // - - - - - 1.00 - - - - - - - smull r11, r12, r12, r11 - // - - - - - 1.00 - - - - - - - smlal r6, r5, r10, r3 - // - 1.00 - - - - - - - - - - - add.w r10, r4, r1 - // 1.00 - - - - - - 1.00 - - - - - sub.w r1, r10, r1, lsl #1 - // - - - - - - - - - - - - 1.00 vmov r6, s3 - // - 1.00 - - - - - - - - - - - add r1, r5 - // - - - - - 1.00 - - - - - - - smull r4, r7, r7, r6 - // - - - - - - - - - 1.00 - - - str.w r1, [r0, #768] - // - - - - - 1.00 - - - - - - - smull r6, r8, r8, r6 - // 1.00 - - - - - - 1.00 - - - - - sub.w r1, r1, r5, lsl #1 - // - - - - - 1.00 - - - - - - - mul r5, r4, r2 - // - - - - - - - - - 1.00 - - - str.w r1, [r0, #896] - // - - - - - 1.00 - - - - - - - mul r1, r6, r2 - // - - - - - 1.00 - - - - - - - smlal r4, r7, r5, r3 - // - - - - - 1.00 - - - - - - - smlal r6, r8, r1, r3 - // - - - - - - - - - - - 1.00 - vmov r6, s5 - // - - - - - 1.00 - - - - - - - mul r1, r11, r2 - // - 1.00 - - - - - - - - - - - add.w r5, r9, r7 - // 1.00 - - - - - - 1.00 - - - - - sub.w r7, r5, r7, lsl #1 - // - - - - - 1.00 - - - - - - - smull r6, r4, r5, r6 - // - 1.00 - - - - - - - - - - - add.w r5, lr, r8 - // - - - - - 1.00 - - - - - - - smlal r11, r12, r1, r3 - // - - - - - - - - - - - - 1.00 vmov r9, s6 - // - - - - - 1.00 - - - - - - - mul r1, r6, r2 - // 1.00 - - - - - - - - - - - - add.w r11, r10, r12 - // - - - - - 1.00 - - - - - - - smull r9, r7, r7, r9 - // - 1.00 - - - - - 1.00 - - - - - sub.w r12, r11, r12, lsl #1 - // - - - - - 1.00 - - - - - - - smlal r6, r4, r1, r3 - // - - - - - 1.00 - - - - - - - mul r10, r9, r2 - // - - - - - - - - - 1.00 - - - str.w r11, [r0, #512] - // 1.00 - - - - - - - - - - - - add.w r1, r5, r4 - // - 1.00 - - - - - 1.00 - - - - - sub.w r11, r5, r8, lsl #1 - // 1.00 - - - - - - 1.00 - - - - - sub.w r8, r1, r4, lsl #1 - // - - - - - 1.00 - - - - - - - smlal r9, r7, r10, r3 - // - - - - - - - - - 1.00 - - - str.w r12, [r0, #640] - // - 1.00 - - - - - - - - - - - add.w r4, r11, r7 - // - - - - - - - - - 1.00 - - - str.w r8, [r0, #128] - // - - - - - - - - - 1.00 - - - str.w r4, [r0, #256] - // 1.00 - - - - - - 1.00 - - - - - sub.w r4, r4, r7, lsl #1 - // - - - - - - - - - 1.00 - - - str.w r4, [r0, #384] - // - - - - - - - - - - - 1.00 - vmov r10, s9 - // - - - - - - - - - 1.00 - - - str r1, [r0], #4 - // - // - // Timeline view: - // 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123 - // Index 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 - // - // [0,0] DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w r7, [r0, #896] - // [0,1] DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vmov r4, s2 - // [0,2] . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w r6, [r0, #640] - // [0,3] . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w r9, [r0, #128] - // [0,4] . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smull r11, r8, r7, r4 - // [0,5] . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smull r1, r10, r6, r4 - // [0,6] . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w r5, [r0, #768] - // [0,7] . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mul r6, r11, r2 - // [0,8] . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w r7, [r0, #384] - // [0,9] . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mul lr, r1, r2 - // [0,10] . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vmov r12, s4 - // [0,11] . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smlal r11, r8, r6, r3 - // [0,12] . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smull r5, r11, r5, r4 - // [0,13] . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add r7, r8 - // [0,14] . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smlal r1, r10, lr, r3 - // [0,15] . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mul r6, r5, r2 - // [0,16] . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sub.w lr, r7, r8, lsl #1 - // [0,17] . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add r9, r10 - // [0,18] . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smull r1, lr, lr, r12 - // [0,19] . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smlal r5, r11, r6, r3 - // [0,20] . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w r6, [r0, #512] - // [0,21] . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w r8, [r0, #256] - // [0,22] . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mul r5, r1, r2 - // [0,23] . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sub.w r10, r9, r10, lsl #1 - // [0,24] . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smull r6, r4, r6, r4 - // [0,25] . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smlal r1, lr, r5, r3 - // [0,26] . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add r8, r11 - // [0,27] . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sub.w r1, r8, r11, lsl #1 - // [0,28] . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mul r5, r6, r2 - // [0,29] . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smull r11, r1, r1, r12 - // [0,30] . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add.w r12, r10, lr - // [0,31] . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sub.w lr, r12, lr, lsl #1 - // [0,32] . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smlal r6, r4, r5, r3 - // [0,33] . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mul r10, r11, r2 - // [0,34] . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vmov r5, s8 - // [0,35] . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smull r6, r5, lr, r5 - // [0,36] . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w lr, [r0] - // [0,37] . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smlal r11, r1, r10, r3 - // [0,38] . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vmov r11, s7 - // [0,39] . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mul r10, r6, r2 - // [0,40] . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add lr, r4 - // [0,41] . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sub.w r4, lr, r4, lsl #1 - // [0,42] . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smull r11, r12, r12, r11 - // [0,43] . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smlal r6, r5, r10, r3 - // [0,44] . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add.w r10, r4, r1 - // [0,45] . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sub.w r1, r10, r1, lsl #1 - // [0,46] . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vmov r6, s3 - // [0,47] . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add r1, r5 - // [0,48] . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smull r4, r7, r7, r6 - // [0,49] . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str.w r1, [r0, #768] - // [0,50] . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smull r6, r8, r8, r6 - // [0,51] . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sub.w r1, r1, r5, lsl #1 - // [0,52] . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mul r5, r4, r2 - // [0,53] . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str.w r1, [r0, #896] - // [0,54] . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mul r1, r6, r2 - // [0,55] . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smlal r4, r7, r5, r3 - // [0,56] . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smlal r6, r8, r1, r3 - // [0,57] . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vmov r6, s5 - // [0,58] . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mul r1, r11, r2 - // [0,59] . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add.w r5, r9, r7 - // [0,60] . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sub.w r7, r5, r7, lsl #1 - // [0,61] . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smull r6, r4, r5, r6 - // [0,62] . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add.w r5, lr, r8 - // [0,63] . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smlal r11, r12, r1, r3 - // [0,64] . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vmov r9, s6 - // [0,65] . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . mul r1, r6, r2 - // [0,66] . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add.w r11, r10, r12 - // [0,67] . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smull r9, r7, r7, r9 - // [0,68] . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sub.w r12, r11, r12, lsl #1 - // [0,69] . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . smlal r6, r4, r1, r3 - // [0,70] . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . mul r10, r9, r2 - // [0,71] . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . str.w r11, [r0, #512] - // [0,72] . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . add.w r1, r5, r4 - // [0,73] . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . sub.w r11, r5, r8, lsl #1 - // [0,74] . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . sub.w r8, r1, r4, lsl #1 - // [0,75] . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . smlal r9, r7, r10, r3 - // [0,76] . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . str.w r12, [r0, #640] - // [0,77] . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . add.w r4, r11, r7 - // [0,78] . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . str.w r8, [r0, #128] - // [0,79] . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . str.w r4, [r0, #256] - // [0,80] . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . sub.w r4, r4, r7, lsl #1 - // [0,81] . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . . str.w r4, [r0, #384] - // [0,82] . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . vmov r10, s9 - // [0,83] . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . . str r1, [r0], #4 - // [1,0] . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w r7, [r0, #896] - // [1,1] . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . vmov r4, s2 - // [1,2] . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w r6, [r0, #640] - // [1,3] . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w r9, [r0, #128] - // [1,4] . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . . smull r11, r8, r7, r4 - // [1,5] . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . smull r1, r10, r6, r4 - // [1,6] . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w r5, [r0, #768] - // [1,7] . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . mul r6, r11, r2 - // [1,8] . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . ldr.w r7, [r0, #384] - // [1,9] . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . . mul lr, r1, r2 - // [1,10] . . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . . . . . . . . . . . . . vmov r12, s4 - // [1,11] . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . . smlal r11, r8, r6, r3 - // [1,12] . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . smull r5, r11, r5, r4 - // [1,13] . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . add r7, r8 - // [1,14] . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . smlal r1, r10, lr, r3 - // [1,15] . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . . mul r6, r5, r2 - // [1,16] . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . sub.w lr, r7, r8, lsl #1 - // [1,17] . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . add r9, r10 - // [1,18] . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . . smull r1, lr, lr, r12 - // [1,19] . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . smlal r5, r11, r6, r3 - // [1,20] . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . ldr.w r6, [r0, #512] - // [1,21] . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . ldr.w r8, [r0, #256] - // [1,22] . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . . mul r5, r1, r2 - // [1,23] . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . sub.w r10, r9, r10, lsl #1 - // [1,24] . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . . . smull r6, r4, r6, r4 - // [1,25] . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . . smlal r1, lr, r5, r3 - // [1,26] . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . add r8, r11 - // [1,27] . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . sub.w r1, r8, r11, lsl #1 - // [1,28] . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . mul r5, r6, r2 - // [1,29] . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . . smull r11, r1, r1, r12 - // [1,30] . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . add.w r12, r10, lr - // [1,31] . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . sub.w lr, r12, lr, lsl #1 - // [1,32] . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . . smlal r6, r4, r5, r3 - // [1,33] . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . . mul r10, r11, r2 - // [1,34] . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . vmov r5, s8 - // [1,35] . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . . smull r6, r5, lr, r5 - // [1,36] . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . ldr.w lr, [r0] - // [1,37] . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . . smlal r11, r1, r10, r3 - // [1,38] . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . vmov r11, s7 - // [1,39] . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . . . mul r10, r6, r2 - // [1,40] . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . add lr, r4 - // [1,41] . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . sub.w r4, lr, r4, lsl #1 - // [1,42] . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . . . smull r11, r12, r12, r11 - // [1,43] . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . . smlal r6, r5, r10, r3 - // [1,44] . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . add.w r10, r4, r1 - // [1,45] . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . sub.w r1, r10, r1, lsl #1 - // [1,46] . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . vmov r6, s3 - // [1,47] . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . add r1, r5 - // [1,48] . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . smull r4, r7, r7, r6 - // [1,49] . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . . str.w r1, [r0, #768] - // [1,50] . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . smull r6, r8, r8, r6 - // [1,51] . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . sub.w r1, r1, r5, lsl #1 - // [1,52] . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . mul r5, r4, r2 - // [1,53] . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . str.w r1, [r0, #896] - // [1,54] . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . . mul r1, r6, r2 - // [1,55] . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . . smlal r4, r7, r5, r3 - // [1,56] . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . . . smlal r6, r8, r1, r3 - // [1,57] . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . vmov r6, s5 - // [1,58] . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . mul r1, r11, r2 - // [1,59] . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . add.w r5, r9, r7 - // [1,60] . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . sub.w r7, r5, r7, lsl #1 - // [1,61] . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . . smull r6, r4, r5, r6 - // [1,62] . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . add.w r5, lr, r8 - // [1,63] . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . . smlal r11, r12, r1, r3 - // [1,64] . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . vmov r9, s6 - // [1,65] . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . mul r1, r6, r2 - // [1,66] . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . add.w r11, r10, r12 - // [1,67] . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . . smull r9, r7, r7, r9 - // [1,68] . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . sub.w r12, r11, r12, lsl #1 - // [1,69] . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . . smlal r6, r4, r1, r3 - // [1,70] . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . mul r10, r9, r2 - // [1,71] . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . . str.w r11, [r0, #512] - // [1,72] . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . add.w r1, r5, r4 - // [1,73] . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . sub.w r11, r5, r8, lsl #1 - // [1,74] . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . sub.w r8, r1, r4, lsl #1 - // [1,75] . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . smlal r9, r7, r10, r3 - // [1,76] . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . . str.w r12, [r0, #640] - // [1,77] . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . add.w r4, r11, r7 - // [1,78] . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . . . str.w r8, [r0, #128] - // [1,79] . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . . str.w r4, [r0, #256] - // [1,80] . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . sub.w r4, r4, r7, lsl #1 - // [1,81] . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . . . str.w r4, [r0, #384] - // [1,82] . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . vmov r10, s9 - // [1,83] . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . . str r1, [r0], #4 - // [2,0] . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . ldr.w r7, [r0, #896] - // [2,1] . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . vmov r4, s2 - // [2,2] . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . ldr.w r6, [r0, #640] - // [2,3] . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . ldr.w r9, [r0, #128] - // [2,4] . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . . smull r11, r8, r7, r4 - // [2,5] . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . . smull r1, r10, r6, r4 - // [2,6] . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . ldr.w r5, [r0, #768] - // [2,7] . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . mul r6, r11, r2 - // [2,8] . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . ldr.w r7, [r0, #384] - // [2,9] . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . . mul lr, r1, r2 - // [2,10] . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . vmov r12, s4 - // [2,11] . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . . smlal r11, r8, r6, r3 - // [2,12] . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . . smull r5, r11, r5, r4 - // [2,13] . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . add r7, r8 - // [2,14] . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . smlal r1, r10, lr, r3 - // [2,15] . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . . mul r6, r5, r2 - // [2,16] . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . sub.w lr, r7, r8, lsl #1 - // [2,17] . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . add r9, r10 - // [2,18] . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . . smull r1, lr, lr, r12 - // [2,19] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . . . smlal r5, r11, r6, r3 - // [2,20] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . ldr.w r6, [r0, #512] - // [2,21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . ldr.w r8, [r0, #256] - // [2,22] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . mul r5, r1, r2 - // [2,23] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . sub.w r10, r9, r10, lsl #1 - // [2,24] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . . smull r6, r4, r6, r4 - // [2,25] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . . smlal r1, lr, r5, r3 - // [2,26] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . add r8, r11 - // [2,27] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . sub.w r1, r8, r11, lsl #1 - // [2,28] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . mul r5, r6, r2 - // [2,29] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . . smull r11, r1, r1, r12 - // [2,30] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . add.w r12, r10, lr - // [2,31] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . sub.w lr, r12, lr, lsl #1 - // [2,32] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . . smlal r6, r4, r5, r3 - // [2,33] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . . . . mul r10, r11, r2 - // [2,34] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . vmov r5, s8 - // [2,35] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . . smull r6, r5, lr, r5 - // [2,36] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . ldr.w lr, [r0] - // [2,37] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . . smlal r11, r1, r10, r3 - // [2,38] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . vmov r11, s7 - // [2,39] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . mul r10, r6, r2 - // [2,40] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . add lr, r4 - // [2,41] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . sub.w r4, lr, r4, lsl #1 - // [2,42] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . . . smull r11, r12, r12, r11 - // [2,43] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . . smlal r6, r5, r10, r3 - // [2,44] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . add.w r10, r4, r1 - // [2,45] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . sub.w r1, r10, r1, lsl #1 - // [2,46] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . vmov r6, s3 - // [2,47] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . add r1, r5 - // [2,48] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . smull r4, r7, r7, r6 - // [2,49] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . . str.w r1, [r0, #768] - // [2,50] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . . smull r6, r8, r8, r6 - // [2,51] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . sub.w r1, r1, r5, lsl #1 - // [2,52] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . mul r5, r4, r2 - // [2,53] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . str.w r1, [r0, #896] - // [2,54] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . mul r1, r6, r2 - // [2,55] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . . smlal r4, r7, r5, r3 - // [2,56] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . . . smlal r6, r8, r1, r3 - // [2,57] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . vmov r6, s5 - // [2,58] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . . mul r1, r11, r2 - // [2,59] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . add.w r5, r9, r7 - // [2,60] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . sub.w r7, r5, r7, lsl #1 - // [2,61] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . smull r6, r4, r5, r6 - // [2,62] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . add.w r5, lr, r8 - // [2,63] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . . smlal r11, r12, r1, r3 - // [2,64] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . vmov r9, s6 - // [2,65] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . . . mul r1, r6, r2 - // [2,66] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . add.w r11, r10, r12 - // [2,67] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . smull r9, r7, r7, r9 - // [2,68] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . sub.w r12, r11, r12, lsl #1 - // [2,69] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . . smlal r6, r4, r1, r3 - // [2,70] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . mul r10, r9, r2 - // [2,71] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . . str.w r11, [r0, #512] - // [2,72] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . add.w r1, r5, r4 - // [2,73] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . sub.w r11, r5, r8, lsl #1 - // [2,74] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . sub.w r8, r1, r4, lsl #1 - // [2,75] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . smlal r9, r7, r10, r3 - // [2,76] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . str.w r12, [r0, #640] - // [2,77] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . add.w r4, r11, r7 - // [2,78] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE . . str.w r8, [r0, #128] - // [2,79] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE . . str.w r4, [r0, #256] - // [2,80] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . sub.w r4, r4, r7, lsl #1 - // [2,81] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeE. . str.w r4, [r0, #384] - // [2,82] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . vmov r10, s9 - // [2,83] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeE str r1, [r0], #4 - // - // - // Average Wait times (based on the timeline view): - // [0]: Executions - // [1]: Average time spent waiting in a scheduler's queue - // [2]: Average time spent waiting in a scheduler's queue while ready - // [3]: Average time elapsed from WB until retire stage - // - // [0] [1] [2] [3] - // 0. 3 0.0 0.0 0.0 ldr.w r7, [r0, #896] - // 1. 3 0.0 0.0 0.0 vmov r4, s2 - // 2. 3 0.0 0.0 0.0 ldr.w r6, [r0, #640] - // 3. 3 0.0 0.0 0.0 ldr.w r9, [r0, #128] - // 4. 3 0.0 0.0 0.0 smull r11, r8, r7, r4 - // 5. 3 0.0 0.0 0.0 smull r1, r10, r6, r4 - // 6. 3 0.0 0.0 0.0 ldr.w r5, [r0, #768] - // 7. 3 0.0 0.0 0.0 mul r6, r11, r2 - // 8. 3 0.0 0.0 0.0 ldr.w r7, [r0, #384] - // 9. 3 0.0 0.0 0.0 mul lr, r1, r2 - // 10. 3 0.0 0.0 0.0 vmov r12, s4 - // 11. 3 0.0 0.0 0.0 smlal r11, r8, r6, r3 - // 12. 3 0.0 0.0 0.0 smull r5, r11, r5, r4 - // 13. 3 0.0 0.0 0.0 add r7, r8 - // 14. 3 0.0 0.0 0.0 smlal r1, r10, lr, r3 - // 15. 3 0.0 0.0 0.0 mul r6, r5, r2 - // 16. 3 0.0 0.0 0.0 sub.w lr, r7, r8, lsl #1 - // 17. 3 0.0 0.0 0.0 add r9, r10 - // 18. 3 0.0 0.0 0.0 smull r1, lr, lr, r12 - // 19. 3 0.0 0.0 0.0 smlal r5, r11, r6, r3 - // 20. 3 0.0 0.0 0.0 ldr.w r6, [r0, #512] - // 21. 3 0.0 0.0 0.0 ldr.w r8, [r0, #256] - // 22. 3 0.0 0.0 0.0 mul r5, r1, r2 - // 23. 3 0.0 0.0 0.0 sub.w r10, r9, r10, lsl #1 - // 24. 3 0.0 0.0 0.0 smull r6, r4, r6, r4 - // 25. 3 0.0 0.0 0.0 smlal r1, lr, r5, r3 - // 26. 3 0.0 0.0 0.0 add r8, r11 - // 27. 3 0.0 0.0 0.0 sub.w r1, r8, r11, lsl #1 - // 28. 3 0.0 0.0 0.0 mul r5, r6, r2 - // 29. 3 0.0 0.0 0.0 smull r11, r1, r1, r12 - // 30. 3 0.0 0.0 0.0 add.w r12, r10, lr - // 31. 3 0.0 0.0 0.0 sub.w lr, r12, lr, lsl #1 - // 32. 3 0.0 0.0 0.0 smlal r6, r4, r5, r3 - // 33. 3 0.0 0.0 0.0 mul r10, r11, r2 - // 34. 3 0.0 0.0 0.0 vmov r5, s8 - // 35. 3 0.0 0.0 0.0 smull r6, r5, lr, r5 - // 36. 3 0.0 0.0 0.0 ldr.w lr, [r0] - // 37. 3 0.0 0.0 0.0 smlal r11, r1, r10, r3 - // 38. 3 0.0 0.0 0.0 vmov r11, s7 - // 39. 3 0.0 0.0 0.0 mul r10, r6, r2 - // 40. 3 0.0 0.0 0.0 add lr, r4 - // 41. 3 0.0 0.0 0.0 sub.w r4, lr, r4, lsl #1 - // 42. 3 0.0 0.0 0.0 smull r11, r12, r12, r11 - // 43. 3 0.0 0.0 0.0 smlal r6, r5, r10, r3 - // 44. 3 0.0 0.0 0.0 add.w r10, r4, r1 - // 45. 3 0.0 0.0 0.0 sub.w r1, r10, r1, lsl #1 - // 46. 3 0.0 0.0 0.0 vmov r6, s3 - // 47. 3 0.0 0.0 0.0 add r1, r5 - // 48. 3 0.0 0.0 0.0 smull r4, r7, r7, r6 - // 49. 3 0.0 0.0 0.0 str.w r1, [r0, #768] - // 50. 3 0.0 0.0 0.0 smull r6, r8, r8, r6 - // 51. 3 0.0 0.0 0.0 sub.w r1, r1, r5, lsl #1 - // 52. 3 0.0 0.0 0.0 mul r5, r4, r2 - // 53. 3 0.0 0.0 0.0 str.w r1, [r0, #896] - // 54. 3 0.0 0.0 0.0 mul r1, r6, r2 - // 55. 3 0.0 0.0 0.0 smlal r4, r7, r5, r3 - // 56. 3 0.0 0.0 0.0 smlal r6, r8, r1, r3 - // 57. 3 0.0 0.0 0.0 vmov r6, s5 - // 58. 3 0.0 0.0 0.0 mul r1, r11, r2 - // 59. 3 0.0 0.0 0.0 add.w r5, r9, r7 - // 60. 3 0.0 0.0 0.0 sub.w r7, r5, r7, lsl #1 - // 61. 3 0.0 0.0 0.0 smull r6, r4, r5, r6 - // 62. 3 0.0 0.0 0.0 add.w r5, lr, r8 - // 63. 3 0.0 0.0 0.0 smlal r11, r12, r1, r3 - // 64. 3 0.0 0.0 0.0 vmov r9, s6 - // 65. 3 0.0 0.0 0.0 mul r1, r6, r2 - // 66. 3 0.0 0.0 0.0 add.w r11, r10, r12 - // 67. 3 0.0 0.0 0.0 smull r9, r7, r7, r9 - // 68. 3 0.0 0.0 0.0 sub.w r12, r11, r12, lsl #1 - // 69. 3 0.0 0.0 0.0 smlal r6, r4, r1, r3 - // 70. 3 0.0 0.0 0.0 mul r10, r9, r2 - // 71. 3 0.0 0.0 0.0 str.w r11, [r0, #512] - // 72. 3 0.0 0.0 0.0 add.w r1, r5, r4 - // 73. 3 0.0 0.0 0.0 sub.w r11, r5, r8, lsl #1 - // 74. 3 0.0 0.0 0.0 sub.w r8, r1, r4, lsl #1 - // 75. 3 0.0 0.0 0.0 smlal r9, r7, r10, r3 - // 76. 3 0.0 0.0 0.0 str.w r12, [r0, #640] - // 77. 3 0.0 0.0 0.0 add.w r4, r11, r7 - // 78. 3 0.0 0.0 0.0 str.w r8, [r0, #128] - // 79. 3 0.0 0.0 0.0 str.w r4, [r0, #256] - // 80. 3 0.0 0.0 0.0 sub.w r4, r4, r7, lsl #1 - // 81. 3 0.0 0.0 0.0 str.w r4, [r0, #384] - // 82. 3 0.0 0.0 0.0 vmov r10, s9 - // 83. 3 0.0 0.0 0.0 str r1, [r0], #4 - // 3 0.0 0.0 0.0 - // - // - // ORIGINAL LLVM MCA STATISTICS (OPTIMIZED) END - // - layer123_end: - - cmp.w ptr_p, temp_l - bne 1b - - pop {R4-R11, PC} - - sub ptr_p, #32*4 - - // stage 4 - 6 - .equ distance, 64 - add.w temp_l, ptr_p, #8*112+8*4*4 // 8 iterations - vmov s9, temp_l - 1: - add.w temp_l, ptr_p, #4*strincr // 4 iterations - vmov s10, temp_l - vmov ptr_zeta, s0 - vldm ptr_zeta!, {s2-s8} - vmov s0, ptr_zeta - 2: - .rept 2 - ldr.w pol0, [ptr_p] - ldr.w pol1, [ptr_p, #1*distance/4] - ldr.w pol2, [ptr_p, #2*distance/4] - ldr.w pol3, [ptr_p, #3*distance/4] - ldr.w pol4, [ptr_p, #4*distance/4] - ldr.w pol5, [ptr_p, #5*distance/4] - ldr.w pol6, [ptr_p, #6*distance/4] - ldr.w pol7, [ptr_p, #7*distance/4] - - _3_layer_CT_32 pol0, pol1, pol2, pol3, pol4, pol5, pol6, pol7, s2, s3, s4, s5, s6, s7, s8, zeta, qinv, q, temp_h, temp_l - - str.w pol1, [ptr_p, #1*distance/4] - str.w pol2, [ptr_p, #2*distance/4] - str.w pol3, [ptr_p, #3*distance/4] - str.w pol4, [ptr_p, #4*distance/4] - str.w pol5, [ptr_p, #5*distance/4] - str.w pol6, [ptr_p, #6*distance/4] - str.w pol7, [ptr_p, #7*distance/4] - str pol0, [ptr_p], #4 - .endr - vmov temp_l, s10 - cmp.w ptr_p, temp_l - bne 2b - - add.w ptr_p, #112 - vmov temp_l, s9 - cmp.w ptr_p, temp_l - bne 1b - - sub ptr_p, #4*4*8+112*8 - vmov ptr_zeta, s0 - // stage 7 and 8 - add cntr, ptr_p, #1024 // 64 iterations - 1: - ldr.w zeta1, [ptr_zeta, #4] // z128,..., z254 - ldr.w zeta2, [ptr_zeta, #8] // z129,..., z255 - ldr zeta0, [ptr_zeta], #12 // z64, ..., z127 - ldr.w pol0, [ptr_p] // 1*4 - ldr.w pol1, [ptr_p, #4] - ldr.w pol2, [ptr_p, #8] - ldr.w pol3, [ptr_p, #12] - - _2_layer_CT_32 pol0, pol1, pol2, pol3, zeta0, zeta1, zeta2, qinv, q, temp_h, temp_l - - str.w pol1, [ptr_p, #4] - str.w pol2, [ptr_p, #8] - str.w pol3, [ptr_p, #12] - str pol0, [ptr_p], #16 - - cmp.w cntr, ptr_p - bne.w 1b - - // restore registers - pop {R4-R11, PC} - - // unbind aliases - .unreq ptr_p - .unreq ptr_zeta - .unreq qinv - .unreq q - .unreq cntr - .unreq pol0 - .unreq pol1 - .unreq pol2 - .unreq pol3 - .unreq temp_h - .unreq temp_l - .unreq zeta0 - .unreq zeta1 - .unreq zeta2 - -.ltorg -// ############################## -// ########## NTT^-1 ########## -// ############################## - -// void pqcrystals_dilithium_invntt_tomont(int32_t p[N]); -.global pqcrystals_dilithium_invntt_tomont2 -#ifndef __CLANG__ -.type pqcrystals_dilithium_invntt_tomont2,%function -#endif -.align 2 -pqcrystals_dilithium_invntt_tomont2: - // bind aliases - ptr_p .req R0 - ptr_zeta .req R1 - zeta .req R1 - qinv .req R2 - q .req R3 - cntr .req R4 - pol4 .req R4 - pol0 .req R5 - pol1 .req R6 - pol2 .req R7 - pol3 .req R8 - temp_h .req R9 - temp_l .req R10 - zeta0 .req R11 - zeta1 .req R12 - zeta2 .req R14 - pol5 .req R11 - pol6 .req R12 - pol7 .req R14 - - // preserve registers - push {R4-R11, R14} - - // load constants, ptr - ldr.w qinv, inv_ntt_asm_smull_qinv // -qinv_signed - ldr.w q, inv_ntt_asm_smull_q - - // stage 1 - 3 - .equ distance, 16 - .equ strincr, 32 - - ldr ptr_zeta, =zetas_new332inv - vldm ptr_zeta!, {s2-s8} - vmov s0, ptr_zeta - - add.w temp_l, ptr_p, #32*strincr // 32 iterations - vmov s9, temp_l - 1: - ldr.w pol4, [ptr_p, #4*distance/4] - ldr.w pol1, [ptr_p, #5*distance/4] - ldr.w pol6, [ptr_p, #6*distance/4] - ldr.w pol3, [ptr_p, #7*distance/4] - _3_layer_inv_butterfly_light_fast_first pol0, pol1, pol2, pol3, pol4, pol5, pol6, pol7, s2, s3, s4, s5, s6, s7, s8, zeta, qinv, q, temp_h, temp_l - - ldr.w pol0, [ptr_p] - ldr.w pol1, [ptr_p, #1*distance/4] - ldr.w pol2, [ptr_p, #2*distance/4] - ldr.w pol3, [ptr_p, #3*distance/4] - _3_layer_inv_butterfly_light_fast_second pol0, pol1, pol2, pol3, pol4, pol5, pol6, pol7, s2, s3, s4, s5, s6, s7, s8, zeta, qinv, q, temp_h, temp_l - - str.w pol1, [ptr_p, #1*distance/4] - str.w pol2, [ptr_p, #2*distance/4] - str.w pol3, [ptr_p, #3*distance/4] - str.w pol4, [ptr_p, #4*distance/4] - str.w pol5, [ptr_p, #5*distance/4] - str.w pol6, [ptr_p, #6*distance/4] - str.w pol7, [ptr_p, #7*distance/4] - str pol0, [ptr_p], #strincr - vmov temp_l, s9 - cmp.w ptr_p, temp_l - bne.w 1b - - sub ptr_p, #32*strincr - - // stage 4 - 6 - .equ distance, 128 - .equ strincr, 256 - - // iteration 0 - movw temp_l, #4 - add.w temp_l, ptr_p, #4*256 // 4 iterations - vmov s10, temp_l - - vmov ptr_zeta, s0 - vldm ptr_zeta!, {s2-s8} - vmov s0, ptr_zeta - - 2: - ldr.w pol4, [ptr_p, #4*distance/4] - ldr.w pol1, [ptr_p, #5*distance/4] - ldr.w pol6, [ptr_p, #6*distance/4] - ldr.w pol3, [ptr_p, #7*distance/4] - _3_layer_inv_butterfly_light_fast_first pol0, pol1, pol2, pol3, pol4, pol5, pol6, pol7, s2, s3, s4, s5, s6, s7, s8, zeta, qinv, q, temp_h, temp_l - - ldr.w pol0, [ptr_p] - ldr.w pol1, [ptr_p, #1*distance/4] - ldr.w pol2, [ptr_p, #2*distance/4] - ldr.w pol3, [ptr_p, #3*distance/4] - _3_layer_inv_butterfly_light_fast_second pol0, pol1, pol2, pol3, pol4, pol5, pol6, pol7, s2, s3, s4, s5, s6, s7, s8, zeta, qinv, q, temp_h, temp_l - - str.w pol1, [ptr_p, #1*distance/4] - str.w pol2, [ptr_p, #2*distance/4] - str.w pol3, [ptr_p, #3*distance/4] - str.w pol4, [ptr_p, #4*distance/4] - str.w pol5, [ptr_p, #5*distance/4] - str.w pol6, [ptr_p, #6*distance/4] - str.w pol7, [ptr_p, #7*distance/4] - str.w pol0, [ptr_p] - add.w ptr_p, #strincr - - vmov temp_l, s10 - cmp.w temp_l, ptr_p - bne.w 2b - - sub.w ptr_p, #4*256-4 - - // iteration 1-7 - add.w temp_l, ptr_p, #7*4 // 7 iterations - vmov s9, temp_l - 1: - add.w temp_l, ptr_p, #4*strincr // 4 iterations - vmov s10, temp_l - - vmov ptr_zeta, s0 - vldm ptr_zeta!, {s2-s8} - vmov s0, ptr_zeta - 2: - ldr.w pol0, [ptr_p] - ldr.w pol1, [ptr_p, #1*distance/4] - ldr.w pol2, [ptr_p, #2*distance/4] - ldr.w pol3, [ptr_p, #3*distance/4] - ldr.w pol4, [ptr_p, #4*distance/4] - ldr.w pol5, [ptr_p, #5*distance/4] - ldr.w pol6, [ptr_p, #6*distance/4] - ldr.w pol7, [ptr_p, #7*distance/4] - - _3_layer_inv_CT_32 pol0, pol1, pol2, pol3, pol4, pol5, pol6, pol7, s2, s3, s4, s5, s6, s7, s8, zeta, qinv, q, temp_h, temp_l - - str.w pol1, [ptr_p, #1*distance/4] - str.w pol2, [ptr_p, #2*distance/4] - str.w pol3, [ptr_p, #3*distance/4] - str.w pol4, [ptr_p, #4*distance/4] - str.w pol5, [ptr_p, #5*distance/4] - str.w pol6, [ptr_p, #6*distance/4] - str.w pol7, [ptr_p, #7*distance/4] - str.w pol0, [ptr_p] - add.w ptr_p, #strincr - - vmov temp_l, s10 - cmp.w ptr_p, temp_l - bne 2b - sub.w ptr_p, #4*strincr-4 - - vmov temp_l, s9 - cmp.w temp_l, ptr_p - bne 1b - - sub ptr_p, #8*4 - vmov ptr_zeta, s0 - - // stage 7 and 8 - .equ strincr, 4 - - add.w cntr, ptr_p, #64*strincr // 64 iterations - vmov s9, cntr - 1: - ldr.w zeta1, [ptr_zeta, #4] - ldr.w zeta2, [ptr_zeta, #8] - ldr zeta0, [ptr_zeta], #12 - ldr.w pol0, [ptr_p] - ldr.w pol1, [ptr_p, #256] - ldr.w pol2, [ptr_p, #512] - ldr.w pol3, [ptr_p, #768] - - _2_layer_inv_CT_32 pol0, pol1, pol2, pol3, zeta0, zeta1, zeta2, qinv, q, temp_h, temp_l - - ldr.w zeta1, [ptr_zeta, #4] - ldr.w zeta2, [ptr_zeta, #8] - ldr.w zeta0, [ptr_zeta, #12] - ldr.w cntr, [ptr_zeta], #16 - montgomery_mul_32 pol0, cntr, qinv, q, temp_h, temp_l - montgomery_mul_32 pol1, zeta1, qinv, q, temp_h, temp_l - montgomery_mul_32 pol2, zeta2, qinv, q, temp_h, temp_l - montgomery_mul_32 pol3, zeta0, qinv, q, temp_h, temp_l - - str.w pol1, [ptr_p, #256] - str.w pol2, [ptr_p, #512] - str.w pol3, [ptr_p, #768] - str pol0, [ptr_p], #strincr - - vmov cntr, s9 - cmp.w cntr, ptr_p - bne.w 1b - - // restore registers - pop {R4-R11, PC} - - // unbind aliases - .unreq ptr_p - .unreq ptr_zeta - .unreq qinv - .unreq q - .unreq cntr - .unreq pol0 - .unreq pol1 - .unreq pol2 - .unreq pol3 - .unreq temp_h - .unreq temp_l - .unreq zeta0 - .unreq zeta1 - .unreq zeta2 - -.align 2 -inv_ntt_asm_smull_qinv: -.word 0xfc7fdfff -.align 2 -inv_ntt_asm_smull_q: -.word 8380417 - -.section .rodata - -.type zetas_new332, %object -.align 2 -zetas_new332: -.word 25847, -2608894, -518909, 237124, -777960, -876248, 466468, 1826347, 2725464, 1024112, 2706023, 95776, 3077325, 3530437, 2353451, -1079900, 3585928, -1661693, -3592148, -2537516, 3915439, -359251, -549488, -1119584, -3861115, -3043716, 3574422, -2867647, -2091905, 2619752, -2108549, 3539968, -300467, 2348700, -539299, 3119733, -2118186, -3859737, -1699267, -1643818, 3505694, -3821735, -2884855, -1399561, -3277672, 3507263, -2140649, -1600420, 3699596, 3111497, 1757237, -19422, 811944, 531354, 954230, 3881043, 2680103, 4010497, 280005, 3900724, -2556880, 2071892, -2797779, -3930395, 2091667, 3407706, -1528703, 2316500, 3817976, -3677745, -3342478, 2244091, -3041255, -2446433, -3562462, -1452451, 266997, 2434439, 3475950, -1235728, 3513181, 2176455, -3520352, -3759364, -1585221, -1197226, -3193378, -1257611, 900702, 1859098, 1939314, 909542, 819034, -4083598, 495491, -1613174, -1000202, -43260, -522500, -3190144, -655327, -3122442, -3157330, 2031748, 3207046, -3632928, -3556995, -525098, 126922, -768622, -3595838, 3412210, 342297, 286988, -983419, -2437823, 4108315, 2147896, 3437287, -3342277, 2715295, 1735879, 203044, -2967645, 2842341, 2691481, -3693493, -2590150, 1265009, -411027, 4055324, 1247620, -2477047, 2486353, 1595974, -671102, -3767016, 1250494, -1228525, 2635921, -3548272, -22981, -2994039, 1869119, -1308169, 1903435, -1050970, -381987, -1333058, 1237275, 1349076, -3318210, -1430225, 1852771, -451100, 1312455, -1430430, 3306115, -1962642, -3343383, -1279661, 1917081, 264944, -2546312, -1374803, 508951, 1500165, 777191, 3097992, 2235880, 3406031, 44288, -542412, -2831860, -1100098, -1671176, -1846953, 904516, -2584293, -3724270, 3958618, 594136, -3776993, -3724342, -2013608, 2432395, -8578, 2454455, -164721, 1653064, 1957272, 3369112, -3249728, 185531, -1207385, 2389356, -3183426, 162844, -210977, 1616392, 3014001, 759969, 810149, 1652634, -1316856, -3694233, -1799107, 189548, -3038916, 3523897, -3553272, 3866901, 269760, 3159746, 2213111, -975884, -1851402, 1717735, 472078, -2409325, -426683, 1723600, -177440, -1803090, 1910376, 1315589, -1667432, -1104333, 1341330, -260646, -3833893, 1285669, -2939036, -2235985, -1584928, -420899, -2286327, -812732, 183443, -976891, -1439742, 1612842, -3545687, -3019102, -554416, 3919660, -3881060, -48306, -1362209, -3628969, 3937738, 1400424, 3839961, -846154, 1976782 -.size zetas_new332,.-zetas_new332 - -.type zetas_new332inv, %object -.align 2 -zetas_new332inv: -.word 4193792, 4193792, -25847, 4193792, 518909, -25847, 2608894, 4193792, 4193792, -25847, 4193792, 518909, -25847, 2608894, -466468, -2680103, -3111497, -280005, 19422, -4010497, -1757237, 518909, -466468, 876248, -2680103, 2884855, -3111497, -3119733, 777960, 2091905, 359251, 2108549, 1119584, -2619752, 549488, -25847, 518909, 2608894, -466468, 777960, 876248, -237124, 876248, 2884855, -3119733, 3277672, 3859737, 1399561, 2118186, 2608894, 777960, -237124, 2091905, -2353451, 359251, -1826347, -237124, -2353451, -1826347, -3585928, -1024112, 1079900, -2725464, 4193792, 4193792, -25847, 41978, 3024400, 3975713, -1225192, 2797779, -3839961, 3628969, -1711436, 3835778, 485110, -3954267, -280005, 2797779, -2071892, -2831100, -2698859, -908040, -2292170, 539299, 1430430, -1852771, -3658785, 3512212, 1859141, -1607594, -2680103, -280005, -4010497, 715005, 1483994, -1045894, -980943, -3699596, 1316856, -759969, -955715, 3677139, 3933849, 2719610, 2108549, 539299, -2348700, 1658328, -1403403, 1775852, -2460465, -3915439, -126922, 3632928, 1067023, 3847594, 4179270, 1652689, -466468, -2680103, -3111497, -2953811, -284642, 2507426, -324139, -3881043, -1341330, -1315589, 3990128, -2137097, -4109898, 4092021, 3277672, -3699596, 1600420, 1541634, 3493410, 3487504, 2497815, 2867647, 2477047, 411027, 1654972, 1326223, -2608226, -2752209, 2091905, 2108549, -2619752, 1836700, 2945615, -1908953, 729864, 3821735, -3958618, -904516, 2080615, 1555380, -3471815, -1978758, -3585928, -3915439, 2537516, -892788, -553664, -3095038, 658596, -3530437, 1585221, -2176455, 3355482, -1783485, 2780552, -3623330, 518909, -466468, 876248, -442683, 2523147, -2847660, -3683140, 2556880, 1439742, 812732, 774207, -3168108, 1877157, 3406477, 19422, -3881043, -954230, -214686, -1182619, 2453526, -2201920, 300467, 1308169, 22981, 3614022, 2136260, 1459487, -2233803, 2884855, 3277672, 1399561, 394072, -3933227, 4136064, 156486, 2140649, 3249728, -1653064, 1596950, 633578, 2722529, -554462, 1119584, 2867647, -3574422, 1004840, 191586, 3969463, 1161373, 3592148, 1000202, 4083598, 3189243, 3561667, -3650125, 3490511, 777960, 2091905, 359251, -1829156, -3707725, -661807, 1144558, -531354, 1851402, -3159746, 1543095, -2903948, 1505516, -1500460, 3859737, 3821735, -3505694, -2413330, 3908886, -1203856, 3570263, 3043716, -2715295, -2147896, 758741, 3917553, -2414897, -1613811, -2353451, -3585928, 1079900, 990020, -719638, 2718792, 2260310, 1643818, -3097992, -508951, -783456, -2089539, 2616547, 4060031, -1024112, -3530437, -3077325, -1821861, 1920615, 3988525, 2048419, -95776, 3041255, 3677745, -971504, 2190617, 2311312, -1170082, -25847, 518909, 2608894, 1261528, -2073537, -959585, 3948120, -2071892, 3881060, 3019102, -1342633, -1115066, 3589694, -1929116, -4010497, 2556880, -3900724, 3360006, 1758630, -2306989, -1841637, -2348700, -1349076, 381987, -1699982, 3189673, 3531558, -1210546, -3111497, 19422, -1757237, 2977353, 2612035, -2718155, -1544829, 1600420, 210977, -2389356, 2052582, -2737802, 2383976, -450259, -2619752, 300467, -3539968, 1698289, -4065084, -644023, -1114140, 2537516, 3157330, 3190144, -993399, -2220524, 2920588, 252737, 876248, 2884855, -3119733, 1490985, -34731, -1212610, -3183745, -954230, 177440, 2409325, -3302554, -2390327, -2749545, 653128, 1399561, 2140649, -3507263, -3745105, -1942293, -3367121, 2734884, -3574422, 3693493, 2967645, 1393803, -2467905, 1786029, -1633410, 359251, 1119584, 549488, -2824548, -1325638, -2207625, -2601586, -3505694, 1100098, -44288, 3478676, -2457992, -1617107, 2551364, 1079900, 3592148, 1661693, 1593929, 318899, -3366475, 3118416, -3077325, -3475950, 1452451, 3772814, 1424805, -3391376, 632820, 2608894, 777960, -237124, 2062597, 4064335, 2197148, -1127864, -3900724, 1584928, -1285669, 2525341, -896437, -1915773, 1792087, -1757237, -531354, -811944, 938441, -674578, 2876837, 3959371, -3539968, 1228525, 671102, 1219592, -3853560, 2630979, -2134676, -3119733, 3859737, 2118186, -2432637, 2746655, 718593, -2353280, -3507263, 8578, 3724342, -34852, 1387945, 358956, 1604944, 549488, 3043716, 3861115, 1290746, 3208584, 2538711, -1442830, 1661693, -1939314, 1257611, -367371, -1308058, 264382, 2614173, -237124, -2353451, -1826347, 2050674, 592050, -138487, 2310528, -811944, 3553272, -189548, -2728561, -4168358, -79, 3844932, 2118186, 1643818, 1699267, 500408, 743398, 879633, -3105206, 3861115, 983419, -3412210, 712597, -23479, 3729381, -1010481, -1826347, -1024112, -2725464, -2361217, -1864453, 3850522, 2337144, 1699267, -264944, 3343383, 3842267, 4181974, -4032642, 3983585, -2725464, -95776, -2706023, 260345, 2526550, 2000777, 987079, -2706023, 1528703, 3930395, -3030761, -3082055, -2374824, 1836319 -.size zetas_new332inv,.-zetas_new332inv \ No newline at end of file